From 667dd5d4ac155eff052965327a0fbcd7e4bc243f Mon Sep 17 00:00:00 2001
From: S34N <12197162+S34NW@users.noreply.github.com>
Date: Tue, 8 Nov 2022 23:08:40 +0000
Subject: [PATCH] 515 Compatibility (#19636)
* 515 compat
* double spaces
* Callback documentation, aa review
* spacing
* NAMEOF_STATIC
* big beta
---
_build_dependencies.sh | 2 +-
code/__DEFINES/rust_g.dm | 2 -
code/__HELPERS/debugger.dm | 4 +-
code/__HELPERS/game.dm | 2 +-
code/__HELPERS/mobs.dm | 6 +--
code/__HELPERS/qdel.dm | 6 +--
code/__HELPERS/sorts/InsertSort.dm | 2 +-
code/__HELPERS/sorts/MergeSort.dm | 2 +-
code/__HELPERS/sorts/TimSort.dm | 2 +-
code/__HELPERS/unsorted.dm | 4 +-
code/__byond_version_compat.dm | 17 +++++++
code/_onclick/drag_drop.dm | 2 +-
code/_onclick/hud/alert.dm | 2 +-
code/_onclick/hud/parallax.dm | 2 +-
code/controllers/subsystem/assets.dm | 2 +-
code/controllers/subsystem/dbcore.dm | 4 +-
code/controllers/subsystem/http.dm | 2 +-
code/controllers/subsystem/nano_mob_hunter.dm | 2 +-
code/controllers/subsystem/ticker.dm | 2 +-
code/controllers/subsystem/timer.dm | 2 +-
code/controllers/subsystem/weather.dm | 2 +-
code/datums/beam.dm | 2 +-
code/datums/callback.dm | 30 +++++-------
code/datums/chatmessage.dm | 4 +-
code/datums/components/caltrop.dm | 2 +-
code/datums/components/decal.dm | 10 ++--
code/datums/components/ducttape.dm | 8 ++--
code/datums/components/edit_complainer.dm | 2 +-
code/datums/components/emissive_blocker.dm | 2 +-
code/datums/components/footstep.dm | 8 ++--
code/datums/components/label.dm | 4 +-
.../components/largeobjecttransparency.dm | 10 ++--
code/datums/components/material_container.dm | 4 +-
code/datums/components/orbiter.dm | 24 +++++-----
code/datums/components/paintable.dm | 2 +-
code/datums/components/persistent_overlay.dm | 6 +--
code/datums/components/proximity_monitor.dm | 12 ++---
code/datums/components/radioactive.dm | 8 ++--
code/datums/components/slippery.dm | 2 +-
code/datums/components/spawner.dm | 2 +-
code/datums/components/spooky.dm | 2 +-
code/datums/components/squeak.dm | 24 +++++-----
code/datums/components/surgery_initiator.dm | 6 +--
code/datums/components/swarming.dm | 4 +-
.../diseases/advance/symptoms/shedding.dm | 4 +-
code/datums/diseases/anxiety.dm | 2 +-
code/datums/elements/_element.dm | 2 +-
code/datums/elements/earhealing.dm | 2 +-
code/datums/elements/rad_insulation.dm | 6 +--
code/datums/elements/waddling.dm | 4 +-
code/datums/log_viewer.dm | 4 +-
code/datums/looping_sounds/looping_sound.dm | 4 +-
code/datums/mind.dm | 6 +--
code/datums/spells/charge_up.dm | 4 +-
code/datums/spells/ethereal_jaunt.dm | 2 +-
code/datums/spells/genetic.dm | 2 +-
code/datums/spells/knock.dm | 4 +-
code/datums/spells/lightning.dm | 2 +-
code/datums/spells/mimic.dm | 8 ++--
code/datums/status_effects/debuffs.dm | 2 +-
code/datums/status_effects/gas.dm | 2 +-
code/datums/tgs_event_handler.dm | 2 +-
code/datums/weather/weather.dm | 6 +--
code/datums/wires/airlock.dm | 10 ++--
code/datums/wires/alarm.dm | 4 +-
code/datums/wires/apc.dm | 6 +--
code/datums/wires/autolathe.dm | 6 +--
code/datums/wires/nuclearbomb.dm | 4 +-
code/datums/wires/suitstorage.dm | 2 +-
code/game/area/areas.dm | 16 +++----
code/game/atoms.dm | 6 +--
code/game/atoms_movable.dm | 6 +--
code/game/dna/dna_modifier.dm | 6 +--
code/game/dna/mutations/powers.dm | 2 +-
code/game/gamemodes/blob/blob.dm | 10 ++--
code/game/gamemodes/blob/blobs/core.dm | 4 +-
code/game/gamemodes/blob/overmind.dm | 2 +-
code/game/gamemodes/cult/blood_magic.dm | 4 +-
code/game/gamemodes/cult/cult.dm | 6 +--
code/game/gamemodes/cult/cult_items.dm | 2 +-
code/game/gamemodes/cult/runes.dm | 8 ++--
code/game/gamemodes/game_mode.dm | 2 +-
.../gamemodes/malfunction/Malf_Modules.dm | 8 ++--
.../gamemodes/miniantags/abduction/gland.dm | 4 +-
.../miniantags/guardian/host_actions.dm | 2 +-
.../miniantags/guardian/types/bomb.dm | 2 +-
.../miniantags/guardian/types/charger.dm | 2 +-
code/game/gamemodes/miniantags/morph/morph.dm | 2 +-
.../miniantags/morph/spells/ambush.dm | 2 +-
.../miniantags/morph/spells/open_vent.dm | 2 +-
.../miniantags/morph/spells/pass_airlock.dm | 2 +-
.../gamemodes/miniantags/revenant/revenant.dm | 4 +-
.../miniantags/revenant/revenant_abilities.dm | 4 +-
.../miniantags/slaughter/slaughter.dm | 2 +-
code/game/gamemodes/nuclear/nuclearbomb.dm | 4 +-
code/game/gamemodes/nuclear/pinpointer.dm | 2 +-
code/game/gamemodes/objective.dm | 2 +-
code/game/gamemodes/revolution/revolution.dm | 2 +-
code/game/gamemodes/wizard/soulstone.dm | 2 +-
code/game/gamemodes/wizard/wizard.dm | 4 +-
code/game/jobs/job/support_chaplain.dm | 2 +-
code/game/machinery/ai_slipper.dm | 2 +-
code/game/machinery/autolathe.dm | 2 +-
code/game/machinery/buttons.dm | 12 ++---
code/game/machinery/cloning.dm | 4 +-
code/game/machinery/computer/aifixer.dm | 2 +-
code/game/machinery/computer/computer.dm | 2 +-
code/game/machinery/computer/medical.dm | 2 +-
code/game/machinery/computer/message.dm | 2 +-
code/game/machinery/computer/security.dm | 4 +-
code/game/machinery/computer/station_alert.dm | 4 +-
code/game/machinery/cryopod.dm | 2 +-
code/game/machinery/dance_machine.dm | 2 +-
code/game/machinery/deployable.dm | 6 +--
code/game/machinery/doors/airlock.dm | 16 +++----
code/game/machinery/doors/brigdoors.dm | 10 ++--
code/game/machinery/doors/door.dm | 2 +-
code/game/machinery/doors/firedoor.dm | 4 +-
code/game/machinery/doors/windowdoor.dm | 4 +-
code/game/machinery/doppler_array.dm | 2 +-
code/game/machinery/magnet.dm | 2 +-
code/game/machinery/mass_driver.dm | 2 +-
code/game/machinery/recycler.dm | 2 +-
code/game/machinery/shieldgen.dm | 4 +-
code/game/machinery/slotmachine.dm | 2 +-
code/game/machinery/suit_storage_unit.dm | 4 +-
code/game/machinery/syndicatebomb.dm | 4 +-
code/game/machinery/tcomms/_base.dm | 2 +-
code/game/machinery/teleporter.dm | 4 +-
code/game/machinery/transformer.dm | 6 +--
code/game/machinery/vending.dm | 4 +-
code/game/mecha/equipment/mecha_equipment.dm | 2 +-
code/game/mecha/equipment/tools/work_tools.dm | 2 +-
code/game/mecha/mech_bay.dm | 2 +-
code/game/mecha/mech_fabricator.dm | 8 ++--
code/game/mecha/mecha.dm | 4 +-
code/game/objects/effects/anomalies.dm | 4 +-
.../effects/decals/Cleanable/humans.dm | 2 +-
.../effects/effect_system/effect_system.dm | 4 +-
.../effect_system/effects_chem_smoke.dm | 2 +-
.../effect_system/effects_explosion.dm | 2 +-
.../effects/effect_system/effects_smoke.dm | 4 +-
.../effects/effect_system/effects_sparks.dm | 2 +-
code/game/objects/items.dm | 4 +-
code/game/objects/items/candle.dm | 2 +-
code/game/objects/items/dehy_carp.dm | 2 +-
code/game/objects/items/devices/aicard.dm | 2 +-
.../objects/items/devices/geiger_counter.dm | 4 +-
.../objects/items/devices/handheld_defib.dm | 10 ++--
.../objects/items/devices/radio/intercom.dm | 2 +-
.../game/objects/items/devices/radio/radio.dm | 6 +--
code/game/objects/items/devices/scanners.dm | 6 +--
code/game/objects/items/flag.dm | 2 +-
code/game/objects/items/his_grace.dm | 4 +-
code/game/objects/items/theft_items.dm | 4 +-
.../objects/items/tools/tool_behaviour.dm | 2 +-
code/game/objects/items/toys.dm | 12 ++---
code/game/objects/items/weapons/RCD.dm | 4 +-
code/game/objects/items/weapons/dice.dm | 4 +-
code/game/objects/items/weapons/explosives.dm | 10 ++--
.../items/weapons/grenades/chem_grenade.dm | 2 +-
.../items/weapons/grenades/ghettobomb.dm | 2 +-
.../objects/items/weapons/holy_weapons.dm | 2 +-
.../objects/items/weapons/implants/implant.dm | 4 +-
.../items/weapons/implants/implant_emp.dm | 2 +-
code/game/objects/items/weapons/legcuffs.dm | 10 ++--
code/game/objects/items/weapons/melee/misc.dm | 4 +-
code/game/objects/items/weapons/rpd.dm | 2 +-
.../objects/items/weapons/storage/bible.dm | 2 +-
code/game/objects/items/weapons/stunbaton.dm | 2 +-
code/game/objects/items/weapons/twohanded.dm | 4 +-
code/game/objects/obj_defense.dm | 2 +-
code/game/objects/objs.dm | 2 +-
code/game/objects/structures/barsign.dm | 2 +-
.../structures/crates_lockers/closets.dm | 2 +-
.../crates_lockers/closets/cardboardbox.dm | 2 +-
.../closets/secure/secure_closets.dm | 2 +-
code/game/objects/structures/fence.dm | 2 +-
code/game/objects/structures/guillotine.dm | 8 ++--
code/game/objects/structures/holosign.dm | 6 +--
code/game/objects/structures/inflatable.dm | 2 +-
.../structures/lavaland/necropolis_tendril.dm | 2 +-
code/game/objects/structures/mineral_doors.dm | 2 +-
code/game/objects/structures/nest.dm | 2 +-
code/game/objects/structures/railings.dm | 2 +-
code/game/objects/structures/safe.dm | 2 +-
code/game/objects/structures/tables_racks.dm | 2 +-
.../structures/transit_tubes/station.dm | 8 ++--
code/game/objects/structures/watercloset.dm | 4 +-
code/game/objects/structures/window.dm | 10 ++--
code/game/turfs/simulated.dm | 2 +-
code/game/turfs/simulated/floor/chasm.dm | 2 +-
code/game/turfs/simulated/floor/misc_floor.dm | 2 +-
code/game/turfs/simulated/minerals.dm | 4 +-
code/game/turfs/turf.dm | 4 +-
code/modules/admin/IsBanned.dm | 12 ++---
code/modules/admin/centcom_ban_db.dm | 2 +-
code/modules/admin/topic.dm | 2 +-
code/modules/admin/verbs/deathsquad.dm | 2 +-
.../antagonists/_common/antag_datum.dm | 2 +-
.../changeling/powers/biodegrade.dm | 10 ++--
.../changeling/powers/fakedeath.dm | 2 +-
.../changeling/powers/fleshmend.dm | 2 +-
.../antagonists/changeling/powers/linglink.dm | 2 +-
.../changeling/powers/tiny_prick.dm | 4 +-
.../contractor/datums/syndicate_contract.dm | 10 ++--
.../vampire_powers/dantalion_powers.dm | 4 +-
.../vampire_powers/gargantua_powers.dm | 12 ++---
.../vampire_powers/hemomancer_powers.dm | 2 +-
.../vampire/vampire_powers/umbrae_powers.dm | 4 +-
.../vampire/vampire_powers/vampire_powers.dm | 2 +-
code/modules/arcade/claw_game.dm | 2 +-
code/modules/arcade/mob_hunt/mob_avatar.dm | 4 +-
code/modules/assembly/assembly.dm | 4 +-
code/modules/assembly/infrared.dm | 2 +-
code/modules/assembly/proximity.dm | 2 +-
code/modules/assembly/signaler.dm | 2 +-
code/modules/assembly/timer.dm | 2 +-
.../awaymissions/mission_code/beach.dm | 6 +--
code/modules/client/client_procs.dm | 10 ++--
.../client/preference/link_processing.dm | 2 +-
.../preference/preferences_volume_mixer.dm | 2 +-
code/modules/clothing/shoes/miscellaneous.dm | 2 +-
code/modules/clothing/suits/armor.dm | 6 +--
code/modules/customitems/item_defines.dm | 2 +-
code/modules/detective_work/scanner.dm | 4 +-
code/modules/events/abductor.dm | 4 +-
code/modules/events/alien_infestation.dm | 2 +-
code/modules/events/blob.dm | 2 +-
code/modules/events/brand_intelligence.dm | 2 +-
.../modules/events/communications_blackout.dm | 2 +-
code/modules/events/door_runtime.dm | 6 +--
code/modules/events/dust.dm | 2 +-
code/modules/events/electrical_storm.dm | 2 +-
code/modules/events/meaty_ores.dm | 2 +-
code/modules/events/meteors.dm | 2 +-
code/modules/events/sentience.dm | 2 +-
code/modules/events/slaughterevent.dm | 2 +-
code/modules/events/spacevine.dm | 2 +-
code/modules/events/spider_terror.dm | 2 +-
code/modules/events/tear.dm | 8 ++--
code/modules/events/traders.dm | 4 +-
code/modules/events/wallrot.dm | 2 +-
code/modules/flufftext/Dreaming.dm | 4 +-
.../food_and_drinks/drinks/drinks/cans.dm | 10 ++--
.../kitchen_machinery/cooker.dm | 2 +-
.../kitchen_machinery/deep_fryer.dm | 4 +-
.../kitchen_machinery/gibber.dm | 4 +-
.../kitchen_machinery/smartfridge.dm | 2 +-
code/modules/hallucinations/effects/common.dm | 2 +-
code/modules/hallucinations/effects/major.dm | 14 +++---
code/modules/hallucinations/effects/minor.dm | 6 +--
.../hallucinations/effects/moderate.dm | 2 +-
code/modules/hallucinations/hallucinations.dm | 4 +-
code/modules/hydroponics/biogenerator.dm | 2 +-
code/modules/hydroponics/fermenting_barrel.dm | 2 +-
code/modules/hydroponics/grown/citrus.dm | 2 +-
code/modules/instruments/_instrument_data.dm | 2 +-
.../instruments/objs/items/headphones.dm | 4 +-
code/modules/instruments/songs/_song_ui.dm | 2 +-
code/modules/library/book.dm | 2 +-
code/modules/library/library_equipment.dm | 4 +-
.../martial_arts/combos/cqc/restrain.dm | 2 +-
.../combos/plasma_fist/tornado_sweep.dm | 2 +-
.../mining/equipment/kinetic_crusher.dm | 6 +--
.../mining/equipment/regenerative_core.dm | 4 +-
code/modules/mining/equipment/resonator.dm | 2 +-
.../mining/equipment/wormhole_jaunter.dm | 4 +-
code/modules/mining/lavaland/ash_flora.dm | 2 +-
.../mining/lavaland/loot/ashdragon_loot.dm | 6 +--
.../mining/lavaland/loot/hierophant_loot.dm | 26 +++++-----
.../mining/lavaland/loot/tendril_loot.dm | 4 +-
.../mining/lavaland/necropolis_chests.dm | 30 ++++++------
code/modules/mining/machine_redemption.dm | 2 +-
code/modules/mining/minebot.dm | 2 +-
code/modules/mob/dead/observer/observer.dm | 4 +-
.../carbon/alien/humanoid/caste/hunter.dm | 2 +-
.../living/carbon/alien/special/facehugger.dm | 4 +-
code/modules/mob/living/carbon/carbon.dm | 8 ++--
code/modules/mob/living/carbon/give.dm | 4 +-
.../mob/living/carbon/human/human_emote.dm | 2 +-
.../living/carbon/human/species/_species.dm | 4 +-
.../mob/living/carbon/human/species/golem.dm | 4 +-
.../mob/living/carbon/human/species/moth.dm | 10 ++--
.../mob/living/carbon/human/species/slime.dm | 4 +-
code/modules/mob/living/death.dm | 6 +--
code/modules/mob/living/init_signals.dm | 32 ++++++-------
code/modules/mob/living/living.dm | 2 +-
code/modules/mob/living/say.dm | 2 +-
.../living/silicon/pai/software/pai_apps.dm | 2 +-
.../mob/living/silicon/robot/drone/drone.dm | 2 +-
.../modules/mob/living/silicon/robot/robot.dm | 2 +-
.../mob/living/silicon/robot/robot_modules.dm | 2 +-
code/modules/mob/living/silicon/silicon.dm | 6 +--
.../mob/living/simple_animal/bot/bot.dm | 14 +++---
.../mob/living/simple_animal/bot/cleanbot.dm | 2 +-
.../mob/living/simple_animal/bot/ed209bot.dm | 12 ++---
.../mob/living/simple_animal/bot/floorbot.dm | 10 ++--
.../mob/living/simple_animal/bot/griefsky.dm | 6 +--
.../mob/living/simple_animal/bot/honkbot.dm | 26 +++++-----
.../mob/living/simple_animal/bot/medbot.dm | 2 +-
.../mob/living/simple_animal/bot/mulebot.dm | 8 ++--
.../mob/living/simple_animal/bot/secbot.dm | 10 ++--
.../mob/living/simple_animal/friendly/dog.dm | 4 +-
.../simple_animal/hostile/floorcluwne.dm | 10 ++--
.../living/simple_animal/hostile/headslug.dm | 2 +-
.../living/simple_animal/hostile/hostile.dm | 10 ++--
.../hostile/megafauna/ancient_robot.dm | 18 +++----
.../hostile/megafauna/blood_drunk_miner.dm | 6 +--
.../hostile/megafauna/bubblegum.dm | 10 ++--
.../hostile/megafauna/colossus.dm | 4 +-
.../simple_animal/hostile/megafauna/drake.dm | 20 ++++----
.../hostile/megafauna/hierophant.dm | 30 ++++++------
.../simple_animal/hostile/megafauna/legion.dm | 2 +-
.../hostile/mining/elites/elite.dm | 22 ++++-----
.../mining/elites/goliath_broodmother.dm | 8 ++--
.../hostile/mining/elites/herald.dm | 14 +++---
.../hostile/mining/elites/legionnaire.dm | 6 +--
.../hostile/mining/elites/pandora.dm | 10 ++--
.../simple_animal/hostile/mining/goldgrub.dm | 2 +-
.../simple_animal/hostile/mining/goliath.dm | 6 +--
.../simple_animal/hostile/mining/hivelord.dm | 2 +-
.../living/simple_animal/hostile/mushroom.dm | 2 +-
.../simple_animal/hostile/retaliate/drone.dm | 2 +-
.../hostile/terror_spiders/actions.dm | 2 +-
.../hostile/terror_spiders/terror_spiders.dm | 4 +-
.../simple_animal/hostile/venus_human_trap.dm | 2 +-
.../mob/living/simple_animal/slime/life.dm | 2 +-
code/modules/mob/living/status_procs.dm | 2 +-
code/modules/mob/living/update_status.dm | 4 +-
code/modules/mob/mob.dm | 2 +-
code/modules/mob/mob_helpers.dm | 4 +-
code/modules/mob/transform_procs.dm | 6 +--
code/modules/newscaster/obj/newscaster.dm | 4 +-
code/modules/paperwork/faxmachine.dm | 2 +-
code/modules/paperwork/photography.dm | 4 +-
code/modules/paperwork/ticketmachine.dm | 4 +-
code/modules/pda/core_apps.dm | 2 +-
code/modules/pda/mob_hunt_game_app.dm | 2 +-
code/modules/power/apc.dm | 16 +++----
code/modules/power/cable.dm | 2 +-
code/modules/power/lighting.dm | 10 ++--
.../power/singularity/field_generator.dm | 2 +-
code/modules/power/singularity/narsie.dm | 4 +-
.../particle_accelerator/particle.dm | 8 ++--
code/modules/power/tesla/coil.dm | 2 +-
code/modules/power/tesla/energy_ball.dm | 8 ++--
code/modules/projectiles/gun.dm | 4 +-
.../guns/energy/kinetic_accelerator.dm | 4 +-
.../projectiles/guns/energy/special.dm | 4 +-
code/modules/projectiles/guns/medbeam.dm | 2 +-
code/modules/projectiles/projectile/energy.dm | 2 +-
.../reagents/chemistry/reagents/alcohol.dm | 12 ++---
.../chemistry/recipes/pyrotechnics.dm | 2 +-
.../chemistry/recipes/slime_extracts.dm | 8 ++--
.../reagent_containers/glass_containers.dm | 2 +-
.../reagents/reagent_containers/spray.dm | 2 +-
code/modules/recycling/conveyor2.dm | 4 +-
code/modules/recycling/disposal.dm | 4 +-
code/modules/research/rdconsole.dm | 16 +++----
code/modules/research/rdmachines.dm | 2 +-
.../research/xenobiology/xenobio_camera.dm | 12 ++---
.../research/xenobiology/xenobiology.dm | 2 +-
code/modules/response_team/ert.dm | 4 +-
.../ruins/lavalandruin_code/fountain_hall.dm | 2 +-
.../ruins/lavalandruin_code/sin_ruins.dm | 4 +-
.../ruins/objects_and_mobs/necropolis_gate.dm | 6 +--
.../security_levels/security_levels.dm | 6 +--
code/modules/shuttle/on_move.dm | 8 ++--
code/modules/surgery/organs/augments_arms.dm | 4 +-
.../surgery/organs/augments_internal.dm | 16 +++----
code/modules/surgery/organs/blood.dm | 2 +-
code/modules/surgery/organs/body_egg.dm | 4 +-
code/modules/surgery/organs/heart.dm | 48 +++++++++----------
code/modules/surgery/organs/organ_external.dm | 4 +-
code/modules/telesci/gps.dm | 2 +-
paradise.dme | 1 +
tgui/packages/tgui/public/tgui.html | 5 +-
378 files changed, 928 insertions(+), 919 deletions(-)
create mode 100644 code/__byond_version_compat.dm
diff --git a/_build_dependencies.sh b/_build_dependencies.sh
index b646f4700ca..a38bba9be9c 100644
--- a/_build_dependencies.sh
+++ b/_build_dependencies.sh
@@ -10,6 +10,6 @@ export STABLE_BYOND_MINOR=1589
# Beta Byond Major
export BETA_BYOND_MAJOR=515
# Beta Byond Minor
-export BETA_BYOND_MINOR=1593
+export BETA_BYOND_MINOR=1594
# Python version for mapmerge and other tools
export PYTHON_VERSION=3.7.9
diff --git a/code/__DEFINES/rust_g.dm b/code/__DEFINES/rust_g.dm
index 38fa433a549..baab1967f34 100644
--- a/code/__DEFINES/rust_g.dm
+++ b/code/__DEFINES/rust_g.dm
@@ -320,5 +320,3 @@
*/
#define rustg_worley_generate(region_size, threshold, node_per_region_chance, size, node_min, node_max) \
RUSTG_CALL(RUST_G, "worley_generate")(region_size, threshold, node_per_region_chance, size, node_min, node_max)
-
-
diff --git a/code/__HELPERS/debugger.dm b/code/__HELPERS/debugger.dm
index 500707781d1..481ee8892d6 100644
--- a/code/__HELPERS/debugger.dm
+++ b/code/__HELPERS/debugger.dm
@@ -14,11 +14,11 @@
/world/proc/enable_auxtools_debugger()
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
if (debug_server)
- call(debug_server, "auxtools_init")()
+ CALL_EXT(debug_server, "auxtools_init")()
enable_debugging()
// Called in world/Del(). This is VERY important, otherwise you get phantom threads which try to lookup RAM they arent allowed to
/world/proc/disable_auxtools_debugger()
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
if (debug_server)
- call(debug_server, "auxtools_shutdown")()
+ CALL_EXT(debug_server, "auxtools_shutdown")()
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index a3081b4a60a..8a1e22b6b85 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -346,7 +346,7 @@
/proc/flick_overlay(image/I, list/show_to, duration)
for(var/client/C in show_to)
C.images += I
- addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_images_from_clients, I, show_to), duration, TIMER_CLIENT_TIME)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration, TIMER_CLIENT_TIME)
/proc/flick_overlay_view(image/I, atom/target, duration) //wrapper for the above, flicks to everyone who can see the target atom
var/list/viewing = list()
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 091619d8995..2a97c15cece 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -423,8 +423,8 @@
// By default, checks for weakness and stunned get added to the extra_checks list.
// Setting `use_default_checks` to FALSE means that you don't want the do_after to check for these statuses, or that you will be supplying your own checks.
if(use_default_checks)
- extra_checks += CALLBACK(user, /mob/living.proc/IsWeakened)
- extra_checks += CALLBACK(user, /mob/living.proc/IsStunned)
+ extra_checks += CALLBACK(user, TYPE_PROC_REF(/mob/living, IsWeakened))
+ extra_checks += CALLBACK(user, TYPE_PROC_REF(/mob/living, IsStunned))
while(world.time < endtime)
sleep(1)
@@ -475,7 +475,7 @@ GLOBAL_LIST_INIT(do_after_once_tracker, list())
to_chat(user, "[attempt_cancel_message]")
return FALSE
GLOB.do_after_once_tracker[cache_key] = TRUE
- . = do_after(user, delay, needhand, target, progress, extra_checks = list(CALLBACK(GLOBAL_PROC, .proc/do_after_once_checks, cache_key)))
+ . = do_after(user, delay, needhand, target, progress, extra_checks = list(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(do_after_once_checks), cache_key)))
GLOB.do_after_once_tracker[cache_key] = FALSE
/proc/do_after_once_checks(cache_key)
diff --git a/code/__HELPERS/qdel.dm b/code/__HELPERS/qdel.dm
index 99ccce4719b..91a223c0974 100644
--- a/code/__HELPERS/qdel.dm
+++ b/code/__HELPERS/qdel.dm
@@ -1,8 +1,8 @@
-#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE)
-#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
+#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE)
+#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
#define QDEL_NULL(item) if(item) { qdel(item); item = null }
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }
-#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE)
+#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(______qdel_list_wrapper), L), time, TIMER_STOPPABLE)
#define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); }
#define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); }
diff --git a/code/__HELPERS/sorts/InsertSort.dm b/code/__HELPERS/sorts/InsertSort.dm
index 641cf120822..9198d752170 100644
--- a/code/__HELPERS/sorts/InsertSort.dm
+++ b/code/__HELPERS/sorts/InsertSort.dm
@@ -1,5 +1,5 @@
//simple insertion sort - generally faster than merge for runs of 7 or smaller
-/proc/sortInsert(list/L, cmp = /proc/cmp_numeric_asc, associative, fromIndex = 1, toIndex = 0)
+/proc/sortInsert(list/L, cmp = GLOBAL_PROC_REF(cmp_numeric_asc), associative, fromIndex = 1, toIndex = 0)
if(L && L.len >= 2)
fromIndex = fromIndex % L.len
toIndex = toIndex % (L.len + 1)
diff --git a/code/__HELPERS/sorts/MergeSort.dm b/code/__HELPERS/sorts/MergeSort.dm
index 811017f017f..b6072842b68 100644
--- a/code/__HELPERS/sorts/MergeSort.dm
+++ b/code/__HELPERS/sorts/MergeSort.dm
@@ -1,5 +1,5 @@
//merge-sort - gernerally faster than insert sort, for runs of 7 or larger
-/proc/sortMerge(list/L, cmp = /proc/cmp_numeric_asc, associative, fromIndex = 1, toIndex)
+/proc/sortMerge(list/L, cmp = GLOBAL_PROC_REF(cmp_numeric_asc), associative, fromIndex = 1, toIndex)
if(L && L.len >= 2)
fromIndex = fromIndex % L.len
toIndex = toIndex % (L.len + 1)
diff --git a/code/__HELPERS/sorts/TimSort.dm b/code/__HELPERS/sorts/TimSort.dm
index 03063f683a6..f71cb05b066 100644
--- a/code/__HELPERS/sorts/TimSort.dm
+++ b/code/__HELPERS/sorts/TimSort.dm
@@ -1,5 +1,5 @@
//TimSort interface
-/proc/sortTim(list/L, cmp = /proc/cmp_numeric_asc, associative, fromIndex = 1, toIndex = 0)
+/proc/sortTim(list/L, cmp = GLOBAL_PROC_REF(cmp_numeric_asc), associative, fromIndex = 1, toIndex = 0)
if(L && L.len >= 2)
fromIndex = fromIndex % L.len
toIndex = toIndex % (L.len + 1)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index c00155a93b1..7c2dddb536b 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1459,9 +1459,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
//datum may be null, but it does need to be a typed var
#define NAMEOF(datum, X) (#X || ##datum.##X)
-#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##target, ##var_name, ##var_value)
+#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value)
//dupe code because dm can't handle 3 level deep macros
-#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##datum, NAMEOF(##datum, ##var), ##var_value)
+#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value)
/proc/___callbackvarset(list_or_datum, var_name, var_value)
if(length(list_or_datum))
diff --git a/code/__byond_version_compat.dm b/code/__byond_version_compat.dm
new file mode 100644
index 00000000000..6ef493ab7ce
--- /dev/null
+++ b/code/__byond_version_compat.dm
@@ -0,0 +1,17 @@
+// This file contains defines allowing targeting byond versions newer than the supported
+
+// So we want to have compile time guarantees these procs exist on local type, unfortunately 515 killed the .proc/procname syntax so we have to use nameof()
+#if DM_VERSION < 515
+#define PROC_REF(X) (.proc/##X)
+#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)
+#define GLOBAL_PROC_REF(X) (.proc/##X)
+#define NAMEOF_STATIC(datum, X) (#X || ##datum.##X)
+#define CALL_EXT call
+#else
+/// Validates the proc exists on this type (or global unfortunately)
+#define PROC_REF(X) (nameof(.proc/##X))
+#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X))
+#define GLOBAL_PROC_REF(X) (/proc/##X)
+#define NAMEOF_STATIC(datum, X) (#X || type::##X)
+#define CALL_EXT call_ext
+#endif
diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm
index 3f1ff20d5c8..bd56c456bfb 100644
--- a/code/_onclick/drag_drop.dm
+++ b/code/_onclick/drag_drop.dm
@@ -12,7 +12,7 @@
if(!Adjacent(usr) || !over.Adjacent(usr)) // should stop you from dragging through windows
return
- INVOKE_ASYNC(over, .proc/MouseDrop_T, src, usr)
+ INVOKE_ASYNC(over, PROC_REF(MouseDrop_T), src, usr)
// recieve a mousedrop
/atom/proc/MouseDrop_T(atom/dropping, mob/user)
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 20937716aa4..fcd073fd9b6 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -75,7 +75,7 @@
var/timeout = timeout_override || alert.timeout
if(timeout)
- addtimer(CALLBACK(alert, /obj/screen/alert/.proc/do_timeout, src, category), timeout)
+ addtimer(CALLBACK(alert, TYPE_PROC_REF(/obj/screen/alert, do_timeout), src, category), timeout)
alert.timeout = world.time + timeout - world.tick_lag
return alert
diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm
index f2f1a6b8448..570cf7d3c1d 100644
--- a/code/_onclick/hud/parallax.dm
+++ b/code/_onclick/hud/parallax.dm
@@ -130,7 +130,7 @@
C.parallax_movedir = new_parallax_movedir
if(C.parallax_animate_timer)
deltimer(C.parallax_animate_timer)
- var/datum/callback/CB = CALLBACK(src, .proc/update_parallax_motionblur, C, animatedir, new_parallax_movedir, newtransform)
+ var/datum/callback/CB = CALLBACK(src, PROC_REF(update_parallax_motionblur), C, animatedir, new_parallax_movedir, newtransform)
if(skip_windups)
CB.Invoke()
else
diff --git a/code/controllers/subsystem/assets.dm b/code/controllers/subsystem/assets.dm
index 7a9a3d355f3..c8f4b6e0a20 100644
--- a/code/controllers/subsystem/assets.dm
+++ b/code/controllers/subsystem/assets.dm
@@ -13,5 +13,5 @@ SUBSYSTEM_DEF(assets)
preload = cache.Copy() //don't preload assets generated during the round
for(var/client/C in GLOB.clients)
- addtimer(CALLBACK(GLOBAL_PROC, .proc/getFilesSlow, C, preload, FALSE), 10)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(getFilesSlow), C, preload, FALSE), 10)
return ..()
diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm
index b9ac3673404..369cf48e00d 100644
--- a/code/controllers/subsystem/dbcore.dm
+++ b/code/controllers/subsystem/dbcore.dm
@@ -284,9 +284,9 @@ SUBSYSTEM_DEF(dbcore)
else
query = thing
if(warn)
- INVOKE_ASYNC(query, /datum/db_query.proc/warn_execute)
+ INVOKE_ASYNC(query, TYPE_PROC_REF(/datum/db_query, warn_execute))
else
- INVOKE_ASYNC(query, /datum/db_query.proc/Execute)
+ INVOKE_ASYNC(query, TYPE_PROC_REF(/datum/db_query, Execute))
for(var/thing in querys)
var/datum/db_query/query
diff --git a/code/controllers/subsystem/http.dm b/code/controllers/subsystem/http.dm
index 3ec168124ba..072edd44645 100644
--- a/code/controllers/subsystem/http.dm
+++ b/code/controllers/subsystem/http.dm
@@ -121,7 +121,7 @@ SUBSYSTEM_DEF(http)
/client/verb/testing()
set name = "Testing"
- var/datum/callback/cb = CALLBACK(src, /client/.proc/response, usr)
+ var/datum/callback/cb = CALLBACK(src, TYPE_PROC_REF(/client, response), usr)
SShttp.create_async_request(RUSTG_HTTP_METHOD_GET, "http://site.domain/page.html", proc_callback=cb)
/client/proc/response(mob/user, datum/http_response/response)
diff --git a/code/controllers/subsystem/nano_mob_hunter.dm b/code/controllers/subsystem/nano_mob_hunter.dm
index 738957d1b48..f8148880a9e 100644
--- a/code/controllers/subsystem/nano_mob_hunter.dm
+++ b/code/controllers/subsystem/nano_mob_hunter.dm
@@ -41,7 +41,7 @@ SUBSYSTEM_DEF(mob_hunt)
recover_time = 3000
if(recover_time > 0) //when provided with a negative or zero valued recover_time argument, the server won't auto-restart but can be manually rebooted still
//set a timer to automatically recover after recover_time has passed (can be manually restarted if you get impatient too)
- addtimer(CALLBACK(src, .proc/auto_recover), recover_time, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(auto_recover)), recover_time, TIMER_UNIQUE)
/datum/controller/subsystem/mob_hunt/proc/client_mob_update()
var/list/ex_players = list()
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 22fa2595aaa..a174eee7edd 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -133,7 +133,7 @@ SUBSYSTEM_DEF(ticker)
Master.SetRunLevel(RUNLEVEL_POSTGAME) // This shouldnt process more than once, but you never know
auto_toggle_ooc(TRUE) // Turn it on
declare_completion()
- addtimer(CALLBACK(src, .proc/call_reboot), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(call_reboot)), 5 SECONDS)
// Start a map vote IF
// - Map rotate doesnt have a mode for today and map voting is enabled
// - Map rotate has a mode for the day and it ISNT full random
diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm
index cc882df9b9a..8dd37b4f86d 100644
--- a/code/controllers/subsystem/timer.dm
+++ b/code/controllers/subsystem/timer.dm
@@ -277,7 +277,7 @@ SUBSYSTEM_DEF(timer)
return
// Sort all timers by time to run
- sortTim(alltimers, .proc/cmp_timer)
+ sortTim(alltimers, GLOBAL_PROC_REF(cmp_timer))
// Get the earliest timer, and if the TTR is earlier than the current world.time,
// then set the head offset appropriately to be the earliest time tracked by the
diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm
index da454378bde..a1edaaa0e60 100644
--- a/code/controllers/subsystem/weather.dm
+++ b/code/controllers/subsystem/weather.dm
@@ -38,7 +38,7 @@ SUBSYSTEM_DEF(weather)
run_weather(W, list(text2num(z)))
eligible_zlevels -= z
var/randTime = rand(3000, 6000)
- addtimer(CALLBACK(src, .proc/make_eligible, z, possible_weather), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 5-10 minutes between weathers
+ addtimer(CALLBACK(src, PROC_REF(make_eligible), z, possible_weather), randTime + initial(W.weather_duration_upper), TIMER_UNIQUE) //Around 5-10 minutes between weathers
next_hit_by_zlevel["[z]"] = world.time + randTime + initial(W.telegraph_duration)
/datum/controller/subsystem/weather/Initialize(start_timeofday)
diff --git a/code/datums/beam.dm b/code/datums/beam.dm
index 00c3ecdb79b..e9240712014 100644
--- a/code/datums/beam.dm
+++ b/code/datums/beam.dm
@@ -160,5 +160,5 @@
/atom/proc/Beam(atom/BeamTarget,icon_state="b_beam",icon='icons/effects/beam.dmi',time=50, maxdistance=10,beam_type=/obj/effect/ebeam,beam_sleep_time=3)
var/datum/beam/newbeam = new(src,BeamTarget,icon,icon_state,time,maxdistance,beam_type,beam_sleep_time)
- INVOKE_ASYNC(newbeam, /datum/beam.proc/Start)
+ INVOKE_ASYNC(newbeam, TYPE_PROC_REF(/datum/beam, Start))
return newbeam
diff --git a/code/datums/callback.dm b/code/datums/callback.dm
index 02909c1a196..b96d5c25eae 100644
--- a/code/datums/callback.dm
+++ b/code/datums/callback.dm
@@ -1,10 +1,10 @@
/*
USAGE:
- var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn)
+ var/datum/callback/C = new(object|null, PROC_REF(procname)|GLOBAL_PROC_REF(procname)|TYPE_PROC_REF(type, procname), arg1, arg2, ... argn)
var/timerid = addtimer(C, time, timertype)
OR
- var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype)
+ var/timerid = addtimer(CALLBACK(object|null, PROC_REF(procname)|GLOBAL_PROC_REF(procname)|TYPE_PROC_REF(type, procname), arg1, arg2, ... argn), time, timertype)
Note: proc strings can only be given for datum proc calls, global procs must be proc paths
Also proc strings are strongly advised against because they don't compile error if the proc stops existing
@@ -19,28 +19,20 @@
PROC TYPEPATH SHORTCUTS (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...)
- global proc while in another global proc:
- .procname
+ global proc:
+ GLOBAL_PROC_REF(procname)
Example:
- CALLBACK(GLOBAL_PROC, .some_proc_here)
+ CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(some_proc_here))
- proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents:
- .procname
+ proc defined on current(src) object:
+ PROC_REF(procname)
Example:
- CALLBACK(src, .some_proc_here)
+ CALLBACK(src, PROC_REF(some_proc_here))
-
- when the above doesn't apply:
- .proc/procname
+ proc defined on some other type:
+ TYPE_PROC_REF(some_type, procname)
Example:
- CALLBACK(src, .proc/some_proc_here)
-
- proc defined on a parent of a some type:
- /some/type/.proc/some_proc_here
-
-
-
- Other wise you will have to do the full typepath of the proc (/type/of/thing/proc/procname)
+ CALLBACK(other_atom, TYPE_PROC_REF(other_atom_type, procname)
*/
diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm
index ea64c708f55..514a261ca13 100644
--- a/code/datums/chatmessage.dm
+++ b/code/datums/chatmessage.dm
@@ -65,7 +65,7 @@
stack_trace("/datum/chatmessage created with [isnull(owner) ? "null" : "invalid"] mob owner")
qdel(src)
return
- INVOKE_ASYNC(src, .proc/generate_image, text, target, owner, lifespan, italics, size, symbol)
+ INVOKE_ASYNC(src, PROC_REF(generate_image), text, target, owner, lifespan, italics, size, symbol)
/datum/chatmessage/Destroy()
if (owned_by)
@@ -100,7 +100,7 @@
/datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, lifespan, italics, size, symbol)
// Register client who owns this message
owned_by = owner.client
- RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/on_parent_qdel)
+ RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_qdel))
// Clip message
var/maxlen = CHAT_MESSAGE_MAX_LENGTH
diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm
index 267c5ccc150..c26560d2d20 100644
--- a/code/datums/components/caltrop.dm
+++ b/code/datums/components/caltrop.dm
@@ -12,7 +12,7 @@
probability = _probability
flags = _flags
- RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED), .proc/Crossed)
+ RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED), PROC_REF(Crossed))
/datum/component/caltrop/proc/Crossed(datum/source, atom/movable/AM)
var/atom/A = parent
diff --git a/code/datums/components/decal.dm b/code/datums/components/decal.dm
index ba5864ad0eb..b0cc7617e3c 100644
--- a/code/datums/components/decal.dm
+++ b/code/datums/components/decal.dm
@@ -18,11 +18,11 @@
/datum/component/decal/RegisterWithParent()
if(first_dir)
- RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, .proc/rotate_react)
+ RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(rotate_react))
if(cleanable)
- RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/clean_react)
+ RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react))
if(description)
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine)
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
/datum/component/decal/UnregisterFromParent()
UnregisterSignal(parent, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_EXAMINE))
@@ -52,13 +52,13 @@
var/atom/master = thing || parent
master.add_overlay(pic, TRUE)
if(isitem(master))
- addtimer(CALLBACK(master, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE)
+ addtimer(CALLBACK(master, TYPE_PROC_REF(/obj/item, update_slot_icon)), 0, TIMER_UNIQUE)
/datum/component/decal/proc/remove(atom/thing)
var/atom/master = thing || parent
master.cut_overlay(pic, TRUE)
if(isitem(master))
- addtimer(CALLBACK(master, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE)
+ addtimer(CALLBACK(master, TYPE_PROC_REF(/obj/item, update_slot_icon)), 0, TIMER_UNIQUE)
/datum/component/decal/proc/rotate_react(datum/source, old_dir, new_dir)
if(old_dir == new_dir)
diff --git a/code/datums/components/ducttape.dm b/code/datums/components/ducttape.dm
index 5a5f206d28f..b4510f9ed32 100644
--- a/code/datums/components/ducttape.dm
+++ b/code/datums/components/ducttape.dm
@@ -8,12 +8,12 @@
if(!istype(I)) //Something went wrong
return
if(!hide_tape) //if TRUE this hides the tape overlay and added examine text
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, .proc/add_tape_overlay)
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/add_tape_text)
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(add_tape_overlay))
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(add_tape_text))
x_offset = x
y_offset = y
- RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, .proc/afterattack)
- RegisterSignal(parent, COMSIG_ITEM_PICKUP, .proc/pick_up)
+ RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(afterattack))
+ RegisterSignal(parent, COMSIG_ITEM_PICKUP, PROC_REF(pick_up))
I.update_icon() //Do this first so the action button properly shows the icon
if(!hide_tape) //the tape can no longer be removed if TRUE
var/datum/action/item_action/remove_tape/RT = new(I)
diff --git a/code/datums/components/edit_complainer.dm b/code/datums/components/edit_complainer.dm
index 7910515cb45..a2a66f8a68b 100644
--- a/code/datums/components/edit_complainer.dm
+++ b/code/datums/components/edit_complainer.dm
@@ -16,7 +16,7 @@
)
say_lines = text || default_lines
- RegisterSignal(SSdcs, COMSIG_GLOB_VAR_EDIT, .proc/var_edit_react)
+ RegisterSignal(SSdcs, COMSIG_GLOB_VAR_EDIT, PROC_REF(var_edit_react))
/datum/component/edit_complainer/proc/var_edit_react(datum/source, list/arguments)
var/atom/movable/master = parent
diff --git a/code/datums/components/emissive_blocker.dm b/code/datums/components/emissive_blocker.dm
index f54058f5e60..14d55b676a0 100644
--- a/code/datums/components/emissive_blocker.dm
+++ b/code/datums/components/emissive_blocker.dm
@@ -5,7 +5,7 @@
/datum/component/emissive_blocker/Initialize(_stored_blocker)
var/atom/movable/A = parent
stored_blocker = _stored_blocker
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, .proc/update_generic_block)
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, PROC_REF(update_generic_block))
A.add_overlay(stored_blocker)
/datum/component/emissive_blocker/Destroy()
diff --git a/code/datums/components/footstep.dm b/code/datums/components/footstep.dm
index 221dafe1657..e1555113bbb 100644
--- a/code/datums/components/footstep.dm
+++ b/code/datums/components/footstep.dm
@@ -24,7 +24,7 @@
if(FOOTSTEP_MOB_HUMAN)
if(!ishuman(parent))
return COMPONENT_INCOMPATIBLE
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_humanstep)
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_humanstep))
return
if(FOOTSTEP_MOB_CLAW)
footstep_sounds = GLOB.clawfootstep
@@ -38,13 +38,13 @@
footstep_sounds = 'sound/effects/footstep/slime1.ogg'
if(FOOTSTEP_OBJ_MACHINE)
footstep_sounds = 'sound/effects/bang.ogg'
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_simplestep_machine) //Note that this doesn't get called for humans.
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep_machine)) //Note that this doesn't get called for humans.
return
if(FOOTSTEP_OBJ_ROBOT)
footstep_sounds = 'sound/effects/tank_treads.ogg'
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_simplestep_machine) //Note that this doesn't get called for humans.
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep_machine)) //Note that this doesn't get called for humans.
return
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_simplestep) //Note that this doesn't get called for humans.
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_simplestep)) //Note that this doesn't get called for humans.
///Prepares a footstep. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/simulated/floor (eventually /turf/open)
/datum/component/footstep/proc/prepare_step()
diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm
index c6d0c595ebb..0a8c50cdf71 100644
--- a/code/datums/components/label.dm
+++ b/code/datums/components/label.dm
@@ -22,8 +22,8 @@
apply_label()
/datum/component/label/RegisterWithParent()
- RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackby)
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/Examine)
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackby))
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(Examine))
/datum/component/label/UnregisterFromParent()
UnregisterSignal(parent, list(COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE))
diff --git a/code/datums/components/largeobjecttransparency.dm b/code/datums/components/largeobjecttransparency.dm
index ff10a64d02a..0f97e5810ba 100644
--- a/code/datums/components/largeobjecttransparency.dm
+++ b/code/datums/components/largeobjecttransparency.dm
@@ -36,7 +36,7 @@
return ..()
/datum/component/largetransparency/RegisterWithParent()
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/OnMove)
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(OnMove))
RegisterWithTurfs()
/datum/component/largetransparency/UnregisterFromParent()
@@ -52,9 +52,9 @@
registered_turfs = block(lowleft_turf, upright_turf) //small problems with z level edges due to object size offsets, but nothing truly problematic.
//register the signals
for(var/registered_turf in registered_turfs)
- RegisterSignal(registered_turf, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_INITIALIZED_ON), .proc/objectEnter)
- RegisterSignal(registered_turf, COMSIG_ATOM_EXITED, .proc/objectLeave)
- RegisterSignal(registered_turf, COMSIG_TURF_CHANGE, .proc/OnTurfChange)
+ RegisterSignal(registered_turf, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_INITIALIZED_ON), PROC_REF(objectEnter))
+ RegisterSignal(registered_turf, COMSIG_ATOM_EXITED, PROC_REF(objectLeave))
+ RegisterSignal(registered_turf, COMSIG_TURF_CHANGE, PROC_REF(OnTurfChange))
for(var/thing in registered_turf)
var/atom/check_atom = thing
if(!(check_atom.flags_2 & CRITICAL_ATOM_2))
@@ -76,7 +76,7 @@
RegisterWithTurfs()
/datum/component/largetransparency/proc/OnTurfChange()
- addtimer(CALLBACK(src, .proc/OnMove), 0, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain
+ addtimer(CALLBACK(src, PROC_REF(OnMove)), 0, TIMER_UNIQUE|TIMER_OVERRIDE) //*pain
/datum/component/largetransparency/proc/objectEnter(datum/source, atom/enterer)
if(!(enterer.flags_2 & CRITICAL_ATOM_2))
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index 2ea582aab62..3cccd0a2a77 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -37,8 +37,8 @@
precondition = _precondition
after_insert = _after_insert
- RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/OnAttackBy)
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine)
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy))
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(OnExamine))
var/list/possible_mats = list()
for(var/mat_type in subtypesof(/datum/material))
diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm
index e8cbc54ae07..c5ab688434d 100644
--- a/code/datums/components/orbiter.dm
+++ b/code/datums/components/orbiter.dm
@@ -103,7 +103,7 @@
orbiter_list += orbiter
// make sure orbits get cleaned up nicely if the parent qdels
- RegisterSignal(orbiter, COMSIG_PARENT_QDELETING, .proc/end_orbit)
+ RegisterSignal(orbiter, COMSIG_PARENT_QDELETING, PROC_REF(end_orbit))
var/orbit_flags = 0
if(lock_in_orbit)
@@ -115,7 +115,7 @@
store_orbit_data(orbiter, orbit_flags)
if(!lock_in_orbit)
- RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, .proc/orbiter_move_react)
+ RegisterSignal(orbiter, COMSIG_MOVABLE_MOVED, PROC_REF(orbiter_move_react))
// Head first!
if(pre_rotation)
@@ -274,13 +274,13 @@
return
var/atom/cur_atom = start
while(cur_atom.loc && !isturf(cur_atom.loc) && !(cur_atom.loc in orbiter_list))
- RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, .proc/on_intermediate_move, TRUE)
- RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
+ RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, PROC_REF(on_intermediate_move), TRUE)
+ RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
cur_atom = cur_atom.loc
// Set the topmost atom (right before the turf) to be our new leader
- RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, .proc/parent_move_react, TRUE)
- RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
+ RegisterSignal(cur_atom, COMSIG_MOVABLE_MOVED, PROC_REF(parent_move_react), TRUE)
+ RegisterSignal(cur_atom, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
return cur_atom
/**
@@ -296,9 +296,9 @@
return
// Remove all signals upwards of the child and re-register them as the new parent
remove_signals(exiting)
- RegisterSignal(exiting, COMSIG_MOVABLE_MOVED, .proc/parent_move_react, TRUE)
- RegisterSignal(exiting, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
- INVOKE_ASYNC(src, .proc/handle_parent_move, exiting, exiting.loc, new_loc)
+ RegisterSignal(exiting, COMSIG_MOVABLE_MOVED, PROC_REF(parent_move_react), TRUE)
+ RegisterSignal(exiting, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
+ INVOKE_ASYNC(src, PROC_REF(handle_parent_move), exiting, exiting.loc, new_loc)
/**
* Called when an intermediate (somewhere between the topmost and the orbited) atom moves.
@@ -312,9 +312,9 @@
return
remove_signals(old_loc) // TODO this doesn't work if something's removed from hand
- RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, .proc/parent_move_react, TRUE)
- RegisterSignal(tracked, COMSIG_ATOM_EXITED, .proc/on_remove_child, TRUE)
- INVOKE_ASYNC(src, .proc/handle_parent_move, tracked, old_loc, tracked.loc)
+ RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(parent_move_react), TRUE)
+ RegisterSignal(tracked, COMSIG_ATOM_EXITED, PROC_REF(on_remove_child), TRUE)
+ INVOKE_ASYNC(src, PROC_REF(handle_parent_move), tracked, old_loc, tracked.loc)
/**
* Returns TRUE if atom_to_find is transitively a parent of src.
diff --git a/code/datums/components/paintable.dm b/code/datums/components/paintable.dm
index ef9a2923cc6..813610f619d 100644
--- a/code/datums/components/paintable.dm
+++ b/code/datums/components/paintable.dm
@@ -2,7 +2,7 @@
var/current_paint
/datum/component/spraycan_paintable/Initialize()
- RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/Repaint)
+ RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(Repaint))
/datum/component/spraycan_paintable/Destroy()
RemoveCurrentCoat()
diff --git a/code/datums/components/persistent_overlay.dm b/code/datums/components/persistent_overlay.dm
index 419d6a8b301..8cc2704dac4 100644
--- a/code/datums/components/persistent_overlay.dm
+++ b/code/datums/components/persistent_overlay.dm
@@ -6,10 +6,10 @@
persistent_overlay = image_overlay
target = _target
if(timer)
- addtimer(CALLBACK(src, .proc/remove_persistent_overlay), timer)
+ addtimer(CALLBACK(src, PROC_REF(remove_persistent_overlay)), timer)
if(target)
- RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/remove_persistent_overlay)
- RegisterSignal(parent, COMSIG_PARENT_QDELETING, .proc/remove_persistent_overlay)
+ RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(remove_persistent_overlay))
+ RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(remove_persistent_overlay))
add_persistent_overlay()
/datum/component/persistent_overlay/Destroy()
diff --git a/code/datums/components/proximity_monitor.dm b/code/datums/components/proximity_monitor.dm
index 445c03a72ae..a300d714f6c 100644
--- a/code/datums/components/proximity_monitor.dm
+++ b/code/datums/components/proximity_monitor.dm
@@ -52,9 +52,9 @@
/datum/component/proximity_monitor/RegisterWithParent()
if(ismovable(hasprox_receiver))
- RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_MOVED, .proc/on_receiver_move)
- RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_DISPOSING, .proc/on_disposal_enter)
- RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_EXIT_DISPOSALS, .proc/on_disposal_exit)
+ RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_MOVED, PROC_REF(on_receiver_move))
+ RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_DISPOSING, PROC_REF(on_disposal_enter))
+ RegisterSignal(hasprox_receiver, COMSIG_MOVABLE_EXIT_DISPOSALS, PROC_REF(on_disposal_exit))
map_nested_locs()
/datum/component/proximity_monitor/UnregisterFromParent()
@@ -148,9 +148,9 @@
if(loc_to_check in nested_receiver_locs)
continue
nested_receiver_locs += loc_to_check
- RegisterSignal(loc_to_check, COMSIG_MOVABLE_MOVED, .proc/on_nested_loc_move)
- RegisterSignal(loc_to_check, COMSIG_MOVABLE_DISPOSING, .proc/on_disposal_enter)
- RegisterSignal(loc_to_check, COMSIG_MOVABLE_EXIT_DISPOSALS, .proc/on_disposal_exit)
+ RegisterSignal(loc_to_check, COMSIG_MOVABLE_MOVED, PROC_REF(on_nested_loc_move))
+ RegisterSignal(loc_to_check, COMSIG_MOVABLE_DISPOSING, PROC_REF(on_disposal_enter))
+ RegisterSignal(loc_to_check, COMSIG_MOVABLE_EXIT_DISPOSALS, PROC_REF(on_disposal_exit))
loc_to_check = loc_to_check.loc
/**
diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm
index ea7bd40985c..97d0591c4eb 100644
--- a/code/datums/components/radioactive.dm
+++ b/code/datums/components/radioactive.dm
@@ -18,10 +18,10 @@
hl3_release_date = _half_life
can_contaminate = _can_contaminate
if(istype(parent, /atom))
- RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/rad_examine)
+ RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(rad_examine))
if(isitem(parent))
- RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/rad_attack)
- RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, .proc/rad_attack)
+ RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(rad_attack))
+ RegisterSignal(parent, COMSIG_ITEM_ATTACK_OBJ, PROC_REF(rad_attack))
else
return COMPONENT_INCOMPATIBLE
if(strength > RAD_MINIMUM_CONTAMINATION)
@@ -30,7 +30,7 @@
//This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS
var/atom/movable/master = parent
master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2))
- addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1, 19)) //Things should look uneven
+ addtimer(CALLBACK(src, PROC_REF(glow_loop), master), rand(1, 19)) //Things should look uneven
START_PROCESSING(SSradiation, src)
/datum/component/radioactive/Destroy()
diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm
index ebd1eb35e03..cb25efe5d8d 100644
--- a/code/datums/components/slippery.dm
+++ b/code/datums/components/slippery.dm
@@ -36,7 +36,7 @@
slip_verb = _slip_verb
/datum/component/slippery/RegisterWithParent()
- RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), .proc/Slip)
+ RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED), PROC_REF(Slip))
/datum/component/slippery/UnregisterFromParent()
UnregisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ATOM_ENTERED))
diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm
index bbc71ce101f..1de01df226c 100644
--- a/code/datums/components/spawner.dm
+++ b/code/datums/components/spawner.dm
@@ -21,7 +21,7 @@
if(_max_mobs)
max_mobs=_max_mobs
- RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), .proc/stop_spawning)
+ RegisterSignal(parent, list(COMSIG_PARENT_QDELETING), PROC_REF(stop_spawning))
START_PROCESSING(SSprocessing, src)
/datum/component/spawner/process()
diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm
index a1172aa0ec5..2573ac15f49 100644
--- a/code/datums/components/spooky.dm
+++ b/code/datums/components/spooky.dm
@@ -2,7 +2,7 @@
var/too_spooky = TRUE //will it spawn a new instrument?
/datum/component/spooky/Initialize()
- RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/spectral_attack)
+ RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(spectral_attack))
/datum/component/spooky/proc/spectral_attack(datum/source, mob/living/carbon/C, mob/user)
if(ishuman(user)) //this weapon wasn't meant for mortals.
diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm
index 96412d231c2..7445e577605 100644
--- a/code/datums/components/squeak.dm
+++ b/code/datums/components/squeak.dm
@@ -22,20 +22,20 @@
/datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override, squeak_on_move, extrarange, falloff_exponent, fallof_distance)
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
- RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), .proc/play_squeak)
+ RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), PROC_REF(play_squeak))
if(ismovable(parent))
- RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak)
- RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/play_squeak_crossed)
- RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react)
+ RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), PROC_REF(play_squeak))
+ RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(play_squeak_crossed))
+ RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react))
if(squeak_on_move)
- RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/play_squeak)
+ RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(play_squeak))
if(isitem(parent))
- RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), .proc/play_squeak)
- RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/use_squeak)
- RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip)
- RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop)
+ RegisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_HIT_REACT), PROC_REF(play_squeak))
+ RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(use_squeak))
+ RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip))
+ RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop))
if(istype(parent, /obj/item/clothing/shoes))
- RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, .proc/step_squeak)
+ RegisterSignal(parent, COMSIG_SHOES_STEP_ACTION, PROC_REF(step_squeak))
override_squeak_sounds = custom_sounds
if(chance_override)
@@ -98,7 +98,7 @@
play_squeak()
/datum/component/squeak/proc/on_equip(datum/source, mob/equipper, slot)
- RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react, TRUE)
+ RegisterSignal(equipper, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react), TRUE)
/datum/component/squeak/proc/on_drop(datum/source, mob/user)
UnregisterSignal(user, COMSIG_MOVABLE_DISPOSING)
@@ -106,7 +106,7 @@
// Disposal pipes related shit
/datum/component/squeak/proc/disposing_react(datum/source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/disposal_source)
//We don't need to worry about unregistering this signal as it will happen for us automaticaly when the holder is qdeleted
- RegisterSignal(disposal_holder, COMSIG_ATOM_DIR_CHANGE, .proc/holder_dir_change)
+ RegisterSignal(disposal_holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(holder_dir_change))
/datum/component/squeak/proc/holder_dir_change(datum/source, old_dir, new_dir)
//If the dir changes it means we're going through a bend in the pipes, let's pretend we bumped the wall
diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm
index 1ab902952c4..8a7955ecf0e 100644
--- a/code/datums/components/surgery_initiator.dm
+++ b/code/datums/components/surgery_initiator.dm
@@ -41,8 +41,8 @@
src.forced_surgery = forced_surgery
/datum/component/surgery_initiator/RegisterWithParent()
- RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/initiate_surgery_moment)
- RegisterSignal(parent, COMSIG_ATOM_UPDATE_SHARPNESS, .proc/on_parent_sharpness_change)
+ RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(initiate_surgery_moment))
+ RegisterSignal(parent, COMSIG_ATOM_UPDATE_SHARPNESS, PROC_REF(on_parent_sharpness_change))
/datum/component/surgery_initiator/UnregisterFromParent()
UnregisterSignal(parent, COMSIG_ITEM_ATTACK)
@@ -83,7 +83,7 @@
if(L.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST))
to_chat(user, "You realise that a ghost probably doesn't have any useful organs.")
return //no cult ghost surgery please
- INVOKE_ASYNC(src, .proc/do_initiate_surgery_moment, target, user)
+ INVOKE_ASYNC(src, PROC_REF(do_initiate_surgery_moment), target, user)
// This signal is actually part of the attack chain, so it needs to return true to stop it
return TRUE
diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm
index 16ddc66280e..ac81ea6aefa 100644
--- a/code/datums/components/swarming.dm
+++ b/code/datums/components/swarming.dm
@@ -10,8 +10,8 @@
offset_x = rand(-max_x, max_x)
offset_y = rand(-max_y, max_y)
- RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, .proc/join_swarm)
- RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, .proc/leave_swarm)
+ RegisterSignal(parent, COMSIG_MOVABLE_CROSSED, PROC_REF(join_swarm))
+ RegisterSignal(parent, COMSIG_MOVABLE_UNCROSSED, PROC_REF(leave_swarm))
/datum/component/swarming/Destroy()
for(var/other in swarm_members)
diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm
index f3affdbd097..2a6b0ba5bac 100644
--- a/code/datums/diseases/advance/symptoms/shedding.dm
+++ b/code/datums/diseases/advance/symptoms/shedding.dm
@@ -38,11 +38,11 @@ BONUS
if(3, 4)
if(!(head_organ.h_style == "Bald") && !(head_organ.h_style == "Balding Hair"))
to_chat(H, "Your hair starts to fall out in clumps...")
- addtimer(CALLBACK(src, .proc/change_hair, H, head_organ, null, "Balding Hair"), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, null, "Balding Hair"), 5 SECONDS)
if(5)
if(!(head_organ.f_style == "Shaved") || !(head_organ.h_style == "Bald"))
to_chat(H, "Your hair starts to fall out in clumps...")
- addtimer(CALLBACK(src, .proc/change_hair, H, head_organ, "Shaved", "Bald"), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, "Shaved", "Bald"), 5 SECONDS)
/datum/symptom/shedding/proc/change_hair(mob/living/carbon/human/H, obj/item/organ/external/head/head_organ, f_style, h_style)
if(!H || !head_organ)
diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm
index 527954858f0..a5abb1898af 100644
--- a/code/datums/diseases/anxiety.dm
+++ b/code/datums/diseases/anxiety.dm
@@ -38,7 +38,7 @@
"You cough up butterflies!")
for(var/i in 1 to 2)
var/mob/living/simple_animal/butterfly/B = new(affected_mob.loc)
- addtimer(CALLBACK(B, /mob/living/simple_animal/butterfly/.proc/decompose), rand(5, 25) SECONDS)
+ addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/simple_animal/butterfly, decompose)), rand(5, 25) SECONDS)
/**
* Made so severe anxiety does not overload the SSmob while keeping it's effect
diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm
index 46a295f90be..b957061fa01 100644
--- a/code/datums/elements/_element.dm
+++ b/code/datums/elements/_element.dm
@@ -23,7 +23,7 @@
return ELEMENT_INCOMPATIBLE
SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src)
if(element_flags & ELEMENT_DETACH)
- RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE)
+ RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(Detach), override = TRUE)
/// Deactivates the functionality defines by the element on the given datum
/datum/element/proc/Detach(datum/source, force)
diff --git a/code/datums/elements/earhealing.dm b/code/datums/elements/earhealing.dm
index ee33cd9ee34..84c55b9879f 100644
--- a/code/datums/elements/earhealing.dm
+++ b/code/datums/elements/earhealing.dm
@@ -10,7 +10,7 @@
if(!isitem(target))
return ELEMENT_INCOMPATIBLE
- RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/equippedChanged)
+ RegisterSignal(target, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(equippedChanged))
/datum/element/earhealing/Detach(datum/target)
. = ..()
diff --git a/code/datums/elements/rad_insulation.dm b/code/datums/elements/rad_insulation.dm
index 2c9492dac9d..bd9aa3acb46 100644
--- a/code/datums/elements/rad_insulation.dm
+++ b/code/datums/elements/rad_insulation.dm
@@ -9,11 +9,11 @@
return ELEMENT_INCOMPATIBLE
if(protects) // Does this protect things in its contents from being affected?
- RegisterSignal(target, COMSIG_ATOM_RAD_PROBE, .proc/rad_probe_react)
+ RegisterSignal(target, COMSIG_ATOM_RAD_PROBE, PROC_REF(rad_probe_react))
if(contamination_proof) // Can this object be contaminated?
- RegisterSignal(target, COMSIG_ATOM_RAD_CONTAMINATING, .proc/rad_contaminating)
+ RegisterSignal(target, COMSIG_ATOM_RAD_CONTAMINATING, PROC_REF(rad_contaminating))
if(_amount != 1) // If it's 1 it won't have any impact on radiation passing through anyway
- RegisterSignal(target, COMSIG_ATOM_RAD_WAVE_PASSING, .proc/rad_pass)
+ RegisterSignal(target, COMSIG_ATOM_RAD_WAVE_PASSING, PROC_REF(rad_pass))
amount = _amount
diff --git a/code/datums/elements/waddling.dm b/code/datums/elements/waddling.dm
index db176a82f79..1f019dbee9e 100644
--- a/code/datums/elements/waddling.dm
+++ b/code/datums/elements/waddling.dm
@@ -5,9 +5,9 @@
if(!ismovable(target))
return ELEMENT_INCOMPATIBLE
if(isliving(target))
- RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/LivingWaddle)
+ RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(LivingWaddle))
else
- RegisterSignal(target, COMSIG_MOVABLE_MOVED, .proc/Waddle)
+ RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(Waddle))
/datum/element/waddling/Detach(datum/source, force)
. = ..()
diff --git a/code/datums/log_viewer.dm b/code/datums/log_viewer.dm
index c5a17507606..a0022d72527 100644
--- a/code/datums/log_viewer.dm
+++ b/code/datums/log_viewer.dm
@@ -252,12 +252,12 @@ if(!result || result.ckey != __ckey){\
if(href_list["add_mob"])
var/list/mobs = getpois(TRUE, TRUE)
var/datum/async_input/A = input_autocomplete_async(usr, "Please, select a mob: ", mobs)
- A.on_close(CALLBACK(src, .proc/add_mob, usr))
+ A.on_close(CALLBACK(src, PROC_REF(add_mob), usr))
return
if(href_list["add_ckey"])
var/list/ckeys = GLOB.logging.get_ckeys_logged()
var/datum/async_input/A = input_autocomplete_async(usr, "Please, select a ckey: ", ckeys)
- A.on_close(CALLBACK(src, .proc/add_ckey, usr))
+ A.on_close(CALLBACK(src, PROC_REF(add_ckey), usr))
return
if(href_list["remove_mob"])
var/mob/M = locate(href_list["remove_mob"])
diff --git a/code/datums/looping_sounds/looping_sound.dm b/code/datums/looping_sounds/looping_sound.dm
index 2cd87ae81b2..a73f43d48e6 100644
--- a/code/datums/looping_sounds/looping_sound.dm
+++ b/code/datums/looping_sounds/looping_sound.dm
@@ -73,7 +73,7 @@
return
if(!chance || prob(chance))
play(get_sound(looped))
- addtimer(CALLBACK(src, .proc/sound_loop, ++looped), mid_length)
+ addtimer(CALLBACK(src, PROC_REF(sound_loop), ++looped), mid_length)
/datum/looping_sound/proc/play(soundfile)
var/list/atoms_cache = output_atoms
@@ -102,7 +102,7 @@
if(start_sound)
play(start_sound)
start_wait = start_length
- addtimer(CALLBACK(src, .proc/sound_loop), start_wait)
+ addtimer(CALLBACK(src, PROC_REF(sound_loop)), start_wait)
/datum/looping_sound/proc/on_stop(looped)
if(end_sound)
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 19cdbed8fcd..dfc3fab8673 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -968,7 +968,7 @@
log_admin("[key_name(usr)] has equipped [key_name(current)] as a wizard")
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a wizard")
if("name")
- INVOKE_ASYNC(SSticker.mode, /datum/game_mode/wizard.proc/name_wizard, current)
+ INVOKE_ASYNC(SSticker.mode, TYPE_PROC_REF(/datum/game_mode/wizard, name_wizard), current)
log_admin("[key_name(usr)] has allowed wizard [key_name(current)] to name themselves")
message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves")
if("autoobjectives")
@@ -1652,7 +1652,7 @@
SSticker.mode.equip_wizard(current)
for(var/obj/item/spellbook/S in current.contents)
S.op = 0
- INVOKE_ASYNC(SSticker.mode, /datum/game_mode/wizard.proc/name_wizard, current)
+ INVOKE_ASYNC(SSticker.mode, TYPE_PROC_REF(/datum/game_mode/wizard, name_wizard), current)
SSticker.mode.forge_wizard_objectives(src)
SSticker.mode.greet_wizard(src)
SSticker.mode.update_wiz_icons_added(src)
@@ -1787,7 +1787,7 @@
H.update_inv_w_uniform()
add_attack_logs(missionary, current, "Converted to a zealot for [convert_duration/600] minutes")
- addtimer(CALLBACK(src, .proc/remove_zealot, jumpsuit), convert_duration) //deconverts after the timer expires
+ addtimer(CALLBACK(src, PROC_REF(remove_zealot), jumpsuit), convert_duration) //deconverts after the timer expires
return TRUE
/datum/mind/proc/remove_zealot(obj/item/clothing/under/jumpsuit = null)
diff --git a/code/datums/spells/charge_up.dm b/code/datums/spells/charge_up.dm
index b1ca3e28d2b..abae667f1a0 100644
--- a/code/datums/spells/charge_up.dm
+++ b/code/datums/spells/charge_up.dm
@@ -26,7 +26,7 @@
/obj/effect/proc_holder/spell/charge_up/Click()
if(cast_check(TRUE, FALSE, usr))
if(!start_time)
- INVOKE_ASYNC(src, .proc/StartChargeup, usr)
+ INVOKE_ASYNC(src, PROC_REF(StartChargeup), usr)
else
if(!try_stop_buildup(usr))
return // Don't remove the click intercept
@@ -52,7 +52,7 @@
user.add_overlay(charge_up_overlay)
playsound(user, charge_sound, 50, FALSE, channel = charge_sound.channel)
start_time = world.time
- if(do_mob(user, user, max_charge_time, extra_checks = list(CALLBACK(src, .proc/stopped_casting)), only_use_extra_checks = TRUE))
+ if(do_mob(user, user, max_charge_time, extra_checks = list(CALLBACK(src, PROC_REF(stopped_casting))), only_use_extra_checks = TRUE))
if(start_time)
Discharge(user)
diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm
index 4646974b3fd..01797ab5bf3 100644
--- a/code/datums/spells/ethereal_jaunt.dm
+++ b/code/datums/spells/ethereal_jaunt.dm
@@ -29,7 +29,7 @@
if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains
to_chat(target, "You are somehow too bound to your current location to abandon it.")
continue
- INVOKE_ASYNC(src, .proc/do_jaunt, target)
+ INVOKE_ASYNC(src, PROC_REF(do_jaunt), target)
/obj/effect/proc_holder/spell/ethereal_jaunt/proc/do_jaunt(mob/living/target)
target.notransform = TRUE
diff --git a/code/datums/spells/genetic.dm b/code/datums/spells/genetic.dm
index f6c45378f9d..cab9a5f381a 100644
--- a/code/datums/spells/genetic.dm
+++ b/code/datums/spells/genetic.dm
@@ -18,7 +18,7 @@
active_on += target
target.regenerate_icons()
if(duration < base_cooldown)
- addtimer(CALLBACK(src, .proc/remove, target), duration, TIMER_OVERRIDE|TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(remove), target), duration, TIMER_OVERRIDE|TIMER_UNIQUE)
/obj/effect/proc_holder/spell/genetic/Destroy()
for(var/V in active_on)
diff --git a/code/datums/spells/knock.dm b/code/datums/spells/knock.dm
index 488498508c8..2157d715c1d 100644
--- a/code/datums/spells/knock.dm
+++ b/code/datums/spells/knock.dm
@@ -20,9 +20,9 @@
/obj/effect/proc_holder/spell/aoe_turf/knock/cast(list/targets, mob/user = usr)
for(var/turf/T in targets)
for(var/obj/machinery/door/door in T.contents)
- INVOKE_ASYNC(src, .proc/try_open_airlock, door)
+ INVOKE_ASYNC(src, PROC_REF(try_open_airlock), door)
for(var/obj/structure/closet/C in T.contents)
- INVOKE_ASYNC(src, .proc/try_open_closet, C)
+ INVOKE_ASYNC(src, PROC_REF(try_open_closet), C)
/obj/effect/proc_holder/spell/aoe_turf/knock/proc/try_open_airlock(obj/machinery/door/door)
if(istype(door, /obj/machinery/door/airlock/hatch/gamma))
diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm
index a430de667f9..53dfd6818c7 100644
--- a/code/datums/spells/lightning.dm
+++ b/code/datums/spells/lightning.dm
@@ -44,4 +44,4 @@
target.AdjustJitter(2000 SECONDS) //High numbers for violent convulsions
target.AdjustStuttering(4 SECONDS)
target.Slowed(6 SECONDS)
- addtimer(CALLBACK(target, /mob/living.proc/AdjustJitter, -2000 SECONDS, 10), 2 SECONDS) //Still jittery, but vastly less
+ addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, AdjustJitter), -2000 SECONDS, 10), 2 SECONDS) //Still jittery, but vastly less
diff --git a/code/datums/spells/mimic.dm b/code/datums/spells/mimic.dm
index b39de951b4d..bd8db0a164a 100644
--- a/code/datums/spells/mimic.dm
+++ b/code/datums/spells/mimic.dm
@@ -54,10 +54,10 @@
/obj/effect/proc_holder/spell/mimic/cast(list/targets, mob/user)
var/atom/movable/A = targets[1]
if(A == user)
- INVOKE_ASYNC(src, .proc/pick_form, user)
+ INVOKE_ASYNC(src, PROC_REF(pick_form), user)
return
- INVOKE_ASYNC(src, .proc/remember_form, A, user)
+ INVOKE_ASYNC(src, PROC_REF(remember_form), A, user)
/obj/effect/proc_holder/spell/mimic/proc/remember_form(atom/movable/A, mob/user)
if(A.name in available_forms)
@@ -127,8 +127,8 @@
user.create_log(MISC_LOG, "Mimicked into [user]")
if(!selected_form)
- RegisterSignal(user, COMSIG_PARENT_EXAMINE, .proc/examine_override)
- RegisterSignal(user, COMSIG_MOB_DEATH, .proc/on_death)
+ RegisterSignal(user, COMSIG_PARENT_EXAMINE, PROC_REF(examine_override))
+ RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(on_death))
selected_form = form
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index a2c787f5a66..7d18528528c 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -166,7 +166,7 @@
/datum/status_effect/stacking/ground_pound/stacks_consumed_effect()
flick("legion-smash", latest_attacker)
- addtimer(CALLBACK(latest_attacker, /mob/living/simple_animal/hostile/asteroid/big_legion/.proc/throw_mobs), 1 SECONDS)
+ addtimer(CALLBACK(latest_attacker, TYPE_PROC_REF(/mob/living/simple_animal/hostile/asteroid/big_legion, throw_mobs)), 1 SECONDS)
/datum/status_effect/stacking/ground_pound/on_remove()
latest_attacker = null
diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm
index 293003a5920..653238c6358 100644
--- a/code/datums/status_effects/gas.dm
+++ b/code/datums/status_effects/gas.dm
@@ -12,7 +12,7 @@
icon_state = "frozen"
/datum/status_effect/freon/on_apply()
- RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist)
+ RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist))
if(!owner.stat)
to_chat(owner, "You become frozen in a cube!")
cube = icon('icons/effects/freeze.dmi', "ice_cube")
diff --git a/code/datums/tgs_event_handler.dm b/code/datums/tgs_event_handler.dm
index 9dd5b624115..584c932c951 100644
--- a/code/datums/tgs_event_handler.dm
+++ b/code/datums/tgs_event_handler.dm
@@ -37,7 +37,7 @@ GLOBAL_VAR_INIT(slower_restart, FALSE)
server_announce_global("Server update complete. Changes will be applied on the next round.")
if(TGS_EVENT_WATCHDOG_DETACH)
server_announce_adminonly("\[Info] Server manager restarting...")
- reattach_timer = addtimer(CALLBACK(src, .proc/LateOnReattach), 1 MINUTES, TIMER_STOPPABLE)
+ reattach_timer = addtimer(CALLBACK(src, PROC_REF(LateOnReattach)), 1 MINUTES, TIMER_STOPPABLE)
if(TGS_EVENT_WATCHDOG_REATTACH)
var/datum/tgs_version/old_version = world.TgsVersion()
var/datum/tgs_version/new_version = args[2]
diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm
index 5de84f33a3d..1872c368c3d 100644
--- a/code/datums/weather/weather.dm
+++ b/code/datums/weather/weather.dm
@@ -71,7 +71,7 @@
to_chat(M, telegraph_message)
if(telegraph_sound)
SEND_SOUND(M, sound(telegraph_sound))
- addtimer(CALLBACK(src, .proc/start), telegraph_duration)
+ addtimer(CALLBACK(src, PROC_REF(start)), telegraph_duration)
/datum/weather/proc/start()
if(stage >= MAIN_STAGE)
@@ -85,7 +85,7 @@
to_chat(M, weather_message)
if(weather_sound)
SEND_SOUND(M, sound(weather_sound))
- addtimer(CALLBACK(src, .proc/wind_down), weather_duration)
+ addtimer(CALLBACK(src, PROC_REF(wind_down)), weather_duration)
/datum/weather/proc/wind_down()
if(stage >= WIND_DOWN_STAGE)
@@ -99,7 +99,7 @@
to_chat(M, end_message)
if(end_sound)
SEND_SOUND(M, sound(end_sound))
- addtimer(CALLBACK(src, .proc/end), end_duration)
+ addtimer(CALLBACK(src, PROC_REF(end)), end_duration)
/datum/weather/proc/end()
if(stage == END_STAGE)
diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm
index ff7a0169c15..9fe15e60450 100644
--- a/code/datums/wires/airlock.dm
+++ b/code/datums/wires/airlock.dm
@@ -100,7 +100,7 @@
A.autoclose = mend
if(mend)
if(!A.density)
- INVOKE_ASYNC(A, /obj/machinery/door/airlock/.proc/close)
+ INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, close))
if(WIRE_BOLT_LIGHT)
A.lights = mend
@@ -141,7 +141,7 @@
else if(A.aiControlDisabled == AICONTROLDISABLED_PERMA)
A.aiControlDisabled = AICONTROLDISABLED_BYPASS
- addtimer(CALLBACK(A, /obj/machinery/door/airlock/.proc/ai_control_callback), 1 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/door/airlock, ai_control_callback)), 1 SECONDS)
if(WIRE_ELECTRIFY)
//one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds.
@@ -153,14 +153,14 @@
if(A.emagged) return
if(!A.requiresID() || A.check_access(null))
if(A.density)
- INVOKE_ASYNC(A, /obj/machinery/door/airlock/.proc/open)
+ INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, open))
else
- INVOKE_ASYNC(A, /obj/machinery/door/airlock/.proc/close)
+ INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, close))
if(WIRE_SAFETY)
A.safe = !A.safe
if(!A.density)
- INVOKE_ASYNC(A, /obj/machinery/door/airlock/.proc/close)
+ INVOKE_ASYNC(A, TYPE_PROC_REF(/obj/machinery/door/airlock, close))
if(WIRE_SPEED)
A.normalspeed = !A.normalspeed
diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm
index d47864fc01f..17323db76d4 100644
--- a/code/datums/wires/alarm.dm
+++ b/code/datums/wires/alarm.dm
@@ -62,13 +62,13 @@
if(!A.shorted)
A.shorted = TRUE
A.update_icon()
- addtimer(CALLBACK(A, /obj/machinery/alarm/.proc/unshort_callback), 120 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, unshort_callback)), 120 SECONDS)
if(WIRE_AI_CONTROL)
if(!A.aidisabled)
A.aidisabled = TRUE
A.updateDialog()
- addtimer(CALLBACK(A, /obj/machinery/alarm/.proc/enable_ai_control_callback), 10 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, enable_ai_control_callback)), 10 SECONDS)
if(WIRE_SYPHON)
diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm
index 49931d8fa31..3c322ff3777 100644
--- a/code/datums/wires/apc.dm
+++ b/code/datums/wires/apc.dm
@@ -30,19 +30,19 @@
switch(wire)
if(WIRE_IDSCAN)
A.locked = FALSE
- addtimer(CALLBACK(A, /obj/machinery/power/apc/.proc/relock_callback), 30 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, relock_callback)), 30 SECONDS)
if(WIRE_MAIN_POWER1, WIRE_MAIN_POWER2)
if(!A.shorted)
A.shorted = TRUE
- addtimer(CALLBACK(A, /obj/machinery/power/apc/.proc/check_main_power_callback), 120 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, check_main_power_callback)), 120 SECONDS)
if(WIRE_AI_CONTROL)
if(!A.aidisabled)
A.aidisabled = TRUE
- addtimer(CALLBACK(A, /obj/machinery/power/apc/.proc/check_ai_control_callback), 1 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, check_ai_control_callback)), 1 SECONDS)
..()
diff --git a/code/datums/wires/autolathe.dm b/code/datums/wires/autolathe.dm
index 0d2aab5a81f..5339121c85a 100644
--- a/code/datums/wires/autolathe.dm
+++ b/code/datums/wires/autolathe.dm
@@ -42,12 +42,12 @@
switch(wire)
if(WIRE_AUTOLATHE_HACK)
A.adjust_hacked(!A.hacked)
- addtimer(CALLBACK(A, /obj/machinery/autolathe/.proc/check_hacked_callback), 5 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, check_hacked_callback)), 5 SECONDS)
if(WIRE_ELECTRIFY)
A.shocked = !A.shocked
- addtimer(CALLBACK(A, /obj/machinery/autolathe/.proc/check_electrified_callback), 5 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, check_electrified_callback)), 5 SECONDS)
if(WIRE_AUTOLATHE_DISABLE)
A.disabled = !A.disabled
- addtimer(CALLBACK(A, /obj/machinery/autolathe/.proc/check_disabled_callback), 5 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, check_disabled_callback)), 5 SECONDS)
diff --git a/code/datums/wires/nuclearbomb.dm b/code/datums/wires/nuclearbomb.dm
index 3515f2e1bbc..379022bf350 100644
--- a/code/datums/wires/nuclearbomb.dm
+++ b/code/datums/wires/nuclearbomb.dm
@@ -28,7 +28,7 @@
switch(wire)
if(WIRE_BOMB_LIGHT)
N.lighthack = !N.lighthack
- addtimer(CALLBACK(N, /obj/machinery/nuclearbomb/.proc/reset_lighthack_callback), 10 SECONDS)
+ addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/machinery/nuclearbomb, reset_lighthack_callback)), 10 SECONDS)
if(WIRE_BOMB_TIMING)
if(N.timing)
@@ -37,7 +37,7 @@
if(WIRE_BOMB_SAFETY)
N.safety = !N.safety
- addtimer(CALLBACK(N, /obj/machinery/nuclearbomb/.proc/reset_safety_callback), 10 SECONDS)
+ addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/machinery/nuclearbomb, reset_safety_callback)), 10 SECONDS)
/datum/wires/nuclearbomb/on_cut(wire, mend)
var/obj/machinery/nuclearbomb/N = holder
diff --git a/code/datums/wires/suitstorage.dm b/code/datums/wires/suitstorage.dm
index 1fe306806ef..d9df0399dd4 100644
--- a/code/datums/wires/suitstorage.dm
+++ b/code/datums/wires/suitstorage.dm
@@ -55,7 +55,7 @@
A.shocked = !A.shocked
if(A.shocked)
A.shock(usr, 100)
- addtimer(CALLBACK(A, /obj/machinery/suit_storage_unit/.proc/check_electrified_callback), 5 SECONDS)
+ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/suit_storage_unit, check_electrified_callback)), 5 SECONDS)
if(WIRE_SSU_UV)
A.uv_super = !A.uv_super
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 147473cfc56..ddf3d239919 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -158,7 +158,7 @@
if(D.operating && D.operating != DOOR_CLOSING)
D.nextstate = FD_CLOSED
else if(!D.density)
- INVOKE_ASYNC(D, /obj/machinery/door/firedoor.proc/close)
+ INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/firedoor, close))
/area/proc/air_doors_open()
if(!air_doors_activated)
@@ -173,7 +173,7 @@
if(D.operating && D.operating != DOOR_OPENING)
D.nextstate = FD_OPEN
else if(D.density)
- INVOKE_ASYNC(D, /obj/machinery/door/firedoor.proc/open)
+ INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door/firedoor, open))
/area/Destroy()
STOP_PROCESSING(SSobj, src)
@@ -252,7 +252,7 @@
// At this point, the area is safe and the door is technically functional.
- INVOKE_ASYNC(D, (opening ? /obj/machinery/door/firedoor.proc/deactivate_alarm : /obj/machinery/door/firedoor.proc/activate_alarm))
+ INVOKE_ASYNC(D, (opening ? TYPE_PROC_REF(/obj/machinery/door/firedoor, deactivate_alarm) : TYPE_PROC_REF(/obj/machinery/door/firedoor, activate_alarm)))
if(D.welded)
continue // Alarm is toggled, but door stuck
if(D.operating)
@@ -261,7 +261,7 @@
else
D.nextstate = opening ? FD_OPEN : FD_CLOSED
else if(D.density == opening)
- INVOKE_ASYNC(D, (opening ? /obj/machinery/door/firedoor.proc/open : /obj/machinery/door/firedoor.proc/close))
+ INVOKE_ASYNC(D, (opening ? TYPE_PROC_REF(/obj/machinery/door/firedoor, open) : TYPE_PROC_REF(/obj/machinery/door/firedoor, close)))
/**
* Generate a firealarm alert for this area
@@ -354,7 +354,7 @@
if(SSalarm.triggerAlarm("Burglar", src, cameras, trigger))
//Cancel silicon alert after 1 minute
- addtimer(CALLBACK(SSalarm, /datum/controller/subsystem/alarm.proc/cancelAlarm, "Burglar", src, trigger), 600)
+ addtimer(CALLBACK(SSalarm, TYPE_PROC_REF(/datum/controller/subsystem/alarm, cancelAlarm), "Burglar", src, trigger), 600)
/**
* Trigger the fire alarm visual affects in an area
@@ -565,11 +565,11 @@
/area/proc/prison_break()
for(var/obj/machinery/power/apc/temp_apc in src)
- INVOKE_ASYNC(temp_apc, /obj/machinery/power/apc.proc/overload_lighting, 70)
+ INVOKE_ASYNC(temp_apc, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting), 70)
for(var/obj/machinery/door/airlock/temp_airlock in src)
- INVOKE_ASYNC(temp_airlock, /obj/machinery/door/airlock.proc/prison_open)
+ INVOKE_ASYNC(temp_airlock, TYPE_PROC_REF(/obj/machinery/door/airlock, prison_open))
for(var/obj/machinery/door/window/temp_windoor in src)
- INVOKE_ASYNC(temp_windoor, /obj/machinery/door.proc/open)
+ INVOKE_ASYNC(temp_windoor, TYPE_PROC_REF(/obj/machinery/door, open))
/area/AllowDrop()
CRASH("Bad op: area/AllowDrop() called")
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 5042410f877..28c6cf8cabd 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -543,7 +543,7 @@
/atom/proc/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
if(density && !has_gravity(AM)) //thrown stuff bounces off dense stuff in no grav, unless the thrown stuff ends up inside what it hit(embedding, bola, etc...).
- addtimer(CALLBACK(src, .proc/hitby_react, AM), 2)
+ addtimer(CALLBACK(src, PROC_REF(hitby_react), AM), 2)
/atom/proc/hitby_react(atom/movable/AM)
if(AM && isturf(AM.loc))
@@ -559,7 +559,7 @@
/atom/proc/update_filters()
filters = null
- filter_data = sortTim(filter_data, /proc/cmp_filter_data_priority, TRUE)
+ filter_data = sortTim(filter_data, GLOBAL_PROC_REF(cmp_filter_data_priority), TRUE)
for(var/f in filter_data)
var/list/data = filter_data[f]
var/list/arguments = data.Copy()
@@ -1066,7 +1066,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
if(length(speech_bubble_hearers))
var/image/I = image('icons/mob/talk.dmi', src, "[bubble_icon][say_test(message)]", FLY_LAYER)
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
- INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, speech_bubble_hearers, 30)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), I, speech_bubble_hearers, 30)
/atom/proc/speech_bubble(bubble_state = "", bubble_loc = src, list/bubble_recipients = list())
return
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 8d622f9aa07..5e312ce96da 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -315,13 +315,13 @@
/mob/living/forceMove(atom/destination)
if(buckled)
- addtimer(CALLBACK(src, .proc/check_buckled), 1, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(check_buckled)), 1, TIMER_UNIQUE)
if(has_buckled_mobs())
for(var/m in buckled_mobs)
var/mob/living/buckled_mob = m
- addtimer(CALLBACK(buckled_mob, .proc/check_buckled), 1, TIMER_UNIQUE)
+ addtimer(CALLBACK(buckled_mob, PROC_REF(check_buckled)), 1, TIMER_UNIQUE)
if(pulling)
- addtimer(CALLBACK(src, .proc/check_pull), 1, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(check_pull)), 1, TIMER_UNIQUE)
. = ..()
if(client)
reset_perspective(destination)
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index 9c88b3931f2..ff51970c87d 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -376,8 +376,8 @@
. = ..()
for(var/i=0;i<3;i++)
buffers[i+1]=new /datum/dna2/record
- addtimer(CALLBACK(src, .proc/find_machine), 1 SECONDS)
- addtimer(CALLBACK(src, .proc/ready), 25 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(find_machine)), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(ready)), 25 SECONDS)
/obj/machinery/computer/scan_consolenew/proc/find_machine()
for(var/obj/machinery/dna_scannernew/scanner in orange(1, src))
@@ -808,7 +808,7 @@
// Cooldown
injector_ready = FALSE
- addtimer(CALLBACK(src, .proc/injector_cooldown_finish), 30 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(injector_cooldown_finish)), 30 SECONDS)
// Create it
var/datum/dna2/record/buf = buffers[buffer_id]
diff --git a/code/game/dna/mutations/powers.dm b/code/game/dna/mutations/powers.dm
index e8acf6f0d64..532a24dadd2 100644
--- a/code/game/dna/mutations/powers.dm
+++ b/code/game/dna/mutations/powers.dm
@@ -970,7 +970,7 @@
user.show_message("You offer your mind to [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"].")
target.show_message("[message]")
available_targets += target
- addtimer(CALLBACK(src, .proc/removeAvailability, target), 100)
+ addtimer(CALLBACK(src, PROC_REF(removeAvailability), target), 100)
/obj/effect/proc_holder/spell/mindscan/proc/removeAvailability(mob/living/target)
if(target in available_targets)
diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm
index 1bfbf2c32c2..e7cab7cb49b 100644
--- a/code/game/gamemodes/blob/blob.dm
+++ b/code/game/gamemodes/blob/blob.dm
@@ -74,7 +74,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
log_game("[key_name(blob)] has been selected as a Blob")
greet_blob(blobmind)
to_chat(blob, "You feel very tired and bloated! You don't have long before you burst!")
- addtimer(CALLBACK(src, .proc/burst_blob, blobmind), 60 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(burst_blob), blobmind), 60 SECONDS)
return 1
/datum/game_mode/blob/proc/make_blobs(count)
@@ -126,7 +126,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
if(!warned)
to_chat(C, "You feel ready to burst, but this isn't an appropriate place! You must return to the station!")
message_admins("[key_name_admin(C)] was in space when the blobs burst, and will die if [C.p_they()] [C.p_do()] not return to the station.")
- addtimer(CALLBACK(src, .proc/burst_blob, blob, 1), 30 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(burst_blob), blob, 1), 30 SECONDS)
else
burst++
log_admin("[key_name(C)] was in space when attempting to burst as a blob.")
@@ -170,13 +170,13 @@ GLOBAL_LIST_EMPTY(blob_nodes)
show_message("You feel like you are about to burst.")
- addtimer(CALLBACK(src, .proc/burst_blobs), (wait_time / 2))
+ addtimer(CALLBACK(src, PROC_REF(burst_blobs)), (wait_time / 2))
// Stage 1
- addtimer(CALLBACK(src, .proc/stage, 1), (wait_time * 2 + wait_time / 2))
+ addtimer(CALLBACK(src, PROC_REF(stage), 1), (wait_time * 2 + wait_time / 2))
// Stage 2
- addtimer(CALLBACK(src, .proc/stage, 2), 50 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(stage), 2), 50 MINUTES)
return ..()
diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm
index 659d0d1bec5..5b60f99813b 100644
--- a/code/game/gamemodes/blob/blobs/core.dm
+++ b/code/game/gamemodes/blob/blobs/core.dm
@@ -98,7 +98,7 @@
if(overmind)
qdel(overmind)
- INVOKE_ASYNC(src, .proc/get_new_overmind, new_overmind)
+ INVOKE_ASYNC(src, PROC_REF(get_new_overmind), new_overmind)
/obj/structure/blob/core/proc/get_new_overmind(client/new_overmind)
var/mob/C = null
@@ -126,7 +126,7 @@
B.mind.make_Overmind()
/obj/structure/blob/core/proc/lateblobtimer()
- addtimer(CALLBACK(src, .proc/lateblobcheck), 50)
+ addtimer(CALLBACK(src, PROC_REF(lateblobcheck)), 50)
/obj/structure/blob/core/proc/lateblobcheck()
if(overmind)
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index c3ec43b145f..79683898ec8 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -81,7 +81,7 @@
B.color = blob_reagent_datum?.complementary_color
B.overmind = src
blob_mobs += B
- RegisterSignal(B, COMSIG_PARENT_QDELETING, .proc/on_blob_mob_death)
+ RegisterSignal(B, COMSIG_PARENT_QDELETING, PROC_REF(on_blob_mob_death))
/mob/camera/blob/proc/on_blob_mob_death(mob/living/simple_animal/hostile/blob/B)
blob_mobs -= B
diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm
index b24124f5d99..d2f3844ebc7 100644
--- a/code/game/gamemodes/cult/blood_magic.dm
+++ b/code/game/gamemodes/cult/blood_magic.dm
@@ -186,7 +186,7 @@
owner.visible_message("[owner]'s body flashes a bright blue!", \
"You speak the cursed words, channeling an electromagnetic pulse from your body.")
owner.emp_act(2)
- INVOKE_ASYNC(GLOBAL_PROC, /proc/empulse, owner, 2, 5, TRUE, "cult")
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(empulse), owner, 2, 5, TRUE, "cult")
owner.whisper(invocation)
charges--
if(charges <= 0)
@@ -517,7 +517,7 @@
var/turf/origin = get_turf(teleportee)
var/turf/destination = get_turf(actual_selected_rune)
- INVOKE_ASYNC(actual_selected_rune, /obj/effect/rune/.proc/teleport_effect, teleportee, origin, destination)
+ INVOKE_ASYNC(actual_selected_rune, TYPE_PROC_REF(/obj/effect/rune, teleport_effect), teleportee, origin, destination)
if(is_mining_level(user.z) && !is_mining_level(destination.z)) //No effect if you stay on lavaland
actual_selected_rune.handle_portal("lava")
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index bff66176594..7a330328672 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -101,7 +101,7 @@ GLOBAL_LIST_EMPTY(all_cults)
cult_objs.study(cult_mind.current)
to_chat(cult_mind.current, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Cultist)")
cult_threshold_check()
- addtimer(CALLBACK(src, .proc/cult_threshold_check), 2 MINUTES) // Check again in 2 minutes for latejoiners
+ addtimer(CALLBACK(src, PROC_REF(cult_threshold_check)), 2 MINUTES) // Check again in 2 minutes for latejoiners
..()
/datum/game_mode/proc/equip_cultist(mob/living/carbon/human/H, metal = TRUE)
@@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(all_cults)
continue
SEND_SOUND(M.current, sound('sound/hallucinations/i_see_you2.ogg'))
to_chat(M.current, "The veil weakens as your cult grows, your eyes begin to glow...")
- addtimer(CALLBACK(src, .proc/rise, M.current), 20 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(rise), M.current), 20 SECONDS)
else if(cult_players >= ascend_number)
cult_ascendant = TRUE
@@ -273,7 +273,7 @@ GLOBAL_LIST_EMPTY(all_cults)
continue
SEND_SOUND(M.current, sound('sound/hallucinations/im_here1.ogg'))
to_chat(M.current, "Your cult is ascendant and the red harvest approaches - you cannot hide your true nature for much longer!")
- addtimer(CALLBACK(src, .proc/ascend, M.current), 20 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(ascend), M.current), 20 SECONDS)
GLOB.major_announcement.Announce("Picking up extradimensional activity related to the Cult of [SSticker.cultdat ? SSticker.cultdat.entity_name : "Nar'Sie"] from your station. Data suggests that about [ascend_percent * 100]% of the station has been converted. Security staff are authorized to use lethal force freely against cultists. Non-security staff should be prepared to defend themselves and their work areas from hostile cultists. Self defense permits non-security staff to use lethal force as a last resort, but non-security staff should be defending their work areas, not hunting down cultists. Dead crewmembers must be revived and deconverted once the situation is under control.", "Central Command Higher Dimensional Affairs", 'sound/AI/commandreport.ogg')
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index d9fd0f1b073..d3d012f0e30 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -509,7 +509,7 @@
playsound(src, 'sound/weapons/parry.ogg', 100, TRUE)
if(illusions > 0)
illusions--
- addtimer(CALLBACK(src, .proc/readd), 45 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(readd)), 45 SECONDS)
if(prob(60))
spawn_illusion(owner, TRUE) // Hostile illusion
else
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 77c4075081d..97d238f2722 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -494,9 +494,9 @@ structure_check() searches for nearby cultist structures required for the invoca
for(var/atom/movable/A in T)
if(ishuman(A))
if(A != user) // Teleporting someone else
- INVOKE_ASYNC(src, .proc/teleport_effect, A, T, target)
+ INVOKE_ASYNC(src, PROC_REF(teleport_effect), A, T, target)
else // Teleporting yourself
- INVOKE_ASYNC(src, .proc/teleport_effect, user, T, target)
+ INVOKE_ASYNC(src, PROC_REF(teleport_effect), user, T, target)
if(A.move_resist == INFINITY)
continue //object cant move, shouldnt teleport
if(A == user)
@@ -546,7 +546,7 @@ structure_check() searches for nearby cultist structures required for the invoca
outer_portal = new(T, 60 SECONDS, color)
light_range = 4
update_light()
- addtimer(CALLBACK(src, .proc/close_portal), 60 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(close_portal)), 60 SECONDS, TIMER_UNIQUE)
/obj/effect/rune/teleport/proc/close_portal()
qdel(inner_portal)
@@ -747,7 +747,7 @@ structure_check() searches for nearby cultist structures required for the invoca
cultist_to_summon.visible_message("[cultist_to_summon] suddenly disappears in a flash of red light!", \
"Overwhelming vertigo consumes you as you are hurled through the air!")
..()
- INVOKE_ASYNC(src, .proc/teleport_effect, cultist_to_summon, get_turf(cultist_to_summon), src)
+ INVOKE_ASYNC(src, PROC_REF(teleport_effect), cultist_to_summon, get_turf(cultist_to_summon), src)
visible_message("[src] begins to bubble and rises into the form of [cultist_to_summon]!")
cultist_to_summon.forceMove(get_turf(src))
qdel(src)
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 55d07f78ce9..56b250709c8 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -80,7 +80,7 @@
spawn (ROUNDSTART_LOGOUT_REPORT_TIME)
display_roundstart_logout_report()
- INVOKE_ASYNC(src, .proc/set_mode_in_db) // Async query, dont bother slowing roundstart
+ INVOKE_ASYNC(src, PROC_REF(set_mode_in_db)) // Async query), dont bother slowing roundstart
generate_station_goals()
GLOB.start_state = new /datum/station_state()
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 1f11f2da31b..a5c168fb7aa 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -503,7 +503,7 @@
attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining."
attached_action.UpdateButtonIcon()
target.audible_message("You hear a loud electrical buzzing sound coming from [target]!")
- 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(ranged_ability_user, "Overloading machine circuitry...")
return TRUE
@@ -558,7 +558,7 @@
attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining."
attached_action.UpdateButtonIcon()
target.audible_message("You hear a loud electrical buzzing sound coming from [target]!")
- 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(ranged_ability_user, "Sending override signal...")
return TRUE
@@ -632,7 +632,7 @@
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, "[alert_msg]")
return success
@@ -662,7 +662,7 @@
for(var/thing in GLOB.apcs)
var/obj/machinery/power/apc/apc = thing
if(prob(30 * apc.overload))
- INVOKE_ASYNC(apc, /obj/machinery/power/apc.proc/overload_lighting)
+ INVOKE_ASYNC(apc, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting))
else
apc.overload++
to_chat(owner, "Overcurrent applied to the powernet.")
diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm
index 1bc5f5eb727..1f6b8eb52ab 100644
--- a/code/game/gamemodes/miniantags/abduction/gland.dm
+++ b/code/game/gamemodes/miniantags/abduction/gland.dm
@@ -57,7 +57,7 @@
owner.create_log(CONVERSION_LOG, "received an abductor mind control message: '[command]'", user)
update_gland_hud()
- addtimer(CALLBACK(src, .proc/clear_mind_control), mind_control_duration)
+ addtimer(CALLBACK(src, PROC_REF(clear_mind_control)), mind_control_duration)
/obj/item/organ/internal/heart/gland/proc/clear_mind_control()
if(!ownerCheck() || !active_mind_control)
@@ -294,7 +294,7 @@
owner.visible_message("[owner]'s skin starts emitting electric arcs!",\
"You feel electric energy building up inside you!")
playsound(get_turf(owner), "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- addtimer(CALLBACK(src, .proc/zap), rand(30, 100))
+ addtimer(CALLBACK(src, PROC_REF(zap)), rand(30, 100))
/obj/item/organ/internal/heart/gland/electric/proc/zap()
tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN)
diff --git a/code/game/gamemodes/miniantags/guardian/host_actions.dm b/code/game/gamemodes/miniantags/guardian/host_actions.dm
index c03354a8f4b..ce96bde13b5 100644
--- a/code/game/gamemodes/miniantags/guardian/host_actions.dm
+++ b/code/game/gamemodes/miniantags/guardian/host_actions.dm
@@ -81,7 +81,7 @@
return
// Do this immediately, so the user can't spam a bunch of polls.
- cooldown_timer = addtimer(CALLBACK(src, .proc/reset_cooldown), 5 MINUTES)
+ cooldown_timer = addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), 5 MINUTES)
UpdateButtonIcon()
to_chat(owner, "Searching for a replacement ghost...")
diff --git a/code/game/gamemodes/miniantags/guardian/types/bomb.dm b/code/game/gamemodes/miniantags/guardian/types/bomb.dm
index 2bc72f4514f..87025128eb2 100644
--- a/code/game/gamemodes/miniantags/guardian/types/bomb.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/bomb.dm
@@ -51,7 +51,7 @@
appearance = A.appearance
dir = A.dir
move_resist = A.move_resist
- addtimer(CALLBACK(src, .proc/disable), 600)
+ addtimer(CALLBACK(src, PROC_REF(disable)), 600)
/obj/item/guardian_bomb/proc/disable()
add_attack_logs(null, stored_obj, "booby trap expired")
diff --git a/code/game/gamemodes/miniantags/guardian/types/charger.dm b/code/game/gamemodes/miniantags/guardian/types/charger.dm
index 2fd88ef82d9..d9a49be17f0 100644
--- a/code/game/gamemodes/miniantags/guardian/types/charger.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/charger.dm
@@ -32,7 +32,7 @@
/mob/living/simple_animal/hostile/guardian/charger/Shoot(atom/targeted_atom)
charging = TRUE
- throw_at(targeted_atom, range, 1, src, 0, callback = CALLBACK(src, .proc/charging_end))
+ throw_at(targeted_atom, range, 1, src, 0, callback = CALLBACK(src, PROC_REF(charging_end)))
/mob/living/simple_animal/hostile/guardian/charger/proc/charging_end()
charging = FALSE
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index 7b013e55f35..2595ceb542a 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -174,7 +174,7 @@
ambush_prepared = TRUE
to_chat(src, "You are ready to ambush any unsuspected target. Your next attack will hurt a lot more and weaken the target! Moving will break your focus. Standing still will perfect your disguise.")
apply_status_effect(/datum/status_effect/morph_ambush)
- RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/on_move)
+ RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
/mob/living/simple_animal/hostile/morph/proc/failed_ambush()
ambush_prepared = FALSE
diff --git a/code/game/gamemodes/miniantags/morph/spells/ambush.dm b/code/game/gamemodes/miniantags/morph/spells/ambush.dm
index 1cd22128303..3d774b402c7 100644
--- a/code/game/gamemodes/miniantags/morph/spells/ambush.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/ambush.dm
@@ -25,7 +25,7 @@
/obj/effect/proc_holder/spell/morph_spell/ambush/cast(list/targets, mob/living/simple_animal/hostile/morph/user)
to_chat(user, "You start preparing an ambush.")
- if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, .proc/prepare_check, user)), FALSE))
+ if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, PROC_REF(prepare_check), user)), FALSE))
if(!user.morphed)
to_chat(user, "You need to stay morphed to prepare the ambush!")
return
diff --git a/code/game/gamemodes/miniantags/morph/spells/open_vent.dm b/code/game/gamemodes/miniantags/morph/spells/open_vent.dm
index eb05c75eeb2..2b70d6b19c4 100644
--- a/code/game/gamemodes/miniantags/morph/spells/open_vent.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/open_vent.dm
@@ -33,7 +33,7 @@
for(var/thing in targets)
var/obj/machinery/atmospherics/unary/U = thing
U.add_overlay(GLOB.acid_overlay, TRUE)
- addtimer(CALLBACK(src, .proc/unweld_vent, U), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(unweld_vent), U), 2 SECONDS)
playsound(U, 'sound/items/welder.ogg', 100, TRUE)
/obj/effect/proc_holder/spell/morph_spell/open_vent/proc/unweld_vent(obj/machinery/atmospherics/unary/U)
diff --git a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm
index 849b3fd7fb7..4eecf105a38 100644
--- a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm
@@ -33,7 +33,7 @@
revert_cast(user)
return
user.visible_message("[user] starts pushing itself against [A]!", "You try to pry [A] open enough to get through.")
- if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, .proc/pass_check, user, A)), FALSE))
+ if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, PROC_REF(pass_check), user, A)), FALSE))
if(user.morphed)
to_chat(user, "You need to stay in your true form to pass through [A]!")
else if(A.locked)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index a8ef2f10e72..7d88981436d 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -137,7 +137,7 @@
remove_from_all_data_huds()
random_revenant_name()
- addtimer(CALLBACK(src, .proc/firstSetupAttempt), 15 SECONDS) // Give admin 15 seconds to put in a ghost (Or wait 15 seconds before giving it objectives)
+ addtimer(CALLBACK(src, PROC_REF(firstSetupAttempt)), 15 SECONDS) // Give admin 15 seconds to put in a ghost (Or wait 15 seconds before giving it objectives)
/mob/living/simple_animal/revenant/proc/random_revenant_name()
var/built_name = ""
@@ -153,7 +153,7 @@
giveSpells()
else
message_admins("Revenant was created but has no mind. Put a ghost inside, or a poll will be made in one minute.")
- addtimer(CALLBACK(src, .proc/setupOrDelete), 1 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(setupOrDelete)), 1 MINUTES)
/mob/living/simple_animal/revenant/proc/setupOrDelete()
if(mind)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index 0010af044a4..9df850ef0b7 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -214,7 +214,7 @@
/obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/select_lights(turf/T, mob/living/simple_animal/revenant/user)
for(var/obj/machinery/light/L in T.contents)
- INVOKE_ASYNC(src, .proc/shock_lights, L, user)
+ INVOKE_ASYNC(src, PROC_REF(shock_lights), L, user)
/obj/effect/proc_holder/spell/aoe_turf/revenant/overload/proc/shock_lights(obj/machinery/light/L, mob/living/simple_animal/revenant/user)
if(!L.on)
@@ -276,7 +276,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/effect, user, T)
+ INVOKE_ASYNC(src, PROC_REF(effect), user, T)
/obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/proc/effect(mob/living/simple_animal/revenant/user, turf/T)
T.rev_malfunction(TRUE)
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
index a7141371f05..962d44076bd 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
@@ -65,7 +65,7 @@
whisper_action.Grant(src)
if(istype(loc, /obj/effect/dummy/slaughter))
bloodspell.phased = TRUE
- addtimer(CALLBACK(src, .proc/attempt_objectives), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(attempt_objectives)), 5 SECONDS)
/mob/living/simple_animal/slaughter/Life(seconds, times_fired)
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 3dc05d4c829..68db9c39e22 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -70,7 +70,7 @@ GLOBAL_VAR(bomb_set)
GLOB.bomb_set = TRUE // So long as there is one nuke timing, it means one nuke is armed.
timeleft = max(timeleft - 2, 0) // 2 seconds per process()
if(timeleft <= 0)
- INVOKE_ASYNC(src, .proc/explode)
+ INVOKE_ASYNC(src, PROC_REF(explode))
return
/obj/machinery/nuclearbomb/update_overlays()
@@ -430,7 +430,7 @@ GLOBAL_VAR(bomb_set)
if(exploded)
return
if(timing) //boom
- INVOKE_ASYNC(src, .proc/explode)
+ INVOKE_ASYNC(src, PROC_REF(explode))
return
//if no boom then we need to let the blob capture our nuke
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index cb6d511bfac..71835240aab 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -390,7 +390,7 @@
target_set = TRUE
mode = MODE_DET
visible_message("The pinpointer flickers as it begins tracking a target relayed from a detective's revolver.", "You hear a pinpointer flickering.")
- addtimer(CALLBACK(src, .proc/stop_tracking), 1 MINUTES, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(stop_tracking)), 1 MINUTES, TIMER_UNIQUE)
START_PROCESSING(SSfastprocess, src)
/obj/item/pinpointer/crew/proc/stop_tracking()
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 3542ea361a4..85a3a4461e6 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -76,7 +76,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
to_chat(owner.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")
SEND_SOUND(owner.current, sound('sound/ambience/alarm4.ogg'))
target = null
- INVOKE_ASYNC(src, .proc/post_target_cryo)
+ INVOKE_ASYNC(src, PROC_REF(post_target_cryo))
/**
* Called a tick after when the objective's target goes to cryo.
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 8d73308e180..8e06c4bdb83 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -72,7 +72,7 @@
for(var/datum/mind/head_mind in heads)
mark_for_death(rev_mind, head_mind)
- addtimer(CALLBACK(src, .proc/equip_revolutionary, rev_mind.current), rand(10, 100))
+ addtimer(CALLBACK(src, PROC_REF(equip_revolutionary), rev_mind.current), rand(10, 100))
for(var/datum/mind/rev_mind in head_revolutionaries)
greet_revolutionary(rev_mind)
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index 363d67d44bc..d632dd5f611 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -322,7 +322,7 @@
"Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = SSticker.cultdat.get_icon("builder")))
if(shade)
- var/construct_choice = show_radial_menu(user, shell, construct_icons, custom_check = CALLBACK(src, .proc/radial_check, user), require_near = TRUE)
+ var/construct_choice = show_radial_menu(user, shell, construct_icons, custom_check = CALLBACK(src, PROC_REF(radial_check), user), require_near = TRUE)
var/picked_class = construct_types[construct_choice]
if((picked_class && !QDELETED(shell) && !QDELETED(src)) && user.Adjacent(shell) && !user.incapacitated() && radial_check(user))
var/mob/living/simple_animal/hostile/construct/C = new picked_class(shell.loc)
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index 967ba57175d..6e7c7a6af56 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -46,7 +46,7 @@
log_game("[key_name(wizard)] has been selected as a Wizard")
forge_wizard_objectives(wizard)
equip_wizard(wizard.current)
- INVOKE_ASYNC(src, .proc/name_wizard, wizard.current)
+ INVOKE_ASYNC(src, PROC_REF(name_wizard), wizard.current)
greet_wizard(wizard)
if(use_huds)
update_wiz_icons_added(wizard)
@@ -99,7 +99,7 @@
wizard_mob.mind.name = newname
/datum/game_mode/proc/greet_wizard(datum/mind/wizard, you_are=1)
- addtimer(CALLBACK(wizard.current, /mob/.proc/playsound_local, null, 'sound/ambience/antag/ragesmages.ogg', 100, 0), 30)
+ addtimer(CALLBACK(wizard.current, TYPE_PROC_REF(/mob, playsound_local), null, 'sound/ambience/antag/ragesmages.ogg', 100, 0), 30)
if(you_are)
to_chat(wizard.current, "You are the Space Wizard!")
to_chat(wizard.current, "The Space Wizards Federation has given you the following tasks:")
diff --git a/code/game/jobs/job/support_chaplain.dm b/code/game/jobs/job/support_chaplain.dm
index 294776cb1f0..53372071aae 100644
--- a/code/game/jobs/job/support_chaplain.dm
+++ b/code/game/jobs/job/support_chaplain.dm
@@ -36,7 +36,7 @@
if(H.mind)
H.mind.isholy = TRUE
- INVOKE_ASYNC(src, .proc/religion_pick, H)
+ INVOKE_ASYNC(src, PROC_REF(religion_pick), H)
/datum/outfit/job/chaplain/proc/religion_pick(mob/living/carbon/human/user)
var/obj/item/storage/bible/B = new /obj/item/storage/bible(get_turf(user))
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index d6874027ff8..cc93eb171a1 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -54,7 +54,7 @@
uses--
cooldown_on = TRUE
power_change()
- addtimer(CALLBACK(src, .proc/recharge), cooldown_time)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), cooldown_time)
/obj/machinery/ai_slipper/update_icon_state()
if(stat & (NOPOWER|BROKEN) || cooldown_on || !uses)
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index d456312e8f4..b6ba9232d39 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -40,7 +40,7 @@
/obj/machinery/autolathe/Initialize()
. = ..()
- AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), _show_on_examine=TRUE, _after_insert=CALLBACK(src, .proc/AfterMaterialInsert))
+ AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), _show_on_examine=TRUE, _after_insert=CALLBACK(src, PROC_REF(AfterMaterialInsert)))
component_parts = list()
component_parts += new board_type(null)
component_parts += new /obj/item/stock_parts/matter_bin(null)
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index b07c5f12729..a0bacc227b2 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -85,22 +85,22 @@
for(var/obj/machinery/door/poddoor/M in range(src, range))
if(M.id_tag == id_tag && !M.protected)
- INVOKE_ASYNC(M, /obj/machinery/door.proc/open)
+ INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/door, open))
// 2 seconds after previous invocation
for(var/obj/machinery/mass_driver/M in range(src, range))
if(M.id_tag == id_tag)
- addtimer(CALLBACK(M, /obj/machinery/mass_driver.proc/drive), 2 SECONDS)
+ addtimer(CALLBACK(M, TYPE_PROC_REF(/obj/machinery/mass_driver, drive)), 2 SECONDS)
// We want this 5 seconds after open, so the delay is 7 seconds from this proc
for(var/obj/machinery/door/poddoor/M in range(src, range))
if(M.id_tag == id_tag && !M.protected)
- addtimer(CALLBACK(M, /obj/machinery/door.proc/close), 7 SECONDS)
+ addtimer(CALLBACK(M, TYPE_PROC_REF(/obj/machinery/door, close)), 7 SECONDS)
// And rearm us
- addtimer(CALLBACK(src, .proc/rearm), 7 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(rearm)), 7 SECONDS)
/obj/machinery/driver_button/proc/rearm()
icon_state = "launcherbtt"
@@ -157,7 +157,7 @@
for(var/obj/machinery/sparker/M in GLOB.machines)
if(M.id == id)
- INVOKE_ASYNC(M, /obj/machinery/sparker.proc/spark)
+ INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/machinery/sparker, spark))
for(var/obj/machinery/igniter/M in GLOB.machines)
if(M.id == id)
@@ -165,7 +165,7 @@
M.on = !M.on
M.icon_state = "igniter[M.on]"
- addtimer(CALLBACK(src, .proc/rearm), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(rearm)), 5 SECONDS)
/obj/machinery/ignition_switch/proc/rearm()
icon_state = "launcherbtt"
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 54c58c9b982..b398f4f6ad9 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -295,8 +295,8 @@ GLOBAL_LIST_INIT(cloner_biomass_items, list(\
else if(grab_ghost_when == CLONER_MATURE_CLONE)
to_chat(clonemind.current, "Your body is beginning to regenerate in a cloning pod. You will become conscious when it is complete.")
// Set up a soul link with the dead body to catch a revival
- RegisterSignal(clonemind.current, COMSIG_LIVING_REVIVE, .proc/occupant_got_revived)
- RegisterSignal(clonemind, COMSIG_MIND_TRANSER_TO, .proc/occupant_got_revived)
+ RegisterSignal(clonemind.current, COMSIG_LIVING_REVIVE, PROC_REF(occupant_got_revived))
+ RegisterSignal(clonemind, COMSIG_MIND_TRANSER_TO, PROC_REF(occupant_got_revived))
SSblackbox.record_feedback("tally", "players_revived", 1, "cloned")
update_icon()
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index a695b5d4ff0..5da774972bb 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -65,7 +65,7 @@
to_chat(usr, "You are already fixing this AI!")
return
active = TRUE
- INVOKE_ASYNC(src, .proc/fix_ai)
+ INVOKE_ASYNC(src, PROC_REF(fix_ai))
add_fingerprint(usr)
if("wireless")
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index fd69493756b..df331cda39c 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -46,7 +46,7 @@
return FALSE
flickering = TRUE
- INVOKE_ASYNC(src, /obj/machinery/computer/.proc/flicker_event)
+ INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/computer, flicker_event))
return TRUE
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 1946b8da638..0a12a40e154 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -301,7 +301,7 @@
printing = TRUE
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
SStgui.update_uis(src)
- addtimer(CALLBACK(src, .proc/print_finish), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_finish)), 5 SECONDS)
else
return FALSE
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index 12476e4daec..6b09cbebcb2 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -42,7 +42,7 @@
//If the monitor isn't linked to a server, and there's a server available, default it to the first one in the list.
if(!linkedServer && length(GLOB.message_servers))
linkedServer = GLOB.message_servers[1]
- RegisterSignal(linkedServer, COMSIG_PARENT_QDELETING, .proc/unlink_server)
+ RegisterSignal(linkedServer, COMSIG_PARENT_QDELETING, PROC_REF(unlink_server))
/obj/machinery/computer/message_monitor/proc/unlink_server()
SIGNAL_HANDLER
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index de32b985944..a9f81b6fa51 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -265,7 +265,7 @@
return
is_printing = TRUE
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
- addtimer(CALLBACK(src, .proc/print_record_finish), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_record_finish)), 5 SECONDS)
else
return FALSE
@@ -377,7 +377,7 @@
return
is_printing = TRUE
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
- addtimer(CALLBACK(src, .proc/print_cell_log_finish, T.name, T.info), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_cell_log_finish), T.name, T.info), 5 SECONDS)
else
return FALSE
else
diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm
index 61b7b2e8e0e..f7458a004c9 100644
--- a/code/game/machinery/computer/station_alert.dm
+++ b/code/game/machinery/computer/station_alert.dm
@@ -13,8 +13,8 @@
/obj/machinery/computer/station_alert/Initialize(mapload)
. = ..()
GLOB.alert_consoles += src
- RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, .proc/alarm_triggered)
- RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, .proc/alarm_cancelled)
+ RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered))
+ RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled))
/obj/machinery/computer/station_alert/Destroy()
GLOB.alert_consoles -= src
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index f86e8b64d9a..556dacf9fdc 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -146,7 +146,7 @@
if(preserve_status == CRYO_OBJECTIVE)
objective_items += I
I.forceMove(src)
- RegisterSignal(I, COMSIG_MOVABLE_MOVED, .proc/item_got_removed)
+ RegisterSignal(I, COMSIG_MOVABLE_MOVED, PROC_REF(item_got_removed))
/obj/machinery/computer/cryopod/proc/item_got_removed(obj/item/I)
objective_items -= I
diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm
index 7da76757020..5a40eba1a78 100644
--- a/code/game/machinery/dance_machine.dm
+++ b/code/game/machinery/dance_machine.dm
@@ -322,7 +322,7 @@
glow.update_light()
continue
if(prob(2)) // Unique effects for the dance floor that show up randomly to mix things up
- INVOKE_ASYNC(src, .proc/hierofunk)
+ INVOKE_ASYNC(src, PROC_REF(hierofunk))
sleep(selection.song_beat)
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 2c913d96235..d570bbe6aeb 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -148,7 +148,7 @@
/obj/structure/barricade/security/Initialize(mapload)
. = ..()
- addtimer(CALLBACK(src, .proc/deploy), deploy_time)
+ addtimer(CALLBACK(src, PROC_REF(deploy)), deploy_time)
/obj/structure/barricade/security/proc/deploy()
icon_state = "barrier1"
@@ -316,7 +316,7 @@
/obj/structure/dropwall_generator/proc/deploy(direction, uptime)
anchored = TRUE
protected = TRUE
- addtimer(CALLBACK(src, .proc/power_out), uptime)
+ addtimer(CALLBACK(src, PROC_REF(power_out)), uptime)
timer_overlay_proc(uptime/10)
connected_shields += new /obj/structure/barricade/dropwall(get_turf(loc), src, TRUE, direction)
@@ -366,7 +366,7 @@
if(cycle != 1)
cut_overlay("[(cycle - 1)]")
if(cycle < 12)
- addtimer(CALLBACK(src, .proc/timer_overlay_proc, uptime - 1), DROPWALL_UPTIME / 12 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(timer_overlay_proc), uptime - 1), DROPWALL_UPTIME / 12 SECONDS)
/obj/item/used_dropwall
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index ee88c4f959a..dd0485f03db 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -131,7 +131,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
wires = new(src)
if(closeOtherId != null)
- addtimer(CALLBACK(src, .proc/update_other_id), 5)
+ addtimer(CALLBACK(src, PROC_REF(update_other_id)), 5)
if(glass)
airlock_material = "glass"
if(security_level > AIRLOCK_SECURITY_METAL)
@@ -228,11 +228,11 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
/obj/machinery/door/airlock/proc/loseMainPower()
main_power_lost_until = wires.is_cut(WIRE_MAIN_POWER1) ? -1 : world.time + 60 SECONDS
if(main_power_lost_until > 0)
- main_power_timer = addtimer(CALLBACK(src, .proc/regainMainPower), 60 SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
+ main_power_timer = addtimer(CALLBACK(src, PROC_REF(regainMainPower)), 60 SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
// If backup power is permanently disabled then activate in 10 seconds if possible, otherwise it's already enabled or a timer is already running
if(backup_power_lost_until == -1 && !wires.is_cut(WIRE_BACKUP_POWER1))
backup_power_lost_until = world.time + 10 SECONDS
- backup_power_timer = addtimer(CALLBACK(src, .proc/regainBackupPower), 10 SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
+ backup_power_timer = addtimer(CALLBACK(src, PROC_REF(regainBackupPower)), 10 SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
// Disable electricity if required
if(electrified_until && isAllPowerLoss())
electrify(0)
@@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
/obj/machinery/door/airlock/proc/loseBackupPower()
backup_power_lost_until = wires.is_cut(WIRE_BACKUP_POWER1) ? -1 : world.time + 60 SECONDS
if(backup_power_lost_until > 0)
- backup_power_timer = addtimer(CALLBACK(src, .proc/regainBackupPower), 60 SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
+ backup_power_timer = addtimer(CALLBACK(src, PROC_REF(regainBackupPower)), 60 SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
// Disable electricity if required
if(electrified_until && isAllPowerLoss())
@@ -289,7 +289,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]."
electrified_until = duration == -1 ? -1 : world.time + duration SECONDS
if(duration != -1)
- electrified_timer = addtimer(CALLBACK(src, .proc/electrify, 0), duration SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
+ electrified_timer = addtimer(CALLBACK(src, PROC_REF(electrify), 0), duration SECONDS, TIMER_UNIQUE | TIMER_STOPPABLE)
if(feedback && message)
to_chat(user, message)
diag_hud_set_electrified()
@@ -337,7 +337,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
// Animate() does not work on overlays, so a temporary effect is used
new /obj/effect/temp_visual/polarized_airlock(get_turf(src), polarized_image, animate_color)
- addtimer(CALLBACK(src, /atom/.proc/update_icon, 0, 0), 0.5 SECONDS)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon), 0, 0), 0.5 SECONDS)
//
// Polarization toggling effect
@@ -1119,7 +1119,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
"You begin [welded ? "unwelding":"welding"] the airlock...", \
"You hear welding.")
- if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/weld_checks, I, user)))
+ if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(weld_checks), I, user)))
if(!density && !welded)
return
welded = !welded
@@ -1130,7 +1130,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
user.visible_message("[user] is welding the airlock.", \
"You begin repairing the airlock...", \
"You hear welding.")
- if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/weld_checks, I, user)))
+ if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(weld_checks), I, user)))
obj_integrity = max_integrity
stat &= ~BROKEN
user.visible_message("[user.name] has repaired [src].", \
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 36bbce914e9..42e461053ab 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -128,22 +128,22 @@
for(var/obj/machinery/door/window/brigdoor/M in GLOB.airlocks)
if(M.id == id)
targets += M
- RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/on_target_qdel)
+ RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel))
for(var/obj/machinery/flasher/F in GLOB.machines)
if(F.id == id)
targets += F
- RegisterSignal(F, COMSIG_PARENT_QDELETING, .proc/on_target_qdel)
+ RegisterSignal(F, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel))
for(var/obj/structure/closet/secure_closet/brig/C in world)
if(C.id == id)
targets += C
- RegisterSignal(C, COMSIG_PARENT_QDELETING, .proc/on_target_qdel)
+ RegisterSignal(C, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel))
for(var/obj/machinery/treadmill_monitor/T in GLOB.machines)
if(T.id == id)
targets += T
- RegisterSignal(T, COMSIG_PARENT_QDELETING, .proc/on_target_qdel)
+ RegisterSignal(T, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel))
if(!length(targets))
stat |= BROKEN
@@ -243,7 +243,7 @@
for(var/obj/machinery/door/window/brigdoor/door in targets)
if(!door.density)
continue
- INVOKE_ASYNC(door, /obj/machinery/door/window/brigdoor.proc/open)
+ INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door/window/brigdoor, open))
for(var/obj/structure/closet/secure_closet/brig/C in targets)
if(C.broken)
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index d8646749a6d..3455b8db834 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -448,7 +448,7 @@
close()
/obj/machinery/door/proc/autoclose_in(wait)
- addtimer(CALLBACK(src, .proc/autoclose), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(autoclose)), wait, TIMER_UNIQUE | TIMER_NO_HASH_WAIT | TIMER_OVERRIDE)
/obj/machinery/door/proc/update_freelook_sight()
if(!glass && GLOB.cameranet)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index fc63ae88fa6..43faeacd9de 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -264,9 +264,9 @@
if(operating || !hasPower() || !nextstate)
return
if(nextstate == FD_OPEN)
- INVOKE_ASYNC(src, .proc/open, auto_close)
+ INVOKE_ASYNC(src, PROC_REF(open), auto_close)
if(nextstate == FD_CLOSED)
- INVOKE_ASYNC(src, .proc/close)
+ INVOKE_ASYNC(src, PROC_REF(close))
nextstate = null
/obj/machinery/door/firedoor/proc/forcetoggle(magic = FALSE, auto_close = TRUE)
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 239eb6f78ad..16ee6019925 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -72,7 +72,7 @@
/obj/machinery/door/window/proc/open_and_close()
open()
- addtimer(CALLBACK(src, .proc/check_close), check_access(null) ? 5 SECONDS : 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(check_close)), check_access(null) ? 5 SECONDS : 2 SECONDS)
/// Check whether or not this door can close, based on whether or not someone's standing in front of it holding it open
@@ -82,7 +82,7 @@
blocker = locate(/mob/living) in get_turf(src)
if(blocker && !blocker.stat && allowed(blocker))
// kick the can down the road, someone's holding the door.
- addtimer(CALLBACK(src, .proc/check_close), check_access(null) ? 5 SECONDS : 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(check_close)), check_access(null) ? 5 SECONDS : 2 SECONDS)
return
close()
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 8147095aef0..2a6789950d1 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(doppler_arrays)
to_chat(user, "[src] is already printing something, please wait.")
return
atom_say("Printing explosive log. Standby...")
- addtimer(CALLBACK(src, .proc/print), 50)
+ addtimer(CALLBACK(src, PROC_REF(print)), 50)
/obj/machinery/doppler_array/proc/print()
visible_message("[src] prints a piece of paper!")
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index cc63b415651..2e56f7136b4 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -220,7 +220,7 @@
for(var/obj/machinery/magnetic_module/M in GLOB.machines)
if(M.freq == frequency && M.code == code)
magnets.Add(M)
- RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/on_magnet_del)
+ RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(on_magnet_del))
/obj/machinery/magnetic_controller/process()
if(magnets.len == 0 && autolink)
diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm
index 419bbf99ad5..46835c87f58 100644
--- a/code/game/machinery/mass_driver.dm
+++ b/code/game/machinery/mass_driver.dm
@@ -55,7 +55,7 @@
var/coef = 1
if(emagged)
coef = 5
- INVOKE_ASYNC(O, /atom/movable.proc/throw_at, target, (drive_range * power * coef), (power * coef))
+ INVOKE_ASYNC(O, TYPE_PROC_REF(/atom/movable, throw_at), target, (drive_range * power * coef), (power * coef))
flick("mass_driver1", src)
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 5d28d900788..c8f2e99703c 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -149,7 +149,7 @@
emergency_mode = TRUE
update_icon(UPDATE_ICON_STATE)
L.loc = loc
- addtimer(CALLBACK(src, .proc/reboot), SAFETY_COOLDOWN)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), SAFETY_COOLDOWN)
/obj/machinery/recycler/proc/reboot()
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index eea9854f19c..ca61bf85f69 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -159,7 +159,7 @@
if(isspaceturf(target_tile) && !(locate(/obj/machinery/shield) in target_tile))
if(malfunction && prob(33) || !malfunction)
var/obj/machinery/shield/new_shield = new(target_tile)
- RegisterSignal(new_shield, COMSIG_PARENT_QDELETING, .proc/remove_shield) // Ensures they properly GC
+ RegisterSignal(new_shield, COMSIG_PARENT_QDELETING, PROC_REF(remove_shield)) // Ensures they properly GC
deployed_shields += new_shield
/obj/machinery/shieldgen/proc/remove_shield(obj/machinery/shield/S)
@@ -379,7 +379,7 @@
activated = TRUE
START_PROCESSING(SSmachines, src)
for(var/direction in GLOB.cardinal)
- INVOKE_ASYNC(src, .proc/try_link_generators, direction)
+ INVOKE_ASYNC(src, PROC_REF(try_link_generators), direction)
/obj/machinery/shieldwallgen/proc/try_link_generators(direction)
var/turf/current_turf = loc
diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm
index 15981a57ea2..75df85edab9 100644
--- a/code/game/machinery/slotmachine.dm
+++ b/code/game/machinery/slotmachine.dm
@@ -55,7 +55,7 @@
working = TRUE
icon_state = "slots-on"
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
- addtimer(CALLBACK(src, .proc/spin_slots, usr.name), 25)
+ addtimer(CALLBACK(src, PROC_REF(spin_slots), usr.name), 25)
/obj/machinery/slot_machine/proc/spin_slots(userName)
switch(rand(1,5000))
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 75213a455d6..37affdf9370 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -465,7 +465,7 @@
else
mob_occupant.adjustFireLoss(rand(10, 16))
mob_occupant.emote("scream")
- addtimer(CALLBACK(src, .proc/cook), 50)
+ addtimer(CALLBACK(src, PROC_REF(cook)), 50)
else
uv_cycles = initial(uv_cycles)
uv = FALSE
@@ -531,7 +531,7 @@
if(locked)
visible_message("You see [user] kicking against the doors of [src]!", \
"You start kicking against the doors...")
- addtimer(CALLBACK(src, .proc/resist_open, user), 300)
+ addtimer(CALLBACK(src, PROC_REF(resist_open), user), 300)
else
open_machine()
dump_contents()
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index bdc99911edc..acd30d843f9 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -466,7 +466,7 @@
qdel(src)
else
pulse_number -= 1
- addtimer(CALLBACK(src, .proc/detonate), 20) // every 2 seconds go off again till pulses run out
+ addtimer(CALLBACK(src, PROC_REF(detonate)), 20) // every 2 seconds go off again till pulses run out
/obj/item/bombcore/chemical
name = "chemical payload"
@@ -500,7 +500,7 @@
chem_splash(get_turf(src), spread_range, list(reactants), temp_boost)
// Detonate it again in one second, until it's out of juice.
- addtimer(CALLBACK(src, .proc/detonate), 10)
+ addtimer(CALLBACK(src, PROC_REF(detonate)), 10)
// If it's not a time release bomb, do normal explosion
diff --git a/code/game/machinery/tcomms/_base.dm b/code/game/machinery/tcomms/_base.dm
index f02795b0451..624fc8c31ba 100644
--- a/code/game/machinery/tcomms/_base.dm
+++ b/code/game/machinery/tcomms/_base.dm
@@ -134,7 +134,7 @@ GLOBAL_LIST_EMPTY(tcomms_machines)
if(active)
active = FALSE
// This needs a timer because otherwise its on the shuttle Z and the message is missed
- addtimer(CALLBACK(src, /atom.proc/visible_message, "Radio equipment on [src] has been overloaded by heavy bluespace interference. Please restart the machine."), 5)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, visible_message), "Radio equipment on [src] has been overloaded by heavy bluespace interference. Please restart the machine."), 5)
update_icon(UPDATE_ICON_STATE)
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 5aac4bb601e..c10375512fb 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -146,7 +146,7 @@
atom_say("Processing hub calibration to target...")
calibrating = TRUE
- addtimer(CALLBACK(src, .proc/calibrateCallback), 50 * (3 - power_station.teleporter_hub.accurate)) //Better parts mean faster calibration
+ addtimer(CALLBACK(src, PROC_REF(calibrateCallback)), 50 * (3 - power_station.teleporter_hub.accurate)) //Better parts mean faster calibration
/**
* Resets the connected powerstation to initial values. Helper function of ui_act
@@ -484,7 +484,7 @@
recalibrating = TRUE
update_icon(UPDATE_ICON_STATE | UPDATE_OVERLAYS)
update_lighting()
- addtimer(CALLBACK(src, .proc/BumpedCallback), tele_delay)
+ addtimer(CALLBACK(src, PROC_REF(BumpedCallback)), tele_delay)
/obj/machinery/teleport/perma/proc/BumpedCallback()
recalibrating = FALSE
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index 1b623213f89..ee7b646326a 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -94,8 +94,8 @@
// Activate the cooldown
is_on_cooldown = TRUE
update_icon(UPDATE_ICON_STATE)
- addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown_duration)
- addtimer(CALLBACK(null, .proc/playsound, loc, 'sound/machines/ping.ogg', 50, 0), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), cooldown_duration)
+ addtimer(CALLBACK(null, GLOBAL_PROC_REF(playsound), loc, 'sound/machines/ping.ogg', 50, 0), 3 SECONDS)
H.emote("scream")
if(!masterAI) // If the factory was placed via admin spawning or other means, it wont have an owner_AI.
@@ -141,7 +141,7 @@
// Activate the cooldown
is_on_cooldown = TRUE
update_icon(UPDATE_ICON_STATE)
- addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown_duration)
+ addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), cooldown_duration)
/obj/machinery/transformer/xray
name = "Automatic X-Ray 5000"
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index e91dc06b98d..6930d4f0b50 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -190,7 +190,7 @@
return FALSE
flickering = TRUE
- INVOKE_ASYNC(src, /obj/machinery/vending/.proc/flicker_event)
+ INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/vending, flicker_event))
return TRUE
@@ -768,7 +768,7 @@
if(icon_vend) //Show the vending animation if needed
flick(icon_vend, src)
playsound(get_turf(src), 'sound/machines/machine_vend.ogg', 50, TRUE)
- addtimer(CALLBACK(src, .proc/delayed_vend, R, user), vend_delay)
+ addtimer(CALLBACK(src, PROC_REF(delayed_vend), R, user), vend_delay)
/obj/machinery/vending/proc/delayed_vend(datum/data/vending_product/R, mob/user)
do_vend(R, user)
diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm
index eccb4457f14..7a819b838ee 100644
--- a/code/game/mecha/equipment/mecha_equipment.dm
+++ b/code/game/mecha/equipment/mecha_equipment.dm
@@ -76,7 +76,7 @@
/obj/item/mecha_parts/mecha_equipment/proc/start_cooldown()
set_ready_state(0)
chassis.use_power(energy_drain)
- addtimer(CALLBACK(src, .proc/set_ready_state, 1), equip_cooldown)
+ addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown)
/obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(atom/target)
if(!chassis)
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
index 996bf7fc644..97bc5a6a620 100644
--- a/code/game/mecha/equipment/tools/work_tools.dm
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -349,7 +349,7 @@
/obj/item/mecha_parts/mecha_equipment/cable_layer/attach()
..()
- RegisterSignal(chassis, COMSIG_MOVABLE_MOVED, .proc/layCable)
+ RegisterSignal(chassis, COMSIG_MOVABLE_MOVED, PROC_REF(layCable))
/obj/item/mecha_parts/mecha_equipment/cable_layer/detach()
UnregisterSignal(chassis, COMSIG_MOVABLE_MOVED)
diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm
index 58958b8f77b..2e26607e359 100644
--- a/code/game/mecha/mech_bay.dm
+++ b/code/game/mecha/mech_bay.dm
@@ -72,7 +72,7 @@
recharging_mecha = locate(/obj/mecha) in recharging_turf
if(recharging_mecha)
// so that we don't hold references to it after it's gone, and not causing GC issues
- RegisterSignal(recharging_mecha, COMSIG_PARENT_QDELETING, .proc/on_mecha_qdel)
+ RegisterSignal(recharging_mecha, COMSIG_PARENT_QDELETING, PROC_REF(on_mecha_qdel))
/obj/machinery/mech_bay_recharge_port/proc/on_mecha_qdel()
recharging_mecha = null
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 11c3ae8a0de..702b07224d3 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -52,7 +52,7 @@
/obj/machinery/mecha_part_fabricator/Initialize(mapload)
. = ..()
// Set up some datums
- var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), 0, FALSE, /obj/item/stack, CALLBACK(src, .proc/can_insert_materials), CALLBACK(src, .proc/on_material_insert))
+ var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), 0, FALSE, /obj/item/stack, CALLBACK(src, PROC_REF(can_insert_materials)), CALLBACK(src, PROC_REF(on_material_insert)))
materials.precise_insertion = TRUE
local_designs = new /datum/research(src)
@@ -196,7 +196,7 @@
desc = "It's building \a [initial(D.name)]."
use_power = ACTIVE_POWER_USE
add_overlay("fab-active")
- addtimer(CALLBACK(src, .proc/build_design_timer_finish, D, final_cost), build_time)
+ addtimer(CALLBACK(src, PROC_REF(build_design_timer_finish), D, final_cost), build_time)
return TRUE
@@ -237,7 +237,7 @@
* Syncs the R&D designs from the first [/obj/machinery/computer/rdconsole] in the area.
*/
/obj/machinery/mecha_part_fabricator/proc/sync()
- addtimer(CALLBACK(src, .proc/sync_timer_finish), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(sync_timer_finish)), 3 SECONDS)
syncing = TRUE
/**
@@ -265,7 +265,7 @@
/obj/machinery/mecha_part_fabricator/proc/on_material_insert(type_inserted, id_inserted, amount_inserted)
var/stack_name = copytext(id_inserted, 2)
add_overlay("fab-load-[stack_name]")
- addtimer(CALLBACK(src, .proc/on_material_insert_timer_finish), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(on_material_insert_timer_finish)), 1 SECONDS)
process_queue()
SStgui.update_uis(src)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 3bbb6bbedc3..4592cee6ec3 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1484,7 +1484,7 @@
/obj/mecha/speech_bubble(bubble_state = "", bubble_loc = src, list/bubble_recipients = list())
var/image/I = image('icons/mob/talk.dmi', bubble_loc, bubble_state, FLY_LAYER)
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
- INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, bubble_recipients, 30)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), I, bubble_recipients, 30)
/obj/mecha/update_remote_sight(mob/living/user)
if(occupant_sight_flags)
@@ -1545,7 +1545,7 @@
choices[MT.name] = MA
choices_to_refs[MT.name] = MT
- var/choice = show_radial_menu(L, src, choices, radius = 48, custom_check = CALLBACK(src, .proc/check_menu, L))
+ var/choice = show_radial_menu(L, src, choices, radius = 48, custom_check = CALLBACK(src, PROC_REF(check_menu), L))
if(!check_menu(L) || choice == "Cancel / No Change")
return
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index df725476cd0..c9e2d632fe8 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -253,7 +253,7 @@
if(ismob(A) && !(A in flashers)) // don't flash if we're already doing an effect
var/mob/M = A
if(M.client)
- INVOKE_ASYNC(src, .proc/blue_effect, M)
+ INVOKE_ASYNC(src, PROC_REF(blue_effect), M)
/obj/effect/anomaly/bluespace/proc/blue_effect(mob/M)
var/obj/blueeffect = new /obj(src)
@@ -300,7 +300,7 @@
/obj/effect/anomaly/pyro/detonate()
if(produces_slime)
- INVOKE_ASYNC(src, .proc/makepyroslime)
+ INVOKE_ASYNC(src, PROC_REF(makepyroslime))
/obj/effect/anomaly/pyro/proc/makepyroslime()
var/turf/simulated/T = get_turf(src)
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 1c7f1868d35..e92f196cd4c 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -38,7 +38,7 @@ GLOBAL_LIST_EMPTY(splatter_cache)
if(type == /obj/effect/decal/cleanable/blood/gibs)
return
if(!.)
- dry_timer = addtimer(CALLBACK(src, .proc/dry), DRYING_TIME * (amount+1), TIMER_STOPPABLE)
+ dry_timer = addtimer(CALLBACK(src, PROC_REF(dry)), DRYING_TIME * (amount+1), TIMER_STOPPABLE)
/obj/effect/decal/cleanable/blood/Destroy()
if(dry_timer)
diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm
index 885587b529f..ec2d6ef780c 100644
--- a/code/game/objects/effects/effect_system/effect_system.dm
+++ b/code/game/objects/effects/effect_system/effect_system.dm
@@ -48,7 +48,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
for(var/i in 1 to number)
if(total_effects > 20)
return
- INVOKE_ASYNC(src, .proc/generate_effect)
+ INVOKE_ASYNC(src, PROC_REF(generate_effect))
/datum/effect_system/proc/generate_effect()
if(holder)
@@ -65,7 +65,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
sleep(5)
step(E,direction)
if(!QDELETED(src))
- addtimer(CALLBACK(src, .proc/decrement_total_effect), 20)
+ addtimer(CALLBACK(src, PROC_REF(decrement_total_effect)), 20)
/datum/effect_system/proc/decrement_total_effect()
total_effects--
diff --git a/code/game/objects/effects/effect_system/effects_chem_smoke.dm b/code/game/objects/effects/effect_system/effects_chem_smoke.dm
index 2ebad516beb..44710290cf4 100644
--- a/code/game/objects/effects/effect_system/effects_chem_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_chem_smoke.dm
@@ -106,7 +106,7 @@
new /obj/effect/particle_effect/chem_smoke(location, color)
if(x % 10 == 0) //Once every 10 ticks.
- INVOKE_ASYNC(src, .proc/SmokeEm, effect_range)
+ INVOKE_ASYNC(src, PROC_REF(SmokeEm), effect_range)
sleep(1)
qdel(src)
diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm
index e6e1d12a0e6..a3b15f322a5 100644
--- a/code/game/objects/effects/effect_system/effects_explosion.dm
+++ b/code/game/objects/effects/effect_system/effects_explosion.dm
@@ -56,4 +56,4 @@
/datum/effect_system/explosion/smoke/start()
..()
- addtimer(CALLBACK(src, .proc/create_smoke), 5)
+ addtimer(CALLBACK(src, PROC_REF(create_smoke)), 5)
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index 04eba273ac2..0c0520bc876 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -39,7 +39,7 @@
/obj/effect/particle_effect/smoke/proc/kill_smoke()
STOP_PROCESSING(SSobj, src)
- INVOKE_ASYNC(src, .proc/fade_out)
+ INVOKE_ASYNC(src, PROC_REF(fade_out))
QDEL_IN(src, 10)
/obj/effect/particle_effect/smoke/process()
@@ -67,7 +67,7 @@
if(C.smoke_delay)
return FALSE
C.smoke_delay++
- addtimer(CALLBACK(src, .proc/remove_smoke_delay, C), 10)
+ addtimer(CALLBACK(src, PROC_REF(remove_smoke_delay), C), 10)
return TRUE
/obj/effect/particle_effect/smoke/proc/remove_smoke_delay(mob/living/carbon/C)
diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm
index 44adb63bf7e..dd1736f2d9e 100644
--- a/code/game/objects/effects/effect_system/effects_sparks.dm
+++ b/code/game/objects/effects/effect_system/effects_sparks.dm
@@ -13,7 +13,7 @@
var/datum/effect_system/spark_spread/sparks = new
sparks.set_up(n, c, source)
sparks.autocleanup = TRUE
- INVOKE_ASYNC(sparks, /datum/effect_system/.proc/start)
+ INVOKE_ASYNC(sparks, TYPE_PROC_REF(/datum/effect_system, start))
/obj/effect/particle_effect/sparks
name = "sparks"
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 4fe62aa333b..fa3a80a8a0b 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -655,7 +655,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/obj/item/throw_at(atom/target, range, speed, mob/thrower, spin = 1, diagonals_first = 0, datum/callback/callback, force, dodgeable)
thrownby = thrower?.UID()
- callback = CALLBACK(src, .proc/after_throw, callback) //replace their callback with our own
+ callback = CALLBACK(src, PROC_REF(after_throw), callback) //replace their callback with our own
. = ..(target, range, speed, thrower, spin, diagonals_first, callback, force, dodgeable)
/obj/item/proc/after_throw(datum/callback/callback)
@@ -721,7 +721,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(in_inventory || in_storage)
var/mob/user = usr
if(!(user.client.prefs.toggles2 & PREFTOGGLE_2_HIDE_ITEM_TOOLTIPS))
- tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), 8, TIMER_STOPPABLE)
+ tip_timer = addtimer(CALLBACK(src, PROC_REF(openTip), location, control, params, user), 8, TIMER_STOPPABLE)
if(QDELETED(src))
return
if(!(user.client.prefs.toggles2 & PREFTOGGLE_2_SEE_ITEM_OUTLINES))
diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm
index 7f927bdd04c..508f39ef5f0 100644
--- a/code/game/objects/items/candle.dm
+++ b/code/game/objects/items/candle.dm
@@ -82,7 +82,7 @@
/obj/item/candle/proc/start_flickering()
flickering = TRUE
update_icon(UPDATE_ICON_STATE)
- addtimer(CALLBACK(src, .proc/stop_flickering), 4 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(stop_flickering)), 4 SECONDS, TIMER_UNIQUE)
/obj/item/candle/proc/stop_flickering()
flickering = FALSE
diff --git a/code/game/objects/items/dehy_carp.dm b/code/game/objects/items/dehy_carp.dm
index e7d36df1fba..6116b0fcb8f 100644
--- a/code/game/objects/items/dehy_carp.dm
+++ b/code/game/objects/items/dehy_carp.dm
@@ -43,7 +43,7 @@
icon = 'icons/mob/carp.dmi'
flick("carp_swell", src)
// Wait for animation to end
- addtimer(CALLBACK(src, .proc/make_carp), 6)
+ addtimer(CALLBACK(src, PROC_REF(make_carp)), 6)
/obj/item/toy/carpplushie/dehy_carp/proc/make_carp()
// Make space carp
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index 6c116e931d3..e274151f62a 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -98,7 +98,7 @@
if(confirm == "Yes" && (ui_status(user, GLOB.inventory_state) == STATUS_INTERACTIVE)) // And make doubly sure they want to wipe (three total clicks)
msg_admin_attack("[key_name_admin(user)] wiped [key_name_admin(AI)] with \the [src].", ATKLOG_FEW)
add_attack_logs(user, AI, "Wiped with [src].")
- INVOKE_ASYNC(src, .proc/wipe_ai)
+ INVOKE_ASYNC(src, PROC_REF(wipe_ai))
if("radio")
AI.aiRadio.disabledAi = !AI.aiRadio.disabledAi
diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm
index f48191d4d15..566635aa399 100644
--- a/code/game/objects/items/devices/geiger_counter.dm
+++ b/code/game/objects/items/devices/geiger_counter.dm
@@ -125,7 +125,7 @@
if(user.a_intent == INTENT_HELP)
if(!emagged)
user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...")
- addtimer(CALLBACK(src, .proc/scan, target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents
+ addtimer(CALLBACK(src, PROC_REF(scan), target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents
else
user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!")
target.rad_act(radiation_count)
@@ -193,7 +193,7 @@
return
if(listeningTo)
UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT)
- RegisterSignal(user, COMSIG_ATOM_RAD_ACT, .proc/redirect_rad_act)
+ RegisterSignal(user, COMSIG_ATOM_RAD_ACT, PROC_REF(redirect_rad_act))
listeningTo = user
/obj/item/geiger_counter/cyborg/proc/redirect_rad_act(datum/source, amount)
diff --git a/code/game/objects/items/devices/handheld_defib.dm b/code/game/objects/items/devices/handheld_defib.dm
index 29e349b34b0..5639d1ebeac 100644
--- a/code/game/objects/items/devices/handheld_defib.dm
+++ b/code/game/objects/items/devices/handheld_defib.dm
@@ -52,9 +52,9 @@
ADD_TRAIT(H, TRAIT_WAS_BATONNED, user_UID)
cooldown = TRUE
icon_state = "[icon_base]-shock"
- addtimer(CALLBACK(src, .proc/allowhit, H, user_UID), attack_cooldown)
- addtimer(CALLBACK(src, .proc/short_charge), 1 SECONDS)
- addtimer(CALLBACK(src, .proc/recharge), charge_time)
+ addtimer(CALLBACK(src, PROC_REF(allowhit), H, user_UID), attack_cooldown)
+ addtimer(CALLBACK(src, PROC_REF(short_charge)), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), charge_time)
return
if((H.health <= HEALTH_THRESHOLD_CRIT) || (H.undergoing_cardiac_arrest()))
@@ -84,8 +84,8 @@
cooldown = TRUE
icon_state = "[icon_base]-shock"
- addtimer(CALLBACK(src, .proc/short_charge), 1 SECONDS)
- addtimer(CALLBACK(src, .proc/recharge), charge_time)
+ addtimer(CALLBACK(src, PROC_REF(short_charge)), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), charge_time)
else
to_chat(user, "[src]'s on board medical scanner indicates that no shock is required.")
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index bfae1956d2e..c50ab43b820 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -249,7 +249,7 @@
if(!current_area)
return
if(on)
- RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, .proc/AreaPowerCheck)
+ RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(AreaPowerCheck))
else
UnregisterSignal(current_area, COMSIG_AREA_POWER_CHANGE)
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index a54622a7e4a..d86436071ee 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -313,7 +313,7 @@ GLOBAL_LIST_INIT(default_medbay_channels, list(
universal_speak = TRUE
/mob/living/automatedannouncer/New()
- lifetime_timer = addtimer(CALLBACK(src, .proc/autocleanup), 10 SECONDS, TIMER_STOPPABLE)
+ lifetime_timer = addtimer(CALLBACK(src, PROC_REF(autocleanup)), 10 SECONDS, TIMER_STOPPABLE)
..()
/mob/living/automatedannouncer/Destroy()
@@ -463,7 +463,7 @@ GLOBAL_LIST_INIT(default_medbay_channels, list(
tcm.zlevels = list(position.z)
if(!instant)
// Simulate two seconds of lag
- addtimer(CALLBACK(src, .proc/broadcast_callback, tcm), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(broadcast_callback), tcm), 2 SECONDS)
else
// Nukeops + Deathsquad headsets are instant and should work the same, whether there is comms or not, on all z levels
for(var/z in 1 to world.maxz)
@@ -591,7 +591,7 @@ GLOBAL_LIST_INIT(default_medbay_channels, list(
/obj/item/radio/emp_act(severity)
on = FALSE
disable_timer++
- addtimer(CALLBACK(src, .proc/enable_radio), rand(100, 200))
+ addtimer(CALLBACK(src, PROC_REF(enable_radio)), rand(100, 200))
if(listening)
visible_message("[src] buzzes violently!")
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 92093fd8169..0f2bd3d7b69 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -692,15 +692,15 @@ REAGENT SCANNER
ready = FALSE
printing = TRUE
update_icon()
- addtimer(CALLBACK(src, /obj/item/bodyanalyzer/.proc/setReady), scan_cd)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/bodyanalyzer, setReady)), scan_cd)
addtimer(VARSET_CALLBACK(src, printing, FALSE), 1.4 SECONDS)
- addtimer(CALLBACK(src, /atom/.proc/update_icon, UPDATE_OVERLAYS), 1.5 SECONDS)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon), UPDATE_OVERLAYS), 1.5 SECONDS)
else if(iscorgi(M) && M.stat == DEAD)
to_chat(user, "You wonder if [M.p_they()] was a good dog. [src] tells you they were the best...") // :'(
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
ready = FALSE
update_icon(UPDATE_ICON_STATE)
- addtimer(CALLBACK(src, /obj/item/bodyanalyzer/.proc/setReady), scan_cd)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/bodyanalyzer, setReady)), scan_cd)
time_to_use = world.time + scan_cd
else
to_chat(user, "Scanning error detected. Invalid specimen.")
diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm
index 2b75caed3b4..224f86a3e40 100644
--- a/code/game/objects/items/flag.dm
+++ b/code/game/objects/items/flag.dm
@@ -273,7 +273,7 @@
/obj/item/flag/chameleon/burn()
if(boobytrap)
fire_act()
- addtimer(CALLBACK(src, .proc/prime_boobytrap), boobytrap.det_time)
+ addtimer(CALLBACK(src, PROC_REF(prime_boobytrap)), boobytrap.det_time)
else
..()
diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm
index 7fd50f6167d..74731a1f18d 100644
--- a/code/game/objects/items/his_grace.dm
+++ b/code/game/objects/items/his_grace.dm
@@ -31,7 +31,7 @@
. = ..()
START_PROCESSING(SSprocessing, src)
GLOB.poi_list |= src
- RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, .proc/move_gracefully)
+ RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, PROC_REF(move_gracefully))
update_icon()
/obj/item/his_grace/Destroy()
@@ -56,7 +56,7 @@
/obj/item/his_grace/attack_self(mob/living/user)
if(!awakened)
- INVOKE_ASYNC(src, .proc/awaken, user)
+ INVOKE_ASYNC(src, PROC_REF(awaken), user)
/obj/item/his_grace/attack(mob/living/M, mob/user)
if(awakened && M.stat)
diff --git a/code/game/objects/items/theft_items.dm b/code/game/objects/items/theft_items.dm
index 7f5faa96211..a06458b1bcd 100644
--- a/code/game/objects/items/theft_items.dm
+++ b/code/game/objects/items/theft_items.dm
@@ -89,7 +89,7 @@
core = new_core
icon_state = "core_container_loaded"
to_chat(user, "Container is sealing...")
- addtimer(CALLBACK(src, .proc/seal), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS)
/obj/item/nuke_core_container/proc/unload(mob/user)
core.add_fingerprint(user)
@@ -236,7 +236,7 @@
I.item_state = "supermatter_tongs"
icon_state = "supermatter_container_loaded"
to_chat(user, "Container is sealing...")
- addtimer(CALLBACK(src, .proc/seal), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS)
/obj/item/nuke_core_container/supermatter/seal()
if(!QDELETED(sliver))
diff --git a/code/game/objects/items/tools/tool_behaviour.dm b/code/game/objects/items/tools/tool_behaviour.dm
index 61c7cc58aab..ea45a32d0cf 100644
--- a/code/game/objects/items/tools/tool_behaviour.dm
+++ b/code/game/objects/items/tools/tool_behaviour.dm
@@ -13,7 +13,7 @@
if(delay)
// Create a callback with checks that would be called every tick by do_after.
- var/datum/callback/tool_check = CALLBACK(src, .proc/tool_check_callback, user, target, amount, extra_checks)
+ var/datum/callback/tool_check = CALLBACK(src, PROC_REF(tool_check_callback), user, target, amount, extra_checks)
if(ismob(target))
if(!do_mob(user, target, delay, extra_checks = list(tool_check)))
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index e2879d3ffeb..38fbfd2f952 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -304,7 +304,7 @@
/obj/effect/decal/cleanable/ash/snappop_phoenix/Initialize(mapload)
. = ..()
- addtimer(CALLBACK(src, .proc/respawn), respawn_time)
+ addtimer(CALLBACK(src, PROC_REF(respawn)), respawn_time)
/obj/effect/decal/cleanable/ash/snappop_phoenix/proc/respawn()
new /obj/item/toy/snappop/phoenix(get_turf(src))
@@ -642,7 +642,7 @@
if(scream_cooldown)
return
scream_cooldown = TRUE //water_act executes the scream_cooldown var, setting it on cooldown.
- addtimer(CALLBACK(src, .proc/reset_screamdown), 30 SECONDS) //After 30 seconds the reset_coolodown() proc will execute, resetting the cooldown. Hug interaction is unnaffected by this.
+ addtimer(CALLBACK(src, PROC_REF(reset_screamdown)), 30 SECONDS) //After 30 seconds the reset_coolodown() proc will execute, resetting the cooldown. Hug interaction is unnaffected by this.
playsound(src, 'sound/goonstation/voice/male_scream.ogg', 10, FALSE)//If the plushie gets wet it screams and "AAAAAH!" appears in chat.
visible_message("AAAAAAH!")
if(singed)
@@ -663,7 +663,7 @@
if(hug_cooldown)
return
hug_cooldown = TRUE
- addtimer(CALLBACK(src, .proc/reset_hugdown), 5 SECONDS) //Hug interactions only put the plushie on a 5 second cooldown.
+ addtimer(CALLBACK(src, PROC_REF(reset_hugdown)), 5 SECONDS) //Hug interactions only put the plushie on a 5 second cooldown.
if(singed)//If the plushie is water damaged it'll say Ow instead of talking in wingdings.
visible_message("Ow...")
else//If the plushie has not touched water they'll say Greetings in wingdings.
@@ -788,7 +788,7 @@
update_icon(UPDATE_OVERLAYS)
playsound(src, 'sound/effects/pope_entry.ogg', 100)
animate_rumble(src)
- addtimer(CALLBACK(src, .proc/stopRumble), 60 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(stopRumble)), 60 SECONDS)
else
to_chat(user, "[src] is already active!")
@@ -1406,12 +1406,12 @@
/obj/item/toy/figure/xeno/activate(mob/user)
user.visible_message("[user] pulls back the string on [src].")
icon_state = "[initial(icon_state)]_used"
- addtimer(CALLBACK(src, .proc/hiss), 0.5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(hiss)), 0.5 SECONDS)
/obj/item/toy/figure/xeno/proc/hiss()
atom_say("Hiss!")
playsound(src, get_sfx("hiss"), 50, TRUE)
- addtimer(CALLBACK(src, .proc/reset_icon), 4.5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reset_icon)), 4.5 SECONDS)
/obj/item/toy/figure/xeno/proc/reset_icon()
icon_state = "[initial(icon_state)]"
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index c3478a522c0..04d9644a1de 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -199,7 +199,7 @@
"Change Airlock Type" = image(icon = 'icons/obj/interface.dmi', icon_state = "airlocktype")
)
choices -= mode // Get rid of the current mode, clicking it won't do anything.
- var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user))
+ var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user))
if(!check_menu(user))
return
switch(choice)
@@ -627,7 +627,7 @@
/obj/item/rcd/proc/detonate_pulse()
audible_message("[src] begins to vibrate and buzz loudly!", "[src] begins vibrating violently!")
// 5 seconds to get rid of it
- addtimer(CALLBACK(src, .proc/detonate_pulse_explode), 50)
+ addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 50)
/**
* Called in `/obj/item/rcd/proc/detonate_pulse()` via callback.
diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm
index d35e01b6527..323e4e58079 100644
--- a/code/game/objects/items/weapons/dice.dm
+++ b/code/game/objects/items/weapons/dice.dm
@@ -155,7 +155,7 @@
var/turf/T = get_turf(src)
T.visible_message("[src] flares briefly.")
- addtimer(CALLBACK(src, .proc/effect, user, .), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(effect), user, .), 1 SECONDS)
/obj/item/dice/d20/fate/equipped(mob/user, slot)
if(!ishuman(user) || !user.mind || (user.mind in SSticker.mode.wizards))
@@ -358,7 +358,7 @@
else
triggered = TRUE
visible_message("You hear a quiet click.")
- addtimer(CALLBACK(src, .proc/boom, user, result), 4 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(boom), user, result), 4 SECONDS)
/obj/item/dice/d20/e20/proc/boom(mob/user, result)
var/capped = TRUE
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index e0dbac96824..1e33345b999 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -89,7 +89,7 @@
AddComponent(/datum/component/persistent_overlay, image_overlay, target)
if(!nadeassembly)
to_chat(user, "You plant the bomb. Timer counting down from [det_time].")
- addtimer(CALLBACK(src, .proc/prime), det_time SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(prime)), det_time SECONDS)
/obj/item/grenade/plastic/suicide_act(mob/user)
message_admins("[key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP)",0,1)
@@ -227,12 +227,12 @@
var/turf/T = get_step(location, aim_dir)
for(var/turf/simulated/wall/W in range(1, location))
W.thermitemelt(speed = 30)
- addtimer(CALLBACK(null, .proc/explosion, T, 0, 0, 2), 3)
- addtimer(CALLBACK(smoke, /datum/effect_system/smoke_spread/.proc/start), 3)
+ addtimer(CALLBACK(null, GLOBAL_PROC_REF(explosion), T, 0, 0, 2), 3)
+ addtimer(CALLBACK(smoke, TYPE_PROC_REF(/datum/effect_system/smoke_spread, start)), 3)
else
var/turf/T = get_step(location, aim_dir)
- addtimer(CALLBACK(null, .proc/explosion, T, 0, 0, 2), 3)
- addtimer(CALLBACK(smoke, /datum/effect_system/smoke_spread/.proc/start), 3)
+ addtimer(CALLBACK(null, GLOBAL_PROC_REF(explosion), T, 0, 0, 2), 3)
+ addtimer(CALLBACK(smoke, TYPE_PROC_REF(/datum/effect_system/smoke_spread, start)), 3)
if(isliving(target))
var/mob/living/M = target
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 129640a4a02..42717f3a3a9 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -430,7 +430,7 @@
message_admins("grenade primed by an assembly, attached by [key_name_admin(M)] and last touched by [key_name_admin(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] (JMP).")
log_game("grenade primed by an assembly, attached by [key_name(M)] and last touched by [key_name(last)] ([nadeassembly.a_left.name] and [nadeassembly.a_right.name]) at [A.name] ([T.x], [T.y], [T.z])")
else
- addtimer(CALLBACK(src, .proc/prime), det_time)
+ addtimer(CALLBACK(src, PROC_REF(prime)), det_time)
var/turf/DT = get_turf(src)
var/area/DA = get_area(DT)
log_game("A grenade detonated at [DA.name] ([DT.x], [DT.y], [DT.z])")
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index e70734d5ad9..1373eb0fd32 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -54,7 +54,7 @@
if(iscarbon(user))
var/mob/living/carbon/C = user
C.throw_mode_on()
- addtimer(CALLBACK(src, .proc/prime), det_time)
+ addtimer(CALLBACK(src, PROC_REF(prime)), det_time)
/obj/item/grenade/iedcasing/prime() //Blowing that can up
update_mob()
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index ee08c52f99f..630bfc41531 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -73,7 +73,7 @@
variant_names[initial(rod.name)] = rod
variant_icons += list(initial(rod.name) = image(icon = initial(rod.icon), icon_state = initial(rod.icon_state)))
var/mob/living/carbon/human/H = user
- var/choice = show_radial_menu(H, src, variant_icons, null, 40, CALLBACK(src, .proc/radial_check, H), TRUE)
+ var/choice = show_radial_menu(H, src, variant_icons, null, 40, CALLBACK(src, PROC_REF(radial_check), H), TRUE)
if(!choice || !radial_check(H))
return
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index 38afe0f2dda..2017fb294f0 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -105,7 +105,7 @@
CRASH("User was given an bio-chip for an unintentional emote that they can't use.")
LAZYADD(trigger_emotes, emote_key)
- RegisterSignal(user, COMSIG_MOB_EMOTED(emote_key), .proc/on_emote)
+ RegisterSignal(user, COMSIG_MOB_EMOTED(emote_key), PROC_REF(on_emote))
/obj/item/implant/proc/on_emote(mob/living/user, datum/emote/fired_emote, key, emote_type, message, intentional)
SIGNAL_HANDLER
@@ -190,7 +190,7 @@
var/datum/action/A = X
A.Grant(source)
if(trigger_causes & (BIOCHIP_TRIGGER_DEATH_ONCE | BIOCHIP_TRIGGER_DEATH_ANY))
- RegisterSignal(source, COMSIG_MOB_DEATH, .proc/on_death)
+ RegisterSignal(source, COMSIG_MOB_DEATH, PROC_REF(on_death))
if(ishuman(source))
var/mob/living/carbon/human/H = source
H.sec_hud_set_implants()
diff --git a/code/game/objects/items/weapons/implants/implant_emp.dm b/code/game/objects/items/weapons/implants/implant_emp.dm
index f93926ea9dd..2de7952fa6d 100644
--- a/code/game/objects/items/weapons/implants/implant_emp.dm
+++ b/code/game/objects/items/weapons/implants/implant_emp.dm
@@ -9,7 +9,7 @@
/obj/item/implant/emp/activate()
uses--
- INVOKE_ASYNC(GLOBAL_PROC, .proc/empulse, get_turf(imp_in), 3, 5, 1)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(empulse), get_turf(imp_in), 3, 5, 1)
if(!uses)
qdel(src)
diff --git a/code/game/objects/items/weapons/legcuffs.dm b/code/game/objects/items/weapons/legcuffs.dm
index 6742c041621..19f5c8dfd0c 100644
--- a/code/game/objects/items/weapons/legcuffs.dm
+++ b/code/game/objects/items/weapons/legcuffs.dm
@@ -136,7 +136,7 @@
/obj/item/restraints/legcuffs/beartrap/energy/New()
..()
- addtimer(CALLBACK(src, .proc/dissipate), 100)
+ addtimer(CALLBACK(src, PROC_REF(dissipate)), 100)
/obj/item/restraints/legcuffs/beartrap/energy/proc/dissipate()
if(!ismob(loc))
@@ -174,12 +174,12 @@
/obj/item/restraints/legcuffs/bola/Initialize(mapload)
. = ..()
- RegisterSignal(src, COMSIG_CARBON_TOGGLE_THROW, .proc/spin_up_wrapper)
+ RegisterSignal(src, COMSIG_CARBON_TOGGLE_THROW, PROC_REF(spin_up_wrapper))
/obj/item/restraints/legcuffs/bola/proc/spin_up_wrapper(datum/source, throw_mode_state) // so that signal handler works
SIGNAL_HANDLER
if(throw_mode_state) // if we actually turned throw mode on
- INVOKE_ASYNC(src, .proc/spin_up)
+ INVOKE_ASYNC(src, PROC_REF(spin_up))
/obj/item/restraints/legcuffs/bola/proc/spin_up()
if(spinning)
@@ -187,13 +187,13 @@
var/mob/living/L = loc // can only be called if the mob is holding the bola.
var/range_increment = round(max_range / max_spins)
var/speed_increment = round(max_speed / max_spins)
- RegisterSignal(L, COMSIG_CARBON_SWAP_HANDS, .proc/reset_values, override = TRUE)
+ RegisterSignal(L, COMSIG_CARBON_SWAP_HANDS, PROC_REF(reset_values), override = TRUE)
item_state = "[initial(item_state)]_spin"
L.update_inv_r_hand()
L.update_inv_l_hand()
spinning = TRUE
for(var/i in 1 to max_spins)
- if(!do_mob(L, L, 1 SECONDS, only_use_extra_checks = TRUE, extra_checks = list(CALLBACK(src, .proc/can_spin_check, L))))
+ if(!do_mob(L, L, 1 SECONDS, only_use_extra_checks = TRUE, extra_checks = list(CALLBACK(src, PROC_REF(can_spin_check), L))))
reset_values(L)
break
throw_range += range_increment
diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm
index cc1058f3a4a..93911c9443c 100644
--- a/code/game/objects/items/weapons/melee/misc.dm
+++ b/code/game/objects/items/weapons/melee/misc.dm
@@ -204,7 +204,7 @@
if(!target.electrocute_act(voltage, flags = SHOCK_TESLA)) // if it fails to shock someone, break the chain
return
protected_mobs += target
- addtimer(CALLBACK(src, .proc/arc, target, voltage, protected_mobs), 2.5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(arc), target, voltage, protected_mobs), 2.5 SECONDS)
/datum/enchantment/lightning/proc/arc(mob/living/source, voltage, protected_mobs)
voltage = voltage - 4
@@ -225,7 +225,7 @@
/datum/enchantment/fire/on_gain(obj/item/melee/spellblade/S, mob/living/user)
..()
- RegisterSignal(S, list(COMSIG_ITEM_PICKUP, COMSIG_ITEM_DROPPED), .proc/toggle_traits)
+ RegisterSignal(S, list(COMSIG_ITEM_PICKUP, COMSIG_ITEM_DROPPED), PROC_REF(toggle_traits))
if(user)
toggle_traits(S, user)
diff --git a/code/game/objects/items/weapons/rpd.dm b/code/game/objects/items/weapons/rpd.dm
index 04c44984f3f..add877f0c9f 100644
--- a/code/game/objects/items/weapons/rpd.dm
+++ b/code/game/objects/items/weapons/rpd.dm
@@ -230,7 +230,7 @@
RPD_MENU_DELETE = image(icon = 'icons/obj/interface.dmi', icon_state = "rpd_delete"),
"UI" = image(icon = 'icons/obj/interface.dmi', icon_state = "ui_interact")
)
- var/selected_mode = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user))
+ var/selected_mode = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user))
if(!check_menu(user))
return
if(selected_mode == "UI")
diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm
index 974af171740..7adc935a48b 100644
--- a/code/game/objects/items/weapons/storage/bible.dm
+++ b/code/game/objects/items/weapons/storage/bible.dm
@@ -145,7 +145,7 @@
var/image/bible_image = image('icons/obj/storage.dmi', icon_state = icons["state"])
skins[I] = bible_image
- var/choice = show_radial_menu(user, src, skins, null, 40, CALLBACK(src, .proc/radial_check, user), TRUE)
+ var/choice = show_radial_menu(user, src, skins, null, 40, CALLBACK(src, PROC_REF(radial_check), user), TRUE)
if(!choice || !radial_check(user))
return
var/choice_icons = bible_variants[choice]
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index e7b45d762b5..4b6b1657b84 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -197,7 +197,7 @@
H.adjustStaminaLoss(stam_damage)
ADD_TRAIT(L, TRAIT_WAS_BATONNED, user_UID) // so one person cannot hit the same person with two separate batons
- addtimer(CALLBACK(src, .proc/baton_knockdown, L, user_UID, knockdown_duration), knockdown_delay)
+ addtimer(CALLBACK(src, PROC_REF(baton_knockdown), L, user_UID, knockdown_duration), knockdown_delay)
SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK, 33)
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 66a9707a810..0a5fc33f6bf 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -319,7 +319,7 @@
user.take_organ_damage(20, 25)
return
if((wielded) && prob(50))
- INVOKE_ASYNC(src, .proc/jedi_spin, user)
+ INVOKE_ASYNC(src, PROC_REF(jedi_spin), user)
/obj/item/twohanded/dualsaber/proc/jedi_spin(mob/living/user)
for(var/i in list(NORTH, SOUTH, EAST, WEST, EAST, SOUTH, NORTH, SOUTH, EAST, WEST, EAST, SOUTH))
@@ -931,7 +931,7 @@
user.put_in_hands(W)
on_cooldown = TRUE
flags |= NODROP
- addtimer(CALLBACK(src, .proc/reboot), 2 MINUTES)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), 2 MINUTES)
do_sparks(rand(1,6), 1, loc)
/obj/item/clothing/gloves/color/black/pyro_claws/attackby(obj/item/I, mob/user, params)
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index 5be32e5b048..18fe9acee2a 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -230,7 +230,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
if(QDELETED(src))
return FALSE
being_shocked = TRUE
- addtimer(CALLBACK(src, .proc/reset_shocked), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 1 SECONDS)
return power / 2
/obj/proc/reset_shocked()
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 4ce0a65e23b..5e9aa1b75ce 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -187,7 +187,7 @@
src.machine = O
if(istype(O))
O.in_use = TRUE
- RegisterSignal(O, COMSIG_PARENT_QDELETING, .proc/unset_machine)
+ RegisterSignal(O, COMSIG_PARENT_QDELETING, PROC_REF(unset_machine))
/obj/item/proc/updateSelfDialog()
var/mob/M = src.loc
diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm
index a7d922fcf62..106b93bc722 100644
--- a/code/game/objects/structures/barsign.dm
+++ b/code/game/objects/structures/barsign.dm
@@ -132,7 +132,7 @@
to_chat(user, "Nothing interesting happens!")
return
to_chat(user, "You emag the barsign. Takeover in progress...")
- addtimer(CALLBACK(src, .proc/post_emag), 100)
+ addtimer(CALLBACK(src, PROC_REF(post_emag)), 100)
/obj/structure/sign/barsign/proc/post_emag()
if(broken || emagged)
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 0a32404612d..09f48cc8fc5 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -38,7 +38,7 @@
// This includes maint loot spawners. The problem with that is if a closet loads before a spawner,
// the loot will just be in a pile. Adding a timer with 0 delay will cause it to only take in contents once the MC has loaded,
// therefore solving the issue on mapload. During rounds, everything will happen as normal
- addtimer(CALLBACK(src, .proc/take_contents), 0)
+ addtimer(CALLBACK(src, PROC_REF(take_contents)), 0)
populate_contents() // Spawn all its stuff
update_icon() // Set it to the right icon if needed
diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
index b54e4657a8c..7486131a9e0 100644
--- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
+++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
@@ -23,7 +23,7 @@
var/oldloc = loc
step(src, direction)
if(oldloc != loc)
- addtimer(CALLBACK(src, .proc/ResetMoveDelay), GLOB.configuration.movement.base_walk_speed)
+ addtimer(CALLBACK(src, PROC_REF(ResetMoveDelay)), GLOB.configuration.movement.base_walk_speed)
else
move_delay = FALSE
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index d6cb82c095b..c3b9b85dad9 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -73,7 +73,7 @@
locked = FALSE
add_overlay("sparking")
to_chat(user, "You break the lock on [src].")
- addtimer(CALLBACK(src, /atom/.proc/update_icon), 1 SECONDS)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1 SECONDS)
/obj/structure/closet/secure_closet/attack_hand(mob/user)
add_fingerprint(user)
diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm
index 103ae32b58c..e544227d383 100644
--- a/code/game/objects/structures/fence.dm
+++ b/code/game/objects/structures/fence.dm
@@ -148,7 +148,7 @@
return
shock(user, 70)
shock_cooldown = TRUE // We do not want bump shock spam!
- addtimer(CALLBACK(src, .proc/shock_cooldown), 1 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(shock_cooldown)), 1 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
/obj/structure/fence/proc/shock_cooldown()
shock_cooldown = FALSE
diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm
index be3fe496bc5..4614d83e0f1 100644
--- a/code/game/objects/structures/guillotine.dm
+++ b/code/game/objects/structures/guillotine.dm
@@ -68,7 +68,7 @@
if(GUILLOTINE_BLADE_DROPPED)
blade_status = GUILLOTINE_BLADE_MOVING
icon_state = "guillotine_raise"
- addtimer(CALLBACK(src, .proc/raise_blade), GUILLOTINE_ANIMATION_LENGTH)
+ addtimer(CALLBACK(src, PROC_REF(raise_blade)), GUILLOTINE_ANIMATION_LENGTH)
return
if(GUILLOTINE_BLADE_RAISED)
if(has_buckled_mobs())
@@ -82,7 +82,7 @@
blade_status = GUILLOTINE_BLADE_MOVING
icon_state = "guillotine_drop"
playsound(src, 'sound/items/unsheath.ogg', 100, 1)
- addtimer(CALLBACK(src, .proc/drop_blade, user), GUILLOTINE_ANIMATION_LENGTH - 2) // Minus two so we play the sound and decap faster
+ addtimer(CALLBACK(src, PROC_REF(drop_blade), user), GUILLOTINE_ANIMATION_LENGTH - 2) // Minus two so we play the sound and decap faster
else
current_action = 0
else
@@ -91,7 +91,7 @@
blade_status = GUILLOTINE_BLADE_MOVING
icon_state = "guillotine_drop"
playsound(src, 'sound/items/unsheath.ogg', 100, 1)
- addtimer(CALLBACK(src, .proc/drop_blade), GUILLOTINE_ANIMATION_LENGTH)
+ addtimer(CALLBACK(src, PROC_REF(drop_blade)), GUILLOTINE_ANIMATION_LENGTH)
/obj/structure/guillotine/proc/raise_blade()
blade_status = GUILLOTINE_BLADE_RAISED
@@ -137,7 +137,7 @@
// The delay is to make large crowds have a longer lasting applause
var/delay_offset = 0
for(var/mob/living/carbon/human/HM in viewers(src, 7))
- addtimer(CALLBACK(HM, /mob/.proc/emote, "clap"), delay_offset * 0.3)
+ addtimer(CALLBACK(HM, TYPE_PROC_REF(/mob, emote), "clap"), delay_offset * 0.3)
delay_offset++
else
H.apply_damage(15 * blade_sharpness, BRUTE, head)
diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm
index ec57df2adf0..d57a0de2cd0 100644
--- a/code/game/objects/structures/holosign.dm
+++ b/code/game/objects/structures/holosign.dm
@@ -42,7 +42,7 @@
icon_state = "holosign"
/obj/structure/holosign/wetsign/proc/wet_timer_start(obj/item/holosign_creator/HS_C)
- addtimer(CALLBACK(src, .proc/wet_timer_finish, HS_C), 82 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(wet_timer_finish), HS_C), 82 SECONDS, TIMER_UNIQUE)
/obj/structure/holosign/wetsign/proc/wet_timer_finish(obj/item/holosign_creator/HS_C)
playsound(HS_C.loc, 'sound/machines/chime.ogg', 20, 1)
@@ -131,7 +131,7 @@
var/mob/living/M = user
M.electrocute_act(15, "Energy Barrier")
shockcd = TRUE
- addtimer(CALLBACK(src, .proc/cooldown), 5)
+ addtimer(CALLBACK(src, PROC_REF(cooldown)), 5)
/obj/structure/holosign/barrier/cyborg/hacked/Bumped(atom/movable/AM)
if(shockcd)
@@ -143,4 +143,4 @@
var/mob/living/M = AM
M.electrocute_act(15, "Energy Barrier")
shockcd = TRUE
- addtimer(CALLBACK(src, .proc/cooldown), 5)
+ addtimer(CALLBACK(src, PROC_REF(cooldown)), 5)
diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm
index 9f154632a2d..0fa2d7b3431 100644
--- a/code/game/objects/structures/inflatable.dm
+++ b/code/game/objects/structures/inflatable.dm
@@ -72,7 +72,7 @@
qdel(src)
else
visible_message("[src] slowly deflates.")
- addtimer(CALLBACK(src, .proc/deflate), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(deflate)), 5 SECONDS)
/obj/structure/inflatable/proc/deflate()
var/obj/item/inflatable/R = new intact(loc)
diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm
index 13c0ce77c0f..de5a76595f8 100644
--- a/code/game/objects/structures/lavaland/necropolis_tendril.dm
+++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm
@@ -80,7 +80,7 @@ GLOBAL_LIST_INIT(tendrils, list())
visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!")
visible_message("Something falls free of the tendril!")
playsound(loc, 'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE)
- addtimer(CALLBACK(src, .proc/collapse), 50)
+ addtimer(CALLBACK(src, PROC_REF(collapse)), 50)
/obj/effect/collapse/Destroy()
QDEL_NULL(emitted_light)
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index bef27095511..22ae7579b45 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -101,7 +101,7 @@
is_operating = FALSE
if(state_open && close_delay != -1)
- addtimer(CALLBACK(src, .proc/operate), close_delay)
+ addtimer(CALLBACK(src, PROC_REF(operate)), close_delay)
/obj/structure/mineral_door/update_icon_state()
if(state_open)
diff --git a/code/game/objects/structures/nest.dm b/code/game/objects/structures/nest.dm
index bfd5a6ef6b3..0deca8f6de6 100644
--- a/code/game/objects/structures/nest.dm
+++ b/code/game/objects/structures/nest.dm
@@ -53,7 +53,7 @@
playsound(src, 'sound/effects/break_stone.ogg', 50, 1)
for(var/obj/structure/nest/N in range(spawn_trigger_distance, src))
N.spawn_is_triggered = TRUE
- addtimer(CALLBACK(N, /obj/structure/nest/.proc/spawn_mob, chosen_mob), rand(2, 5) SECONDS)
+ addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/structure/nest, spawn_mob), chosen_mob), rand(2, 5) SECONDS)
/obj/structure/nest/proc/spawn_mob(mob/M)
var/byproduct = pick(spawn_byproduct)
diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm
index e5b7540d789..2a5f31512a0 100644
--- a/code/game/objects/structures/railings.dm
+++ b/code/game/objects/structures/railings.dm
@@ -53,7 +53,7 @@
if(flags & NODECONSTRUCT)
return
to_chat(user, "You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...")
- if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored)))
+ if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
anchored = !anchored
to_chat(user, "You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.")
return TRUE
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 4737561dce2..1be5b49c5a1 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -145,7 +145,7 @@ GLOBAL_LIST_EMPTY(safes)
switch(alert("What would you like to do?", "Thermal Drill", "Turn [drill_timer ? "Off" : "On"]", "Remove Drill", "Cancel"))
if("Turn On")
if(do_after(user, 2 SECONDS, target = src))
- drill_timer = addtimer(CALLBACK(src, .proc/drill_open), time_to_drill, TIMER_STOPPABLE)
+ drill_timer = addtimer(CALLBACK(src, PROC_REF(drill_open)), time_to_drill, TIMER_STOPPABLE)
drill_start_time = world.time
drill.soundloop.start()
update_icon()
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 8ecc6dd15a2..3a85e63fe0e 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -433,7 +433,7 @@
// Don't break if they're just flying past
if(AM.throwing)
- addtimer(CALLBACK(src, .proc/throw_check, AM), 5)
+ addtimer(CALLBACK(src, PROC_REF(throw_check), AM), 5)
else
check_break(AM)
diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm
index 72b2f7f0357..889a22eae95 100644
--- a/code/game/objects/structures/transit_tubes/station.dm
+++ b/code/game/objects/structures/transit_tubes/station.dm
@@ -90,7 +90,7 @@
if(hatch_state == TRANSIT_TUBE_CLOSED)
icon_state = "opening"
hatch_state = TRANSIT_TUBE_OPENING
- addtimer(CALLBACK(src, .proc/open_hatch_callback), OPEN_DURATION)
+ addtimer(CALLBACK(src, PROC_REF(open_hatch_callback)), OPEN_DURATION)
/obj/structure/transit_tube/station/proc/open_hatch_callback()
if(hatch_state == TRANSIT_TUBE_OPENING)
@@ -103,7 +103,7 @@
if(hatch_state == TRANSIT_TUBE_OPEN)
icon_state = "closing"
hatch_state = TRANSIT_TUBE_CLOSING
- addtimer(CALLBACK(src, .proc/close_hatch_calllback), CLOSE_DURATION)
+ addtimer(CALLBACK(src, PROC_REF(close_hatch_calllback)), CLOSE_DURATION)
/obj/structure/transit_tube/station/proc/close_hatch_calllback()
if(hatch_state == TRANSIT_TUBE_CLOSING)
@@ -113,7 +113,7 @@
/obj/structure/transit_tube/station/proc/launch_pod()
for(var/obj/structure/transit_tube_pod/pod in loc)
if(!pod.moving && (pod.dir in directions()))
- addtimer(CALLBACK(src, .proc/launch_pod_callback, pod), 5)
+ addtimer(CALLBACK(src, PROC_REF(launch_pod_callback), pod), 5)
return
/obj/structure/transit_tube/station/proc/launch_pod_callback(obj/structure/transit_tube_pod/pod)
@@ -142,7 +142,7 @@
/obj/structure/transit_tube/station/pod_stopped(obj/structure/transit_tube_pod/pod, from_dir)
pod_moving = TRUE
- addtimer(CALLBACK(src, .proc/pod_stopped_callback, pod), 5)
+ addtimer(CALLBACK(src, PROC_REF(pod_stopped_callback), pod), 5)
/obj/structure/transit_tube/station/proc/pod_stopped_callback(obj/structure/transit_tube_pod/pod)
launch_cooldown = world.time + LAUNCH_COOLDOWN
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 1e11488460d..22c1eaa8872 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -351,10 +351,10 @@
// If there was already mist, and the shower was turned off (or made cold): remove the existing mist in 25 sec
var/obj/effect/mist/mist = locate() in loc
if(!mist && on && current_temperature != SHOWER_FREEZING)
- addtimer(CALLBACK(src, .proc/make_mist), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(make_mist)), 5 SECONDS)
if(mist && (!on || current_temperature == SHOWER_FREEZING))
- addtimer(CALLBACK(src, .proc/clear_mist), 25 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(clear_mist)), 25 SECONDS)
/obj/machinery/shower/proc/make_mist()
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 6fb7dda2ee0..9a4e8d5442f 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -225,7 +225,7 @@
return
if(decon_speed) // Only show this if it actually takes time
to_chat(user, "You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...")
- if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
+ if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
state = (state == WINDOW_OUT_OF_FRAME ? WINDOW_IN_FRAME : WINDOW_OUT_OF_FRAME)
to_chat(user, "You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.")
@@ -240,7 +240,7 @@
if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME)
if(decon_speed)
to_chat(user, "You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame...")
- if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
+ if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
state = (state == WINDOW_IN_FRAME ? WINDOW_SCREWED_TO_FRAME : WINDOW_IN_FRAME)
to_chat(user, "You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame.")
@@ -248,7 +248,7 @@
else if(state == WINDOW_OUT_OF_FRAME)
if(decon_speed)
to_chat(user, "You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor...")
- if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
+ if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
anchored = !anchored
air_update_turf(TRUE)
@@ -258,7 +258,7 @@
else //if we're not reinforced, we don't need to check or update state
if(decon_speed)
to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...")
- if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/check_anchored, anchored)))
+ if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
return
anchored = !anchored
air_update_turf(TRUE)
@@ -275,7 +275,7 @@
return
if(decon_speed)
TOOL_ATTEMPT_DISMANTLE_MESSAGE
- if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
+ if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount)
G.add_fingerprint(user)
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index f63c24dd90e..22c39f9a8c6 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -72,7 +72,7 @@
return
if(!time)
time = rand(790, 820)
- addtimer(CALLBACK(src, .proc/MakeDry, wet_setting), time)
+ addtimer(CALLBACK(src, PROC_REF(MakeDry), wet_setting), time)
/turf/simulated/MakeDry(wet_setting = TURF_WET_WATER)
if(wet > wet_setting)
diff --git a/code/game/turfs/simulated/floor/chasm.dm b/code/game/turfs/simulated/floor/chasm.dm
index 8bcb481c44b..2460f12d5bd 100644
--- a/code/game/turfs/simulated/floor/chasm.dm
+++ b/code/game/turfs/simulated/floor/chasm.dm
@@ -86,7 +86,7 @@
for(var/thing in thing_to_check)
if(droppable(thing))
. = 1
- INVOKE_ASYNC(src, .proc/drop, thing)
+ INVOKE_ASYNC(src, PROC_REF(drop), thing)
/turf/simulated/floor/chasm/proc/droppable(atom/movable/AM)
if(falling_atoms[AM])
diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm
index 02fdc02c5d5..e6cc8e74c72 100644
--- a/code/game/turfs/simulated/floor/misc_floor.dm
+++ b/code/game/turfs/simulated/floor/misc_floor.dm
@@ -100,7 +100,7 @@
var/image/overlay_image = image('icons/misc/beach.dmi', icon_state = "water5", layer = ABOVE_MOB_LAYER)
overlay_image.plane = GAME_PLANE
overlays += overlay_image
- RegisterSignal(src, COMSIG_ATOM_INITIALIZED_ON, .proc/InitializedOn)
+ RegisterSignal(src, COMSIG_ATOM_INITIALIZED_ON, PROC_REF(InitializedOn))
/turf/simulated/floor/beach/water/Entered(atom/movable/AM, atom/OldLoc)
. = ..()
diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm
index f2a5440be0c..cce63129266 100644
--- a/code/game/turfs/simulated/minerals.dm
+++ b/code/game/turfs/simulated/minerals.dm
@@ -76,7 +76,7 @@
for(var/obj/effect/temp_visual/mining_overlay/M in src)
qdel(M)
ChangeTurf(turf_type, defer_change)
- addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE)
playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction
/turf/simulated/mineral/attack_animal(mob/living/simple_animal/user)
@@ -485,7 +485,7 @@
G.icon_state = "Gibtonite ore 2"
ChangeTurf(turf_type, defer_change)
- addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE)
/turf/simulated/mineral/gibtonite/volcanic
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index e4c42bb093c..88f79c93791 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -344,9 +344,9 @@
for(var/mob/living/M in src)
if(M == U)
continue//Will not harm U. Since null != M, can be excluded to kill everyone.
- INVOKE_ASYNC(M, /mob/.proc/gib)
+ INVOKE_ASYNC(M, TYPE_PROC_REF(/mob, gib))
for(var/obj/mecha/M in src)//Mecha are not gibbed but are damaged.
- INVOKE_ASYNC(M, /obj/mecha/.proc/take_damage, 100, "brute")
+ INVOKE_ASYNC(M, TYPE_PROC_REF(/obj/mecha, take_damage), 100, "brute")
/turf/proc/Bless()
flags |= NOJAUNT
diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm
index 3c28939ec5e..66c460728a2 100644
--- a/code/modules/admin/IsBanned.dm
+++ b/code/modules/admin/IsBanned.dm
@@ -5,7 +5,7 @@
log_adminwarn("Failed Login (invalid data): [key] [address]-[computer_id]")
// The nested ternaries are needed here
if(log_info)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, (ckey(key) || ""), (address || ""), (computer_id || ""), CONNECTION_TYPE_DROPPED_INVALID)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), (ckey(key) || ""), (address || ""), (computer_id || ""), CONNECTION_TYPE_DROPPED_INVALID)
return list("reason"="invalid login data", "desc"="Error: Could not check ban status, please try again. Error message: Your computer provided invalid or blank information to the server on connection (BYOND Username, IP, and Computer ID). Provided information for reference: Username: '[key]' IP: '[address]' Computer ID: '[computer_id]'. If you continue to get this error, please restart byond or contact byond support.")
if(type == "world")
@@ -14,7 +14,7 @@
if(text2num(computer_id) == 2147483647) //this cid causes bans to go haywire
log_adminwarn("Failed Login (invalid cid): [key] [address]-[computer_id]")
if(log_info)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_INVALID)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_INVALID)
return list("reason"="invalid login data", "desc"="Error: Could not check ban status, Please try again. Error message: Your computer provided an invalid Computer ID.")
var/admin = 0
@@ -40,7 +40,7 @@
log_adminwarn("Failed Login: [key] [computer_id] [address] - Guests not allowed")
// message_admins("Failed Login: [key] - Guests not allowed")
if(log_info)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a BYOND account.")
// Check if we are checking TOS consent before connecting
@@ -70,7 +70,7 @@
if(GLOB.configuration.url.banappeals_url)
mistakemessage = "\nIf you have to use one, request whitelisting at: [GLOB.configuration.url.banappeals_url]"
if(log_info)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_IPINTEL)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_IPINTEL)
return list("reason"="using proxy or vpn", "desc"="\nReason: Proxies/VPNs are not allowed here. [mistakemessage]")
@@ -203,7 +203,7 @@
log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["reason"]]")
if(log_info)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
qdel(query)
return .
qdel(query)
@@ -221,5 +221,5 @@
else
log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["message"]]")
if(log_info)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
return .
diff --git a/code/modules/admin/centcom_ban_db.dm b/code/modules/admin/centcom_ban_db.dm
index 83d8c192d88..5a1477dadc6 100644
--- a/code/modules/admin/centcom_ban_db.dm
+++ b/code/modules/admin/centcom_ban_db.dm
@@ -21,7 +21,7 @@
if(!ckey)
return
- var/datum/callback/cb = CALLBACK(src, /datum/admins/.proc/ccbdb_lookup_callback, usr, ckey)
+ var/datum/callback/cb = CALLBACK(src, TYPE_PROC_REF(/datum/admins, ccbdb_lookup_callback), usr, ckey)
SShttp.create_async_request(RUSTG_HTTP_METHOD_GET, "[GLOB.configuration.url.centcom_ban_db_url][ckey]", proc_callback=cb)
/**
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 5ecbc4cfd4d..76a69903ccb 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1406,7 +1406,7 @@
if(time_seconds < 0)
return
- contract.prisoner_timer_handle = addtimer(CALLBACK(contract, /datum/syndicate_contract.proc/handle_target_return, M), time_seconds * 10, TIMER_STOPPABLE)
+ contract.prisoner_timer_handle = addtimer(CALLBACK(contract, TYPE_PROC_REF(/datum/syndicate_contract, handle_target_return), M), time_seconds * 10, TIMER_STOPPABLE)
to_chat(usr, "Started automatic return of [M] from the Syndicate Jail in [time_seconds] second\s.")
message_admins("[key_name_admin(usr)] has started the automatic return of [key_name_admin(M)] from the Syndicate Jail in [time_seconds] second\s")
log_admin("[key_name(usr)] has started the automatic return of [key_name(M)] from the Syndicate Jail in [time_seconds] second\s")
diff --git a/code/modules/admin/verbs/deathsquad.dm b/code/modules/admin/verbs/deathsquad.dm
index 7c322a3d028..51d1e235e92 100644
--- a/code/modules/admin/verbs/deathsquad.dm
+++ b/code/modules/admin/verbs/deathsquad.dm
@@ -86,7 +86,7 @@ GLOBAL_VAR_INIT(deathsquad_sent, FALSE)
dstype = input_async(ghost_mob, "Select Deathsquad Type (10 seconds):", list("Organic", "Cyborg"))
else
to_chat(ghost_mob.client, "You have been chosen to lead the Deathsquad. Please stand by." )
- addtimer(CALLBACK(src, .proc/deathsquad_spawn, ghost_mob, is_leader, dstype, L, nuke_code, mission), 10 SECONDS) // This may fail if the user switches mobs during it, this is because input_async is only for mobs not clients
+ addtimer(CALLBACK(src, PROC_REF(deathsquad_spawn), ghost_mob, is_leader, dstype, L, nuke_code, mission), 10 SECONDS) // This may fail if the user switches mobs during it, this is because input_async is only for mobs not clients
is_leader = FALSE
commando_number--
diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm
index cb21bd21a5f..2c7503f4a4b 100644
--- a/code/modules/antagonists/_common/antag_datum.dm
+++ b/code/modules/antagonists/_common/antag_datum.dm
@@ -278,7 +278,7 @@ GLOBAL_LIST_EMPTY(antagonists)
if(wiki_page_name)
to_chat(owner.current, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/[wiki_page_name])")
if(is_banned(owner.current) && replace_banned)
- INVOKE_ASYNC(src, .proc/replace_banned_player)
+ INVOKE_ASYNC(src, PROC_REF(replace_banned_player))
return TRUE
/**
diff --git a/code/modules/antagonists/changeling/powers/biodegrade.dm b/code/modules/antagonists/changeling/powers/biodegrade.dm
index 13b615807e6..43eaecd8c07 100644
--- a/code/modules/antagonists/changeling/powers/biodegrade.dm
+++ b/code/modules/antagonists/changeling/powers/biodegrade.dm
@@ -20,7 +20,7 @@
return FALSE
user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O.name]!", \
"We vomit acidic ooze onto our restraints!")
- addtimer(CALLBACK(src, .proc/dissolve_restraint, user, O), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(dissolve_restraint), user, O), 3 SECONDS)
used = TRUE
if(user.legcuffed)
@@ -29,7 +29,7 @@
return FALSE
user.visible_message("[user] vomits a glob of acid on [user.p_their()] [O.name]!", \
"We vomit acidic ooze onto our leg restraints!")
- addtimer(CALLBACK(src, .proc/dissolve_restraint, user, O), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(dissolve_restraint), user, O), 3 SECONDS)
used = TRUE
if(user.wear_suit && user.wear_suit.breakouttime && !used)
@@ -38,7 +38,7 @@
return FALSE
user.visible_message("[user] vomits a glob of acid across the front of [user.p_their()] [S.name]!", \
"We vomit acidic ooze onto our straight jacket!")
- addtimer(CALLBACK(src, .proc/dissolve_restraint, user, S), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(dissolve_restraint), user, S), 3 SECONDS)
used = TRUE
if(istype(user.loc, /obj/structure/closet) && !used)
@@ -47,7 +47,7 @@
return FALSE
C.visible_message("[C]'s hinges suddenly begin to melt and run!")
to_chat(user, "We vomit acidic goop onto the interior of [C]!")
- addtimer(CALLBACK(src, .proc/open_closet, user, C), 7 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(open_closet), user, C), 7 SECONDS)
used = TRUE
if(istype(user.loc, /obj/structure/spider/cocoon) && !used)
@@ -56,7 +56,7 @@
return FALSE
C.visible_message("[src] shifts and starts to fall apart!")
to_chat(user, "We secrete acidic enzymes from our skin and begin melting our cocoon...")
- addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 2.5 SECONDS) //Very short because it's just webs
+ addtimer(CALLBACK(src, PROC_REF(dissolve_cocoon), user, C), 2.5 SECONDS) //Very short because it's just webs
used = TRUE
for(var/obj/item/grab/G in user.grabbed_by)
var/mob/living/carbon/M = G.assailant
diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm
index c279b253945..ddfd307e7cd 100644
--- a/code/modules/antagonists/changeling/powers/fakedeath.dm
+++ b/code/modules/antagonists/changeling/powers/fakedeath.dm
@@ -18,7 +18,7 @@
user.updatehealth("fakedeath sting")
cling.regenerating = TRUE
- addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME)
+ addtimer(CALLBACK(src, PROC_REF(ready_to_regenerate), user), LING_FAKEDEATH_TIME)
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
diff --git a/code/modules/antagonists/changeling/powers/fleshmend.dm b/code/modules/antagonists/changeling/powers/fleshmend.dm
index d792b16ab43..bec9e0820ae 100644
--- a/code/modules/antagonists/changeling/powers/fleshmend.dm
+++ b/code/modules/antagonists/changeling/powers/fleshmend.dm
@@ -33,7 +33,7 @@
by quick repeated use!")
recent_uses++
- INVOKE_ASYNC(src, .proc/fleshmend, user)
+ INVOKE_ASYNC(src, PROC_REF(fleshmend), user)
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
diff --git a/code/modules/antagonists/changeling/powers/linglink.dm b/code/modules/antagonists/changeling/powers/linglink.dm
index 8f174b4a2fc..f1803a92ee5 100644
--- a/code/modules/antagonists/changeling/powers/linglink.dm
+++ b/code/modules/antagonists/changeling/powers/linglink.dm
@@ -58,7 +58,7 @@
target.say(":g AAAAARRRRGGGGGHHHHH!!")
to_chat(target, "You can now communicate in the changeling hivemind, say \":g message\" to communicate!")
target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them
- addtimer(CALLBACK(src, .proc/end_link, user, target), 180 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(end_link), user, target), 180 SECONDS)
if(!do_mob(user, target, 2 SECONDS))
to_chat(user, "Our link with [target] has ended!")
diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm
index 3649b4704aa..3d92d9e84bd 100644
--- a/code/modules/antagonists/changeling/powers/tiny_prick.dm
+++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm
@@ -8,7 +8,7 @@
/datum/action/changeling/sting/New(Target)
. = ..()
- click_override = new(CALLBACK(src, .proc/try_to_sting))
+ click_override = new(CALLBACK(src, PROC_REF(try_to_sting)))
/datum/action/changeling/sting/Destroy(force, ...)
if(cling.owner.current.middleClickOverride == click_override)
@@ -137,7 +137,7 @@
/datum/action/changeling/sting/LSD/sting_action(mob/user, mob/living/carbon/target)
add_attack_logs(user, target, "LSD sting (changeling)")
- addtimer(CALLBACK(src, .proc/start_hallucinations, target, 400 SECONDS), rand(30 SECONDS, 60 SECONDS))
+ addtimer(CALLBACK(src, PROC_REF(start_hallucinations), target, 400 SECONDS), rand(30 SECONDS, 60 SECONDS))
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
diff --git a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
index 83319ed681f..07ef221aa48 100644
--- a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
+++ b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
@@ -197,7 +197,7 @@
status = CONTRACT_STATUS_COMPLETED
completed_time = station_time_timestamp()
dead_extraction = target_dead
- addtimer(CALLBACK(src, .proc/notify_completion, final_tc_reward, reward_credits, target_dead), COMPLETION_NOTIFY_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(notify_completion), final_tc_reward, reward_credits, target_dead), COMPLETION_NOTIFY_DELAY)
/**
* Marks the contract as invalid and effectively cancels it for later use.
@@ -279,8 +279,8 @@
extraction_deadline = world.time + extraction_cooldown
M.visible_message("[M] enters a mysterious code on [U] and pulls a black and gold flare from [M.p_their()] belongings before lighting it.",\
"You finish entering the signal on [U] and light an extraction flare, initiating the extraction process.")
- addtimer(CALLBACK(src, .proc/open_extraction_portal, U, M, F), EXTRACTION_PHASE_PORTAL)
- extraction_timer_handle = addtimer(CALLBACK(src, .proc/deadline_reached), portal_duration, TIMER_STOPPABLE)
+ addtimer(CALLBACK(src, PROC_REF(open_extraction_portal), U, M, F), EXTRACTION_PHASE_PORTAL)
+ extraction_timer_handle = addtimer(CALLBACK(src, PROC_REF(deadline_reached)), portal_duration, TIMER_STOPPABLE)
/**
* Opens the extraction portal.
@@ -318,7 +318,7 @@
* * P - The extraction portal.
*/
/datum/syndicate_contract/proc/target_received(mob/living/M, obj/effect/portal/redspace/contractor/P)
- INVOKE_ASYNC(src, .proc/clean_up)
+ INVOKE_ASYNC(src, PROC_REF(clean_up))
add_attack_logs(owning_hub.owner.current, M, "extracted to Syndicate Jail")
complete(M.stat == DEAD)
handle_target_experience(M, P)
@@ -350,7 +350,7 @@
var/mob/living/carbon/human/H = M
// Prepare their return
- prisoner_timer_handle = addtimer(CALLBACK(src, .proc/handle_target_return, M, T), prison_time, TIMER_STOPPABLE)
+ prisoner_timer_handle = addtimer(CALLBACK(src, PROC_REF(handle_target_return), M, T), prison_time, TIMER_STOPPABLE)
LAZYSET(GLOB.prisoner_belongings.prisoners, M, src)
// Shove all of the victim's items in the secure locker.
diff --git a/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm b/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm
index c600455023f..1cb3ae322b5 100644
--- a/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm
+++ b/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm
@@ -181,7 +181,7 @@
E.GiveTarget(user) //so it starts running right away
E.Goto(user, E.move_to_delay, E.minimum_distance)
user.make_invisible()
- addtimer(CALLBACK(user, /mob/living/.proc/reset_visibility), 6 SECONDS)
+ addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, reset_visibility)), 6 SECONDS)
/obj/effect/proc_holder/spell/vampire/rally_thralls
name = "Rally Thralls (100)"
@@ -208,7 +208,7 @@
playsound(H, 'sound/magic/staff_healing.ogg', 30)
H.remove_CC()
H.add_overlay(I)
- addtimer(CALLBACK(H, /atom/.proc/cut_overlay, I), 6 SECONDS) // this makes it obvious who your thralls are for a while.
+ addtimer(CALLBACK(H, TYPE_PROC_REF(/atom, cut_overlay), I), 6 SECONDS) // this makes it obvious who your thralls are for a while.
/obj/effect/proc_holder/spell/vampire/self/share_damage
name = "Blood Bond"
diff --git a/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm b/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm
index ca8baa6756f..c76b25bb2f8 100644
--- a/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm
+++ b/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm
@@ -29,7 +29,7 @@
/obj/effect/proc_holder/spell/vampire/self/stomp/cast(list/targets, mob/user)
var/turf/T = get_turf(user)
playsound(T, 'sound/effects/meteorimpact.ogg', 100, TRUE)
- addtimer(CALLBACK(src, .proc/hit_check, 1, T, user), 0.2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(hit_check), 1, T, user), 0.2 SECONDS)
new /obj/effect/temp_visual/stomp(T)
/obj/effect/proc_holder/spell/vampire/self/stomp/proc/hit_check(range, turf/start_turf, mob/user, safe_targets = list())
@@ -49,12 +49,12 @@
if(L.move_resist > MOVE_FORCE_VERY_STRONG)
continue
var/throw_target = get_edge_target_turf(L, get_dir(start_turf, L))
- INVOKE_ASYNC(L, /atom/movable/.proc/throw_at, throw_target, 3, 4)
+ INVOKE_ASYNC(L, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, 3, 4)
L.KnockDown(1 SECONDS)
safe_targets += L
var/new_range = range + 1
if(new_range <= max_range)
- addtimer(CALLBACK(src, .proc/hit_check, new_range, start_turf, user, safe_targets), 0.2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(hit_check), new_range, start_turf, user, safe_targets), 0.2 SECONDS)
/obj/effect/temp_visual/stomp
icon = 'icons/effects/seismic_stomp_effect.dmi'
@@ -160,10 +160,10 @@
switch(firer.a_intent)
if(INTENT_DISARM)
throw_target = get_edge_target_turf(L, get_dir(firer, L))
- L.throw_at(throw_target, 2, 5, spin = FALSE, callback = CALLBACK(src, .proc/create_snare, L)) // shove away
+ L.throw_at(throw_target, 2, 5, spin = FALSE, callback = CALLBACK(src, PROC_REF(create_snare), L)) // shove away
if(INTENT_GRAB)
throw_target = get_step(firer, get_dir(firer, L))
- L.throw_at(throw_target, 2, 5, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, .proc/create_snare, L)) // pull towards
+ L.throw_at(throw_target, 2, 5, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, PROC_REF(create_snare), L)) // pull towards
/obj/item/projectile/magic/demonic_grasp/proc/create_snare(mob/target)
new /obj/effect/temp_visual/demonic_snare(target.loc)
@@ -200,4 +200,4 @@
if(isliving(user))
var/mob/living/L = user
L.apply_status_effect(STATUS_EFFECT_CHARGING)
- L.throw_at(target, targeting.range, 1, L, FALSE, callback = CALLBACK(L, /mob/living/.proc/remove_status_effect, STATUS_EFFECT_CHARGING))
+ L.throw_at(target, targeting.range, 1, L, FALSE, callback = CALLBACK(L, TYPE_PROC_REF(/mob/living, remove_status_effect), STATUS_EFFECT_CHARGING))
diff --git a/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm b/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm
index d54728d8be5..53d6061fcb3 100644
--- a/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm
+++ b/code/modules/antagonists/vampire/vampire_powers/hemomancer_powers.dm
@@ -103,7 +103,7 @@
continue
new /obj/effect/temp_visual/blood_tendril(blood_turf)
- addtimer(CALLBACK(src, .proc/apply_slowdown, T, area_of_affect, 6 SECONDS, user), 0.5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(apply_slowdown), T, area_of_affect, 6 SECONDS, user), 0.5 SECONDS)
/obj/effect/proc_holder/spell/vampire/blood_tendrils/proc/apply_slowdown(turf/T, distance, slowed_amount, mob/user)
for(var/mob/living/L in range(distance, T))
diff --git a/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm b/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm
index d3674a0a773..17573cf663c 100644
--- a/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm
+++ b/code/modules/antagonists/vampire/vampire_powers/umbrae_powers.dm
@@ -26,7 +26,7 @@
var/mob/living/carbon/human/H = user
if(V.iscloaking)
H.physiology.burn_mod *= 1.3
- user.RegisterSignal(user, COMSIG_LIVING_IGNITED, /mob/living.proc/update_vampire_cloak)
+ user.RegisterSignal(user, COMSIG_LIVING_IGNITED, TYPE_PROC_REF(/mob/living, update_vampire_cloak))
else
user.UnregisterSignal(user, COMSIG_LIVING_IGNITED)
H.physiology.burn_mod /= 1.3
@@ -144,7 +144,7 @@
/obj/effect/proc_holder/spell/vampire/soul_anchor/proc/make_anchor(mob/user, turf/anchor_turf)
anchor = new(anchor_turf)
- timer = addtimer(CALLBACK(src, .proc/recall, user), 2 MINUTES, TIMER_STOPPABLE)
+ timer = addtimer(CALLBACK(src, PROC_REF(recall), user), 2 MINUTES, TIMER_STOPPABLE)
should_recharge_after_cast = TRUE
/obj/effect/proc_holder/spell/vampire/soul_anchor/proc/recall(mob/user)
diff --git a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm
index 1fe2f3ac724..acd92390a8e 100644
--- a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm
+++ b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm
@@ -68,7 +68,7 @@
var/datum/antagonist/vampire/V = U.mind.has_antag_datum(/datum/antagonist/vampire)
var/rejuv_bonus = V.get_rejuv_bonus()
if(rejuv_bonus)
- INVOKE_ASYNC(src, .proc/heal, U, rejuv_bonus)
+ INVOKE_ASYNC(src, PROC_REF(heal), U, rejuv_bonus)
/obj/effect/proc_holder/spell/vampire/self/rejuvenate/proc/heal(mob/living/user, rejuv_bonus)
for(var/i in 1 to 5)
diff --git a/code/modules/arcade/claw_game.dm b/code/modules/arcade/claw_game.dm
index a0429c7cdbc..ba1818be523 100644
--- a/code/modules/arcade/claw_game.dm
+++ b/code/modules/arcade/claw_game.dm
@@ -58,7 +58,7 @@ GLOBAL_VAR(claw_game_html)
atom_say("WINNER!")
new /obj/item/toy/prizeball(get_turf(src))
playsound(loc, 'sound/arcade/win.ogg', 50, TRUE)
- addtimer(CALLBACK(src, /atom/.proc/update_icon, UPDATE_ICON_STATE), 10)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon), UPDATE_ICON_STATE), 10)
/obj/machinery/arcade/claw/start_play(mob/user as mob)
..()
diff --git a/code/modules/arcade/mob_hunt/mob_avatar.dm b/code/modules/arcade/mob_hunt/mob_avatar.dm
index 0e87aa1f62d..ecab58523db 100644
--- a/code/modules/arcade/mob_hunt/mob_avatar.dm
+++ b/code/modules/arcade/mob_hunt/mob_avatar.dm
@@ -16,11 +16,11 @@
if(!new_info)
return INITIALIZE_HINT_QDEL
mob_info = new_info
- RegisterSignal(mob_info, COMSIG_PARENT_QDELETING, .proc/delete_wrapper)
+ RegisterSignal(mob_info, COMSIG_PARENT_QDELETING, PROC_REF(delete_wrapper))
update_self()
forceMove(mob_info.spawn_point)
if(!mob_info.is_trap)
- addtimer(CALLBACK(src, .proc/despawn), mob_info.lifetime)
+ addtimer(CALLBACK(src, PROC_REF(despawn)), mob_info.lifetime)
/obj/effect/nanomob/Destroy()
SSmob_hunt.trap_spawns -= src
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index 8b8c7bf71e4..4fa0e958818 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -55,7 +55,7 @@
cooldown--
if(cooldown <= 0)
return FALSE
- addtimer(CALLBACK(src, .proc/process_cooldown), 10)
+ addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 10)
return TRUE
/obj/item/assembly/Destroy()
@@ -93,7 +93,7 @@
if(!secured || cooldown > 0)
return FALSE
cooldown = 2
- addtimer(CALLBACK(src, .proc/process_cooldown), 10)
+ addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 10)
return TRUE
/obj/item/assembly/toggle_secure()
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 7af7b612da5..f61e8b1ae55 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -128,7 +128,7 @@
audible_message("[bicon(src)] *beep* *beep*", hearing_distance = 3)
if(first)
qdel(first)
- addtimer(CALLBACK(src, .proc/process_cooldown), 10)
+ addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 10)
/obj/item/assembly/infra/interact(mob/user)//TODO: change this this to the wire control panel
if(!secured) return
diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm
index 40792107277..129621ff509 100644
--- a/code/modules/assembly/proximity.dm
+++ b/code/modules/assembly/proximity.dm
@@ -56,7 +56,7 @@
cooldown = 2
pulse(FALSE)
visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
- addtimer(CALLBACK(src, .proc/process_cooldown), 10)
+ addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 10)
/obj/item/assembly/prox_sensor/process()
if(timing && (time >= 0))
diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index b8993569949..5506c244801 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -50,7 +50,7 @@ GLOBAL_LIST_EMPTY(remote_signalers)
return
cooldown = 2
- addtimer(CALLBACK(src, .proc/process_cooldown), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 1 SECONDS)
signal()
diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm
index 48c99b16a58..8e9893050df 100644
--- a/code/modules/assembly/timer.dm
+++ b/code/modules/assembly/timer.dm
@@ -45,7 +45,7 @@
pulse(FALSE)
if(loc)
loc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
- addtimer(CALLBACK(src, .proc/process_cooldown), 10)
+ addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 10)
/obj/item/assembly/timer/process()
if(timing && (time > 0))
diff --git a/code/modules/awaymissions/mission_code/beach.dm b/code/modules/awaymissions/mission_code/beach.dm
index 1a56754cb31..113e646730e 100644
--- a/code/modules/awaymissions/mission_code/beach.dm
+++ b/code/modules/awaymissions/mission_code/beach.dm
@@ -13,7 +13,7 @@
/obj/effect/waterfall/New()
. = ..()
- water_timer = addtimer(CALLBACK(src, .proc/drip), water_frequency, TIMER_STOPPABLE)
+ water_timer = addtimer(CALLBACK(src, PROC_REF(drip)), water_frequency, TIMER_STOPPABLE)
/obj/effect/waterfall/Destroy()
if(water_timer)
@@ -26,7 +26,7 @@
W.dir = dir
spawn(1)
W.loc = get_step(W, dir)
- water_timer = addtimer(CALLBACK(src, .proc/drip), water_frequency, TIMER_STOPPABLE)
+ water_timer = addtimer(CALLBACK(src, PROC_REF(drip)), water_frequency, TIMER_STOPPABLE)
/turf/simulated/floor/beach/away
name = "Beach"
@@ -90,7 +90,7 @@
/turf/simulated/floor/beach/away/water/Initialize(mapload)
. = ..()
- RegisterSignal(src, COMSIG_ATOM_INITIALIZED_ON, .proc/InitializedOn)
+ RegisterSignal(src, COMSIG_ATOM_INITIALIZED_ON, PROC_REF(InitializedOn))
/turf/simulated/floor/beach/away/water/Entered(atom/movable/AM, atom/OldLoc)
. = ..()
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 69391a8226a..6d130afc7cb 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -264,7 +264,7 @@
log_client_to_db(tdata) // Make sure our client exists in the DB
// We have a holder. Inform the relevant places
- INVOKE_ASYNC(src, .proc/announce_join)
+ INVOKE_ASYNC(src, PROC_REF(announce_join))
pai_save = new(src)
@@ -337,7 +337,7 @@
on_holder_add()
add_admin_verbs()
// Must be async because any sleeps (happen in sql queries) will break connectings clients
- INVOKE_ASYNC(src, .proc/admin_memo_output, "Show", FALSE, TRUE)
+ INVOKE_ASYNC(src, PROC_REF(admin_memo_output), "Show", FALSE, TRUE)
// Forcibly enable hardware-accelerated graphics, as we need them for the lighting overlays.
@@ -574,7 +574,7 @@
qdel(query_update)
// After the regular update
- INVOKE_ASYNC(src, /client/.proc/get_byond_account_date, FALSE) // Async to avoid other procs in the client chain being delayed by a web request
+ INVOKE_ASYNC(src, TYPE_PROC_REF(/client, get_byond_account_date), FALSE) // Async to avoid other procs in the client chain being delayed by a web request
else
//New player!! Need to insert all the stuff
@@ -590,10 +590,10 @@
qdel(query_insert)
// This is their first connection instance, so TRUE here to notify admins
// This needs to happen here to ensure they actually have a row to update
- INVOKE_ASYNC(src, /client/.proc/get_byond_account_date, TRUE) // Async to avoid other procs in the client chain being delayed by a web request
+ INVOKE_ASYNC(src, TYPE_PROC_REF(/client, get_byond_account_date), TRUE) // Async to avoid other procs in the client chain being delayed by a web request
// Log player connections to DB
- INVOKE_ASYNC(GLOBAL_PROC, .proc/log_connection, ckey, address, computer_id, CONNECTION_TYPE_ESTABLISHED)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey, address, computer_id, CONNECTION_TYPE_ESTABLISHED)
/client/proc/check_ip_intel()
set waitfor = 0 //we sleep when getting the intel, no need to hold up the client connection while we sleep
diff --git a/code/modules/client/preference/link_processing.dm b/code/modules/client/preference/link_processing.dm
index 5655eed46ea..da6da26da4b 100644
--- a/code/modules/client/preference/link_processing.dm
+++ b/code/modules/client/preference/link_processing.dm
@@ -1073,7 +1073,7 @@
if("edit_2fa")
// Do this async so we arent holding up a topic() call
- INVOKE_ASYNC(user.client, /client.proc/edit_2fa)
+ INVOKE_ASYNC(user.client, TYPE_PROC_REF(/client, edit_2fa))
return // We return here to avoid focus being lost
if("keybindings")
diff --git a/code/modules/client/preference/preferences_volume_mixer.dm b/code/modules/client/preference/preferences_volume_mixer.dm
index 0779dd04839..2b853812a47 100644
--- a/code/modules/client/preference/preferences_volume_mixer.dm
+++ b/code/modules/client/preference/preferences_volume_mixer.dm
@@ -56,7 +56,7 @@
SEND_SOUND(parent, S)
// Save it
if(debounce_save)
- volume_mixer_saving = addtimer(CALLBACK(src, .proc/save_volume_mixer), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_STOPPABLE)
+ volume_mixer_saving = addtimer(CALLBACK(src, PROC_REF(save_volume_mixer)), 3 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_STOPPABLE)
else
if(volume_mixer_saving)
deltimer(volume_mixer_saving)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 827dbd67feb..9c0aefc86ed 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -59,7 +59,7 @@
/obj/item/clothing/shoes/galoshes/dry/Initialize(mapload)
. = ..()
- RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, .proc/on_step)
+ RegisterSignal(src, COMSIG_SHOES_STEP_ACTION, PROC_REF(on_step))
/obj/item/clothing/shoes/galoshes/dry/proc/on_step()
SIGNAL_HANDLER
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index bf69ad8e99d..1e6309f1adf 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -373,7 +373,7 @@
disabled = TRUE
icon_state = "reactiveoff"
item_state = "reactiveoff"
- addtimer(CALLBACK(src, .proc/reboot), disable_time SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), disable_time SECONDS)
if(ishuman(loc))
var/mob/living/carbon/human/C = loc
C.update_inv_wear_suit()
@@ -461,7 +461,7 @@
E.Goto(owner, E.move_to_delay, E.minimum_distance)
owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise
owner.make_invisible()
- addtimer(CALLBACK(owner, /mob/living/.proc/reset_visibility), 4 SECONDS)
+ addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living, reset_visibility)), 4 SECONDS)
return TRUE
/obj/item/clothing/suit/armor/reactive/tesla
@@ -524,7 +524,7 @@
var/mob/living/M = AM
to_chat(M, "You're thrown back by [owner]'s reactive armor!")
add_attack_logs(owner, M, "[M] was thrown by [owner]'s [src]", ATKLOG_ALMOSTALL)
- INVOKE_ASYNC(AM, /atom/movable/.proc/throw_at, throw_target, ((clamp((repulse_power - (clamp(dist_from_user - 2, 0, dist_from_user))), 3, repulse_power))), 1) //So stuff gets tossed around at the same time.
+ INVOKE_ASYNC(AM, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, ((clamp((repulse_power - (clamp(dist_from_user - 2, 0, dist_from_user))), 3, repulse_power))), 1) //So stuff gets tossed around at the same time.
disable(rand(2, 5))
return TRUE
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 4e8b1a515f8..2fdb31f648e 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -236,7 +236,7 @@
/obj/item/fluff/dogwhistle/attack_self(mob/user)
user.visible_message("[user] blows on the whistle, but no sound comes out.", "You blow on the whistle, but don't hear anything.")
- addtimer(CALLBACK(src, .proc/summon_sax, user), 20)
+ addtimer(CALLBACK(src, PROC_REF(summon_sax), user), 20)
/obj/item/fluff/dogwhistle/proc/summon_sax(mob/user)
var/mob/living/simple_animal/pet/dog/corgi/C = new /mob/living/simple_animal/pet/dog/corgi(get_turf(user))
diff --git a/code/modules/detective_work/scanner.dm b/code/modules/detective_work/scanner.dm
index d043c3e1263..40cf085fcea 100644
--- a/code/modules/detective_work/scanner.dm
+++ b/code/modules/detective_work/scanner.dm
@@ -71,7 +71,7 @@
to_chat(usr, "Printing report, please wait...")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
- addtimer(CALLBACK(src, .proc/make_paper, log), 10 SECONDS) // Create our paper
+ addtimer(CALLBACK(src, PROC_REF(make_paper), log), 10 SECONDS) // Create our paper
log = list() // Clear the logs
scanning = FALSE
else
@@ -95,7 +95,7 @@
if(length(log) && !scanning)
log = list()
playsound(loc, 'sound/machines/ding.ogg', 40)
- addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, usr, "Scanner logs cleared."), 1.5 SECONDS) //Timer so that it clears on the 'ding'
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), usr, "Scanner logs cleared."), 1.5 SECONDS) //Timer so that it clears on the 'ding'
else
to_chat(usr, "The scanner has no logs or is in use.")
diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm
index 782595931ac..505749ff8c8 100644
--- a/code/modules/events/abductor.dm
+++ b/code/modules/events/abductor.dm
@@ -1,12 +1,12 @@
/datum/event/abductor
/datum/event/abductor/start()
- INVOKE_ASYNC(src, .proc/try_makeAbductorTeam)
+ INVOKE_ASYNC(src, PROC_REF(try_makeAbductorTeam))
/datum/event/abductor/proc/try_makeAbductorTeam()
if(!makeAbductorTeam())
message_admins("Abductor event failed to find players. Retrying in 30s.")
- addtimer(CALLBACK(src, .proc/makeAbductorTeam), 30 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(makeAbductorTeam)), 30 SECONDS)
/datum/event/abductor/proc/makeAbductorTeam()
var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you wish to be considered for an Abductor Team?", ROLE_ABDUCTOR, TRUE)
diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm
index b230ecff627..8cd568e5c75 100644
--- a/code/modules/events/alien_infestation.dm
+++ b/code/modules/events/alien_infestation.dm
@@ -18,7 +18,7 @@
playercount = length(GLOB.clients)//grab playercount when event starts not when game starts
if(playercount >= highpop_trigger) //spawn with 4 if highpop
spawncount = 4
- INVOKE_ASYNC(src, .proc/spawn_xenos)
+ INVOKE_ASYNC(src, PROC_REF(spawn_xenos))
/datum/event/alien_infestation/proc/spawn_xenos()
var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as an alien?", ROLE_ALIEN, TRUE, source = /mob/living/carbon/alien/larva)
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index 4856d532740..f0d4c0a0cdd 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -10,7 +10,7 @@
log_and_message_admins("Warning: Could not spawn any mobs for event Blob")
/datum/event/blob/start()
- INVOKE_ASYNC(src, .proc/make_blob)
+ INVOKE_ASYNC(src, PROC_REF(make_blob))
/datum/event/blob/proc/make_blob()
var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a blob infested mouse?", ROLE_BLOB, TRUE, source = /mob/living/simple_animal/mouse/blobinfected)
diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm
index e8a557ed069..8dc47370186 100644
--- a/code/modules/events/brand_intelligence.dm
+++ b/code/modules/events/brand_intelligence.dm
@@ -20,7 +20,7 @@
for(var/obj/machinery/vending/V in GLOB.machines)
if(!is_station_level(V.z))
continue
- RegisterSignal(V, COMSIG_PARENT_QDELETING, .proc/vendor_destroyed)
+ RegisterSignal(V, COMSIG_PARENT_QDELETING, PROC_REF(vendor_destroyed))
vendingMachines.Add(V)
if(!length(vendingMachines))
diff --git a/code/modules/events/communications_blackout.dm b/code/modules/events/communications_blackout.dm
index 52baf0fe05c..73fb0d1cbd0 100644
--- a/code/modules/events/communications_blackout.dm
+++ b/code/modules/events/communications_blackout.dm
@@ -20,4 +20,4 @@
T.start_ion()
// Bring it back sometime between 3-5 minutes. This uses deciseconds, so 1800 and 3000 respecticely.
// The AI cannot disable this, it must be waited for
- addtimer(CALLBACK(T, /obj/machinery/tcomms.proc/end_ion), rand(1800, 3000))
+ addtimer(CALLBACK(T, TYPE_PROC_REF(/obj/machinery/tcomms, end_ion)), rand(1800, 3000))
diff --git a/code/modules/events/door_runtime.dm b/code/modules/events/door_runtime.dm
index 9024bec48b2..806e5d063f8 100644
--- a/code/modules/events/door_runtime.dm
+++ b/code/modules/events/door_runtime.dm
@@ -7,9 +7,9 @@
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)
- addtimer(CALLBACK(D, /obj/machinery/door.proc/disable_lockdown), 90 SECONDS)
- addtimer(CALLBACK(src, .proc/reboot), 90 SECONDS)
+ INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door, hostile_lockdown))
+ addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/door, disable_lockdown)), 90 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), 90 SECONDS)
post_status(STATUS_DISPLAY_ALERT, "lockdown")
/datum/event/door_runtime/proc/reboot()
diff --git a/code/modules/events/dust.dm b/code/modules/events/dust.dm
index 6eb6446c581..de651813776 100644
--- a/code/modules/events/dust.dm
+++ b/code/modules/events/dust.dm
@@ -77,7 +77,7 @@
shake_camera(M, 3, 1)
playsound(loc, 'sound/effects/meteorimpact.ogg', 40, 1)
- INVOKE_ASYNC(src, .proc/impact_meteor, A) // ex_act can have some sleeps in it
+ INVOKE_ASYNC(src, PROC_REF(impact_meteor), A) // ex_act can have some sleeps in it
/obj/effect/space_dust/proc/impact_meteor(atom/A)
var/turf/where = get_turf(A)
diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm
index 0fd1bbcee05..7b488c982fe 100644
--- a/code/modules/events/electrical_storm.dm
+++ b/code/modules/events/electrical_storm.dm
@@ -24,4 +24,4 @@
for(var/thing in epicentreList)
var/obj/effect/landmark/epicentre = thing
for(var/obj/machinery/power/apc/apc in range(epicentre, lightsoutRange))
- INVOKE_ASYNC(apc, /obj/machinery/power/apc.proc/overload_lighting)
+ INVOKE_ASYNC(apc, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting))
diff --git a/code/modules/events/meaty_ores.dm b/code/modules/events/meaty_ores.dm
index 0b13bddf9a6..a04065133cc 100644
--- a/code/modules/events/meaty_ores.dm
+++ b/code/modules/events/meaty_ores.dm
@@ -8,7 +8,7 @@
qnty = rand(45,125)
/datum/event/dust/meaty/start()
- INVOKE_ASYNC(src, .proc/spawn_meaty_ores)
+ INVOKE_ASYNC(src, PROC_REF(spawn_meaty_ores))
/datum/event/dust/meaty/proc/spawn_meaty_ores()
while(qnty-- > 0)
diff --git a/code/modules/events/meteors.dm b/code/modules/events/meteors.dm
index d68ed189be2..7a92a93f5b8 100644
--- a/code/modules/events/meteors.dm
+++ b/code/modules/events/meteors.dm
@@ -17,7 +17,7 @@
//meteor showers are lighter and more common,
/datum/event/meteor_wave/tick()
if(waves && activeFor >= next_meteor)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/spawn_meteors, get_meteor_count(), get_meteors())
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(spawn_meteors), get_meteor_count(), get_meteors())
next_meteor += rand(15, 30) / severity
waves--
endWhen = (waves ? next_meteor + 1 : activeFor + 15)
diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm
index b13af4cc34e..a711b4f6681 100644
--- a/code/modules/events/sentience.dm
+++ b/code/modules/events/sentience.dm
@@ -1,7 +1,7 @@
/datum/event/sentience
/datum/event/sentience/start()
- INVOKE_ASYNC(src, .proc/make_sentient_mob)
+ INVOKE_ASYNC(src, PROC_REF(make_sentient_mob))
/datum/event/sentience/proc/make_sentient_mob()
var/list/potential = list()
diff --git a/code/modules/events/slaughterevent.dm b/code/modules/events/slaughterevent.dm
index b3c5ecd289f..018cfe636c9 100644
--- a/code/modules/events/slaughterevent.dm
+++ b/code/modules/events/slaughterevent.dm
@@ -35,7 +35,7 @@
log_game("[key_name_admin(S)] was spawned as a Slaughter Demon by an event.")
/datum/event/spawn_slaughter/start()
- INVOKE_ASYNC(src, .proc/get_slaughter)
+ INVOKE_ASYNC(src, PROC_REF(get_slaughter))
/datum/event/spawn_slaughter/greater
demon = /mob/living/simple_animal/slaughter
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index debdcf2c2ba..2d2578db583 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -230,7 +230,7 @@
if(explosion_severity < 3)
qdel(holder)
else
- addtimer(CALLBACK(holder, /obj/structure/spacevine.proc/wither), 5)
+ addtimer(CALLBACK(holder, TYPE_PROC_REF(/obj/structure/spacevine, wither)), 5)
return TRUE
/datum/spacevine_mutation/explosive/on_death(obj/structure/spacevine/holder, mob/hitter, obj/item/I)
diff --git a/code/modules/events/spider_terror.dm b/code/modules/events/spider_terror.dm
index 82eecebe37f..ee428105c1f 100644
--- a/code/modules/events/spider_terror.dm
+++ b/code/modules/events/spider_terror.dm
@@ -22,7 +22,7 @@
/datum/event/spider_terror/start()
// It is necessary to wrap this to avoid the event triggering repeatedly.
- INVOKE_ASYNC(src, .proc/wrappedstart)
+ INVOKE_ASYNC(src, PROC_REF(wrappedstart))
/datum/event/spider_terror/proc/wrappedstart()
var/spider_type
diff --git a/code/modules/events/tear.dm b/code/modules/events/tear.dm
index e51d45d82dc..1c2d651092b 100644
--- a/code/modules/events/tear.dm
+++ b/code/modules/events/tear.dm
@@ -23,11 +23,11 @@
// Give ghosts some time to jump there before it begins.
var/image/alert_overlay = image('icons/mob/animal.dmi', notify_image)
notify_ghosts("\A [src] is about to open in [get_area(T)].", title = notify_title, source = T, alert_overlay = alert_overlay, action = NOTIFY_FOLLOW)
- addtimer(CALLBACK(src, .proc/spawn_tear, T), 4 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(spawn_tear), T), 4 SECONDS)
// Energy overload; we mess with machines as an early warning and for extra spookiness.
for(var/obj/machinery/M in range(8, T))
- INVOKE_ASYNC(M, /atom/.proc/get_spooked)
+ INVOKE_ASYNC(M, TYPE_PROC_REF(/atom, get_spooked))
/datum/event/tear/proc/spawn_tear(location)
TE = new /obj/effect/tear(location)
@@ -62,8 +62,8 @@
playsound(get_turf(src), 'sound/magic/drum_heartbeat.ogg', 100)
// We spawn the minions first, then the boss.
- addtimer(CALLBACK(src, .proc/spawn_mobs), 2 SECONDS)
- addtimer(CALLBACK(src, .proc/spawn_leader), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(spawn_mobs)), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(spawn_leader)), 5 SECONDS)
/obj/effect/tear/proc/spawn_mobs()
// We break some of those flickering consoles from earlier.
diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm
index 2bb6f3adf2d..cafe0259c4c 100644
--- a/code/modules/events/traders.dm
+++ b/code/modules/events/traders.dm
@@ -31,7 +31,7 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
trader_objectives = forge_trader_objectives()
- INVOKE_ASYNC(src, .proc/spawn_traders, spawnlocs)
+ INVOKE_ASYNC(src, PROC_REF(spawn_traders), spawnlocs)
/datum/event/traders/proc/spawn_traders(list/spawnlocs)
var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a Sol Trader?", ROLE_TRADER, TRUE)
@@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol"))
to_chat(M, "You are a trader!")
to_chat(M, "You are currently docked at [get_area(M)].")
to_chat(M, "You are about to trade with [station_name()].")
- addtimer(CALLBACK(GLOBAL_PROC, .proc/show_objectives, M.mind), 25)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(show_objectives), M.mind), 25)
/datum/event/traders/proc/forge_trader_objectives()
var/list/objs = list()
diff --git a/code/modules/events/wallrot.dm b/code/modules/events/wallrot.dm
index 7f139aa3993..f7f5b4e435b 100644
--- a/code/modules/events/wallrot.dm
+++ b/code/modules/events/wallrot.dm
@@ -1,5 +1,5 @@
/datum/event/wallrot/start()
- INVOKE_ASYNC(src, .proc/spawn_wallrot)
+ INVOKE_ASYNC(src, PROC_REF(spawn_wallrot))
/datum/event/wallrot/proc/spawn_wallrot()
var/turf/simulated/wall/center = null
diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm
index b01abc9ebf9..a5aaa9280cd 100644
--- a/code/modules/flufftext/Dreaming.dm
+++ b/code/modules/flufftext/Dreaming.dm
@@ -11,7 +11,7 @@
dream_images += pick_n_take(dreams)
dreaming++
for(var/i in 1 to dream_images.len)
- addtimer(CALLBACK(src, .proc/experience_dream, dream_images[i], FALSE), ((i - 1) * rand(30,60)))
+ addtimer(CALLBACK(src, PROC_REF(experience_dream), dream_images[i], FALSE), ((i - 1) * rand(30,60)))
return TRUE
@@ -33,7 +33,7 @@
dream_images += pick_n_take(nightmares)
nightmare++
for(var/i in 1 to dream_images.len)
- addtimer(CALLBACK(src, .proc/experience_dream, dream_images[i], TRUE), ((i - 1) * rand(30,60)))
+ addtimer(CALLBACK(src, PROC_REF(experience_dream), dream_images[i], TRUE), ((i - 1) * rand(30,60)))
return TRUE
/mob/living/carbon/proc/handle_dreams()
diff --git a/code/modules/food_and_drinks/drinks/drinks/cans.dm b/code/modules/food_and_drinks/drinks/drinks/cans.dm
index 087a9ba12fc..0239c89e4da 100644
--- a/code/modules/food_and_drinks/drinks/drinks/cans.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/cans.dm
@@ -51,18 +51,18 @@
return ..()
if(src == H.l_hand || src == H.r_hand)
can_shake = FALSE
- addtimer(CALLBACK(src, .proc/reset_shakable), 1 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(reset_shakable)), 1 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
to_chat(H, "You start shaking up [src].")
if(do_after(H, 1 SECONDS, target = H))
visible_message("[user] shakes up [src]!")
if(times_shaken == 0)
times_shaken++
- addtimer(CALLBACK(src, .proc/reset_shaken), 1 MINUTES, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
+ addtimer(CALLBACK(src, PROC_REF(reset_shaken)), 1 MINUTES, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
else if(times_shaken < 5)
times_shaken++
- addtimer(CALLBACK(src, .proc/reset_shaken), (70 - (times_shaken * 10)) SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
+ addtimer(CALLBACK(src, PROC_REF(reset_shaken)), (70 - (times_shaken * 10)) SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
else
- addtimer(CALLBACK(src, .proc/reset_shaken), 20 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
+ addtimer(CALLBACK(src, PROC_REF(reset_shaken)), 20 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
handle_bursting(user)
else
to_chat(H, "You need to hold [src] in order to shake it.")
@@ -158,7 +158,7 @@
can_burst = FALSE
burst_chance = 0
if(times_shaken)
- addtimer(CALLBACK(src, .proc/reset_shaken), (70 - (times_shaken * 10)) SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
+ addtimer(CALLBACK(src, PROC_REF(reset_shaken)), (70 - (times_shaken * 10)) SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
/obj/item/reagent_containers/food/drinks/cans/cola
name = "space cola"
diff --git a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm
index 6cf7130fdad..9bfe7f2384f 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm
@@ -148,7 +148,7 @@
else
L.death()
break
- addtimer(CALLBACK(src, .proc/finish_cook, I, user), cooktime)
+ addtimer(CALLBACK(src, PROC_REF(finish_cook), I, user), cooktime)
/obj/machinery/cooker/proc/finish_cook(obj/item/I, mob/user, params)
if(QDELETED(I)) //For situations where the item being cooked gets deleted mid-cook (primed grenades)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index d33d78f0c26..e95dbe17534 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -56,8 +56,8 @@
)
playsound(src, 'sound/goonstation/misc/drinkfizz.ogg', 25)
- addtimer(CALLBACK(src, .proc/boil_leadup, user), 4 SECONDS)
- addtimer(CALLBACK(src, .proc/make_foam, ice_amount), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(boil_leadup), user), 4 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(make_foam), ice_amount), 5 SECONDS)
return TRUE
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 7c664a25791..568e53f691f 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -48,7 +48,7 @@
occupant = user
update_icon(UPDATE_OVERLAYS)
feedinTopanim()
- addtimer(CALLBACK(src, .proc/startgibbing, user), 33)
+ addtimer(CALLBACK(src, PROC_REF(startgibbing), user), 33)
return OBLITERATION
/obj/machinery/gibber/update_overlays()
@@ -147,7 +147,7 @@
occupant = victim
update_icon(UPDATE_OVERLAYS)
- INVOKE_ASYNC(src, .proc/feedinTopanim)
+ INVOKE_ASYNC(src, PROC_REF(feedinTopanim))
/obj/machinery/gibber/verb/eject()
set category = "Object"
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index b88574f1a26..2bfbe8d31b8 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -375,7 +375,7 @@
if(!throw_item)
return FALSE
- INVOKE_ASYNC(throw_item, /atom/movable.proc/throw_at, target, 16, 3, src)
+ INVOKE_ASYNC(throw_item, TYPE_PROC_REF(/atom/movable, throw_at), target, 16, 3, src)
visible_message("[src] launches [throw_item.name] at [target.name]!")
return TRUE
diff --git a/code/modules/hallucinations/effects/common.dm b/code/modules/hallucinations/effects/common.dm
index 90c01061de6..9dc0e97ab06 100644
--- a/code/modules/hallucinations/effects/common.dm
+++ b/code/modules/hallucinations/effects/common.dm
@@ -48,7 +48,7 @@
/obj/effect/hallucination/chaser/Initialize(mapload, mob/living/carbon/target)
. = ..()
name = "\proper monkey ([rand(100, 999)])"
- think_timer = addtimer(CALLBACK(src, .proc/think), think_interval, TIMER_LOOP | TIMER_STOPPABLE)
+ think_timer = addtimer(CALLBACK(src, PROC_REF(think)), think_interval, TIMER_LOOP | TIMER_STOPPABLE)
/obj/effect/hallucination/chaser/Destroy()
deltimer(think_timer)
diff --git a/code/modules/hallucinations/effects/major.dm b/code/modules/hallucinations/effects/major.dm
index 0bfb8369b21..8793b01d476 100644
--- a/code/modules/hallucinations/effects/major.dm
+++ b/code/modules/hallucinations/effects/major.dm
@@ -139,7 +139,7 @@
teleport.plane = GAME_PLANE
add_icon(teleport)
clear_icon_in(teleport, 4 SECONDS)
- addtimer(CALLBACK(src, .proc/do_spawn_scientist, T), 4 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(do_spawn_scientist), T), 4 SECONDS)
playsound(T, "sparks", 100, TRUE)
/**
@@ -206,8 +206,8 @@
/obj/effect/hallucination/loose_energy_ball/Initialize(mapload)
. = ..()
phase_1()
- addtimer(CALLBACK(src, .proc/phase_2), length_phase_1)
- addtimer(CALLBACK(src, .proc/phase_3), length_phase_1 + length_phase_2)
+ addtimer(CALLBACK(src, PROC_REF(phase_2)), length_phase_1)
+ addtimer(CALLBACK(src, PROC_REF(phase_3)), length_phase_1 + length_phase_2)
/**
* First phase of the hallucination: intermittent, far-away explosion sounds.
@@ -238,7 +238,7 @@
var/steps = (length_phase_3 / 20) - 1
for(var/i in 0 to steps)
- addtimer(CALLBACK(src, .proc/phase_3_inner, ball, steps - i, i), i * 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(phase_3_inner), ball, steps - i, i), i * 2 SECONDS)
/**
* Called during phase 3 to approach the energy ball towards the target.
@@ -359,7 +359,7 @@
var/turf/T = get_turf(pick(vents))
xeno = new(T, target)
xeno.dir = get_dir(T, target)
- addtimer(CALLBACK(src, .proc/do_pounce), pounce_interval)
+ addtimer(CALLBACK(src, PROC_REF(do_pounce)), pounce_interval)
/obj/effect/hallucination/xeno_pounce/proc/do_pounce()
if(QDELETED(xeno) || QDELETED(target))
@@ -367,7 +367,7 @@
xeno.leap_to(target)
if(--num_pounces > 0)
- addtimer(CALLBACK(src, .proc/do_pounce), pounce_interval)
+ addtimer(CALLBACK(src, PROC_REF(do_pounce)), pounce_interval)
/obj/effect/hallucination/xeno_pouncer
hallucination_icon = 'icons/mob/alien.dmi'
@@ -399,7 +399,7 @@
images[1].icon = 'icons/mob/alienleap.dmi'
images[1].icon_state = "alienh_leap"
dir = get_dir(get_turf(src), dest)
- throw_at(dest, 7, 1, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, .proc/reset_icon))
+ throw_at(dest, 7, 1, spin = FALSE, diagonals_first = TRUE, callback = CALLBACK(src, PROC_REF(reset_icon)))
/**
* Resets the xeno's icon to a resting state.
diff --git a/code/modules/hallucinations/effects/minor.dm b/code/modules/hallucinations/effects/minor.dm
index 4c866e06c5e..0d55a6c95f0 100644
--- a/code/modules/hallucinations/effects/minor.dm
+++ b/code/modules/hallucinations/effects/minor.dm
@@ -68,7 +68,7 @@
var/obj/machinery/door/airlock/A = pick_n_take(airlocks)
if(A.locked)
continue
- addtimer(CALLBACK(src, .proc/do_bolt, A), num_bolted++ * rand(5, 7))
+ addtimer(CALLBACK(src, PROC_REF(do_bolt), A), num_bolted++ * rand(5, 7))
bolt_amount--
/**
@@ -86,8 +86,8 @@
target?.playsound_local(get_turf(A), A.boltDown, 30, FALSE, 3)
LAZYSET(bolted, A, bolt_overlay)
// Timer and signal to turn it off (only one can happen)
- RegisterSignal(A, COMSIG_AIRLOCK_OPEN, .proc/do_unbolt)
- addtimer(CALLBACK(src, .proc/do_unbolt, A, bolt_overlay), bolt_duration)
+ RegisterSignal(A, COMSIG_AIRLOCK_OPEN, PROC_REF(do_unbolt))
+ addtimer(CALLBACK(src, PROC_REF(do_unbolt), A, bolt_overlay), bolt_duration)
/**
* Called in a timer to fake unbolt the given airlock.
diff --git a/code/modules/hallucinations/effects/moderate.dm b/code/modules/hallucinations/effects/moderate.dm
index b4569d1189f..e6c281f8886 100644
--- a/code/modules/hallucinations/effects/moderate.dm
+++ b/code/modules/hallucinations/effects/moderate.dm
@@ -267,7 +267,7 @@
create_plasma(T)
expand_queue += T
processed[T] = TRUE
- expand_timer = addtimer(CALLBACK(src, .proc/expand), expand_delay, TIMER_LOOP | TIMER_STOPPABLE)
+ expand_timer = addtimer(CALLBACK(src, PROC_REF(expand)), expand_delay, TIMER_LOOP | TIMER_STOPPABLE)
/obj/effect/hallucination/plasma_flood/Destroy()
deltimer(expand_timer)
diff --git a/code/modules/hallucinations/hallucinations.dm b/code/modules/hallucinations/hallucinations.dm
index 0263353c429..ee2fa5fb916 100644
--- a/code/modules/hallucinations/hallucinations.dm
+++ b/code/modules/hallucinations/hallucinations.dm
@@ -114,7 +114,7 @@ GLOBAL_LIST_INIT(hallucinations, list(
* * delay - Delay in deciseconds.
*/
/obj/effect/hallucination/proc/clear_icon_in(image/I, delay)
- addtimer(CALLBACK(src, .proc/clear_icon, I), delay)
+ addtimer(CALLBACK(src, PROC_REF(clear_icon), I), delay)
/**
* Clears all images from the hallucination.
@@ -141,4 +141,4 @@ GLOBAL_LIST_INIT(hallucinations, list(
if(time == 0) // whatever
target?.playsound_local(source, snd, volume, vary, frequency)
return
- addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, snd, volume, vary, frequency), time)
+ addtimer(CALLBACK(target, TYPE_PROC_REF(/mob, playsound_local), source, snd, volume, vary, frequency), time)
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index ad3855103f8..60f7bf29db0 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -271,7 +271,7 @@
stored_plants.Cut()
playsound(loc, 'sound/machines/blender.ogg', 50, 1)
use_power(plants_processed * 150)
- addtimer(CALLBACK(src, .proc/end_processing), (plants_processed * 5) / productivity)
+ addtimer(CALLBACK(src, PROC_REF(end_processing)), (plants_processed * 5) / productivity)
/obj/machinery/biogenerator/proc/end_processing()
processing = FALSE
diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm
index 224e4a62386..ef4b978936f 100644
--- a/code/modules/hydroponics/fermenting_barrel.dm
+++ b/code/modules/hydroponics/fermenting_barrel.dm
@@ -49,7 +49,7 @@
return FALSE
G.forceMove(src)
to_chat(user, "You place [G] into [src] to start the fermentation process.")
- addtimer(CALLBACK(src, .proc/makeWine, G), rand(80, 120) * speed_multiplier)
+ addtimer(CALLBACK(src, PROC_REF(makeWine), G), rand(80, 120) * speed_multiplier)
else if(I.is_refillable())
return FALSE // To refill via afterattack proc
else
diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm
index 12cdb4834d2..aeda25fc74d 100644
--- a/code/modules/hydroponics/grown/citrus.dm
+++ b/code/modules/hydroponics/grown/citrus.dm
@@ -124,7 +124,7 @@
C.throw_mode_on()
icon_state = "firelemon_active"
playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
- addtimer(CALLBACK(src, .proc/prime), rand(10, 60))
+ addtimer(CALLBACK(src, PROC_REF(prime)), rand(10, 60))
/obj/item/reagent_containers/food/snacks/grown/firelemon/burn()
prime()
diff --git a/code/modules/instruments/_instrument_data.dm b/code/modules/instruments/_instrument_data.dm
index 2fde3de59fb..af98d114415 100644
--- a/code/modules/instruments/_instrument_data.dm
+++ b/code/modules/instruments/_instrument_data.dm
@@ -89,7 +89,7 @@
samples = list()
for(var/key in real_samples)
real_keys += text2num(key)
- sortTim(real_keys, /proc/cmp_numeric_asc, associative = FALSE)
+ sortTim(real_keys, GLOBAL_PROC_REF(cmp_numeric_asc), associative = FALSE)
for(var/i in 1 to (length(real_keys) - 1))
var/from_key = real_keys[i]
diff --git a/code/modules/instruments/objs/items/headphones.dm b/code/modules/instruments/objs/items/headphones.dm
index 484cc21bec7..d7812f798dc 100644
--- a/code/modules/instruments/objs/items/headphones.dm
+++ b/code/modules/instruments/objs/items/headphones.dm
@@ -13,8 +13,8 @@
song.instrument_range = 0
song.allowed_instrument_ids = SSinstruments.synthesizer_instrument_ids
// To update the icon
- RegisterSignal(src, COMSIG_SONG_START, .proc/start_playing)
- RegisterSignal(src, COMSIG_SONG_END, .proc/stop_playing)
+ RegisterSignal(src, COMSIG_SONG_START, PROC_REF(start_playing))
+ RegisterSignal(src, COMSIG_SONG_END, PROC_REF(stop_playing))
/obj/item/clothing/ears/headphones/Destroy()
QDEL_NULL(song)
diff --git a/code/modules/instruments/songs/_song_ui.dm b/code/modules/instruments/songs/_song_ui.dm
index c061b2426df..6e9bf9fe01f 100644
--- a/code/modules/instruments/songs/_song_ui.dm
+++ b/code/modules/instruments/songs/_song_ui.dm
@@ -83,7 +83,7 @@
if("tempo")
tempo = sanitize_tempo(text2num(params["new"]))
if("play")
- INVOKE_ASYNC(src, .proc/start_playing, usr)
+ INVOKE_ASYNC(src, PROC_REF(start_playing), usr)
if("newline")
var/newline = html_encode(input("Enter your line: ", parent.name) as text|null)
if(!newline || !in_range(parent, usr))
diff --git a/code/modules/library/book.dm b/code/modules/library/book.dm
index 89ba81b9586..0325cdd39c1 100644
--- a/code/modules/library/book.dm
+++ b/code/modules/library/book.dm
@@ -320,7 +320,7 @@
user.drop_item()
I.forceMove(src)
- RegisterSignal(I, COMSIG_PARENT_QDELETING, .proc/clear_stored_item) //ensure proper GC'ing
+ RegisterSignal(I, COMSIG_PARENT_QDELETING, PROC_REF(clear_stored_item)) //ensure proper GC'ing
store = I
to_chat(user, "You hide [I] in [name].")
return TRUE
diff --git a/code/modules/library/library_equipment.dm b/code/modules/library/library_equipment.dm
index db2fdadea8e..89ddfe519bd 100644
--- a/code/modules/library/library_equipment.dm
+++ b/code/modules/library/library_equipment.dm
@@ -249,7 +249,7 @@
if(!printing)
printing = TRUE
visible_message("[src] begins to hum as it warms up its printing drums.")
- addtimer(CALLBACK(src, .proc/print_book), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_book)), 5 SECONDS)
else
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
if("toggle_binder_category")
@@ -347,7 +347,7 @@
disconnect() //clear references to old computer, we have to unregister signals
computer = library_computer
- RegisterSignal(library_computer, COMSIG_PARENT_QDELETING, .proc/disconnect)
+ RegisterSignal(library_computer, COMSIG_PARENT_QDELETING, PROC_REF(disconnect))
return TRUE
/obj/item/barcodescanner/proc/disconnect()
diff --git a/code/modules/martial_arts/combos/cqc/restrain.dm b/code/modules/martial_arts/combos/cqc/restrain.dm
index d8c563b7fee..792fafeb9d4 100644
--- a/code/modules/martial_arts/combos/cqc/restrain.dm
+++ b/code/modules/martial_arts/combos/cqc/restrain.dm
@@ -25,7 +25,7 @@
target.adjustStaminaLoss(40)
CQC.restraining = TRUE
- addtimer(CALLBACK(CQC, /datum/martial_art/cqc/.proc/drop_restraining), 5 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(CQC, TYPE_PROC_REF(/datum/martial_art/cqc, drop_restraining)), 5 SECONDS, TIMER_UNIQUE)
add_attack_logs(user, target, "Melee attacked with martial-art [src] : Restrain", ATKLOG_ALL)
return MARTIAL_COMBO_DONE
return MARTIAL_COMBO_FAIL
diff --git a/code/modules/martial_arts/combos/plasma_fist/tornado_sweep.dm b/code/modules/martial_arts/combos/plasma_fist/tornado_sweep.dm
index 41a7bd676d3..5bb9013ee42 100644
--- a/code/modules/martial_arts/combos/plasma_fist/tornado_sweep.dm
+++ b/code/modules/martial_arts/combos/plasma_fist/tornado_sweep.dm
@@ -5,7 +5,7 @@
/datum/martial_combo/plasma_fist/tornado_sweep/perform_combo(mob/living/carbon/human/user, mob/living/target, datum/martial_art/MA)
user.say("TORNADO SWEEP!")
- INVOKE_ASYNC(src, .proc/do_tornado_effect, user)
+ INVOKE_ASYNC(src, PROC_REF(do_tornado_effect), user)
var/obj/effect/proc_holder/spell/aoe_turf/repulse/R = new(null)
var/list/turfs = list()
for(var/turf/T in range(1,user))
diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm
index a510e14944e..e33024d1bdb 100644
--- a/code/modules/mining/equipment/kinetic_crusher.dm
+++ b/code/modules/mining/equipment/kinetic_crusher.dm
@@ -114,7 +114,7 @@
D.fire()
charged = FALSE
update_icon()
- addtimer(CALLBACK(src, .proc/Recharge), charge_time)
+ addtimer(CALLBACK(src, PROC_REF(Recharge)), charge_time)
return
if(proximity_flag && isliving(target))
var/mob/living/L = target
@@ -392,7 +392,7 @@
continue
playsound(L, 'sound/magic/fireball.ogg', 20, 1)
new /obj/effect/temp_visual/fire(L.loc)
- addtimer(CALLBACK(src, .proc/pushback, L, user), 1) //no free backstabs, we push AFTER module stuff is done
+ addtimer(CALLBACK(src, PROC_REF(pushback), L, user), 1) //no free backstabs, we push AFTER module stuff is done
L.adjustFireLoss(bonus_value)
/obj/item/crusher_trophy/tail_spike/proc/pushback(mob/living/target, mob/living/user)
@@ -458,7 +458,7 @@
/obj/item/crusher_trophy/blaster_tubes/on_mark_detonation(mob/living/target, mob/living/user)
deadly_shot = TRUE
- addtimer(CALLBACK(src, .proc/reset_deadly_shot), 300, TIMER_UNIQUE|TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(reset_deadly_shot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE)
/obj/item/crusher_trophy/blaster_tubes/proc/reset_deadly_shot()
deadly_shot = FALSE
diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm
index b1f1dc94af5..5b2c8bd74a0 100644
--- a/code/modules/mining/equipment/regenerative_core.dm
+++ b/code/modules/mining/equipment/regenerative_core.dm
@@ -32,7 +32,7 @@
/obj/item/organ/internal/regenerative_core/Initialize(mapload)
. = ..()
- addtimer(CALLBACK(src, .proc/inert_check), 2400)
+ addtimer(CALLBACK(src, PROC_REF(inert_check)), 2400)
/obj/item/organ/internal/regenerative_core/proc/inert_check()
if(!preserved)
@@ -122,7 +122,7 @@
/obj/item/organ/internal/regenerative_core/legion/update_icon_state()
icon_state = inert ? "legion_soul_inert" : "legion_soul"
-
+
/obj/item/organ/internal/regenerative_core/legion/update_overlays()
. = ..()
if(!inert && !preserved)
diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm
index 68c45aab750..44cbca77f9e 100644
--- a/code/modules/mining/equipment/resonator.dm
+++ b/code/modules/mining/equipment/resonator.dm
@@ -70,7 +70,7 @@
transform = matrix() * 0.75
animate(src, transform = matrix() * 1.5, time = duration)
deltimer(timerid)
- timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(burst)), duration, TIMER_STOPPABLE)
/obj/effect/temp_visual/resonance/Destroy()
if(res)
diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm
index f2d6971f6a5..ee66c42bd0a 100644
--- a/code/modules/mining/equipment/wormhole_jaunter.dm
+++ b/code/modules/mining/equipment/wormhole_jaunter.dm
@@ -88,7 +88,7 @@
L.Weaken(12 SECONDS)
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)
/obj/item/wormhole_jaunter/contractor
name = "emergency extraction flare"
@@ -140,7 +140,7 @@
"You light an emergency extraction flare, initiating the extraction process.")
user.drop_item()
forceMove(F)
- addtimer(CALLBACK(src, .proc/create_portal, destination), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(create_portal), destination), 5 SECONDS)
/obj/item/wormhole_jaunter/contractor/proc/create_portal(turf/destination)
new /obj/effect/decal/cleanable/ash(get_turf(src))
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index a3d0723e34d..c7557ccea6b 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -46,7 +46,7 @@
name = harvested_name
desc = harvested_desc
harvested = TRUE
- addtimer(CALLBACK(src, .proc/regrow), rand(regrowth_time_low, regrowth_time_high))
+ addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high))
return 1
/obj/structure/flora/ash/proc/regrow()
diff --git a/code/modules/mining/lavaland/loot/ashdragon_loot.dm b/code/modules/mining/lavaland/loot/ashdragon_loot.dm
index c5470f80660..5ab7036c56f 100644
--- a/code/modules/mining/lavaland/loot/ashdragon_loot.dm
+++ b/code/modules/mining/lavaland/loot/ashdragon_loot.dm
@@ -44,7 +44,7 @@
..()
spirits = list()
register_signals(src)
- RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/on_move)
+ RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
GLOB.poi_list |= src
/obj/item/melee/ghost_sword/Destroy()
@@ -113,8 +113,8 @@
UnregisterSignal(A, COMSIG_ATOM_ORBIT_BEGIN)
/obj/item/melee/ghost_sword/proc/register_signals(atom/A)
- RegisterSignal(A, COMSIG_ATOM_ORBIT_BEGIN, .proc/add_ghost, override = TRUE)
- RegisterSignal(A, COMSIG_ATOM_ORBIT_STOP, .proc/remove_ghost, override = TRUE)
+ RegisterSignal(A, COMSIG_ATOM_ORBIT_BEGIN, PROC_REF(add_ghost), override = TRUE)
+ RegisterSignal(A, COMSIG_ATOM_ORBIT_STOP, PROC_REF(remove_ghost), override = TRUE)
/**
* When moving into something's contents
diff --git a/code/modules/mining/lavaland/loot/hierophant_loot.dm b/code/modules/mining/lavaland/loot/hierophant_loot.dm
index 13912b1e728..9e7fca3ff45 100644
--- a/code/modules/mining/lavaland/loot/hierophant_loot.dm
+++ b/code/modules/mining/lavaland/loot/hierophant_loot.dm
@@ -64,14 +64,14 @@
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)
if(is_station_level(T.z))
add_attack_logs(user, target, "Fired 3x3 blast at [src]")
else
add_attack_logs(user, target, "Fired 3x3 blast at [src]", ATKLOG_ALL)
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
@@ -85,7 +85,7 @@
else
add_attack_logs(user, target, "Fired a chaser at [src]", ATKLOG_ALL)
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
if(is_station_level(T.z))
add_attack_logs(user, target, "Fired cardinal blast at [src]")
else
@@ -93,7 +93,7 @@
else
to_chat(user, "That target is out of range!" )
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)
@@ -140,7 +140,7 @@
user.visible_message("[user] starts fiddling with [src]'s pommel...", \
"You start detaching the hierophant beacon...")
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, TRUE, -4)
@@ -152,7 +152,7 @@
You can remove the beacon to place it again by striking it with the club.")
else
timer = world.time
- INVOKE_ASYNC(src, .proc/prepare_icon_update)
+ INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
else
to_chat(user, "You need to be on solid ground to detach the beacon!")
return
@@ -172,7 +172,7 @@
user.update_action_buttons_icon()
user.visible_message("[user] starts to glow faintly...")
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)
@@ -184,7 +184,7 @@
to_chat(user, "The beacon is blocked by something, preventing teleportation!")
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)
@@ -196,7 +196,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
@@ -205,7 +205,7 @@
to_chat(user, "The beacon is blocked by something, preventing teleportation!")
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
add_attack_logs(user, beacon, "Teleported self from ([AREACOORD(source)]) to ([AREACOORD(beacon)])")
@@ -218,7 +218,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 = 30
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"
@@ -226,7 +226,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
@@ -267,7 +267,7 @@
B.damage = HIEROPHANT_CLUB_CARDINAL_DAMAGE
B.monster_damage_boost = FALSE
for(var/d in GLOB.cardinal)
- 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)
diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm
index fb0da4820fb..63e671cd70d 100644
--- a/code/modules/mining/lavaland/loot/tendril_loot.dm
+++ b/code/modules/mining/lavaland/loot/tendril_loot.dm
@@ -260,7 +260,7 @@
return
if(wisp.loc == src)
- RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight)
+ RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight))
to_chat(user, "You release the wisp. It begins to bob around your head.")
icon_state = "lantern"
@@ -349,7 +349,7 @@
smoke2.start()
cooldown = TRUE
linked.cooldown = TRUE
- addtimer(CALLBACK(src, .proc/reset), 20 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reset)), 20 SECONDS)
/obj/item/warp_cube/proc/reset()
cooldown = FALSE
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index a6a5d20a48e..6715d969eae 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -364,7 +364,7 @@
..()
if(!activated)
return
- addtimer(CALLBACK(src, .proc/try_attach_to_owner), 0) // Do this once the drop call stack is done. The holding limb might be getting removed
+ addtimer(CALLBACK(src, PROC_REF(try_attach_to_owner)), 0) // Do this once the drop call stack is done. The holding limb might be getting removed
/obj/item/rod_of_asclepius/proc/try_attach_to_owner()
if(ishuman(owner) && !QDELETED(owner))
@@ -403,7 +403,7 @@
activated = TRUE
owner.apply_status_effect(STATUS_EFFECT_HIPPOCRATIC_OATH)
- RegisterSignal(owner, COMSIG_PARENT_QDELETING, .proc/deactivate)
+ RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(deactivate))
/obj/item/rod_of_asclepius/proc/deactivate()
if(owner)
@@ -434,7 +434,7 @@
. = ..()
to_chat(user,"The mass goes up your arm and inside it!")
playsound(user, 'sound/misc/demon_consume.ogg', 50, TRUE)
- RegisterSignal(user, COMSIG_MOB_DEATH, .proc/user_death)
+ RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(user_death))
user.drop_item()
insert(user)
@@ -464,7 +464,7 @@
/obj/item/organ/internal/cyberimp/arm/katana/proc/user_death(mob/user)
SIGNAL_HANDLER
- INVOKE_ASYNC(src, .proc/user_death_async, user)
+ INVOKE_ASYNC(src, PROC_REF(user_death_async), user)
/obj/item/organ/internal/cyberimp/arm/katana/proc/user_death_async(mob/user)
Retract()
@@ -472,7 +472,7 @@
"You feel your body begin to turn to dust, your soul being drawn into [src]!")
forceMove(get_turf(owner))
remove(user)
- addtimer(CALLBACK(user, /mob/.proc/dust), 1 SECONDS)
+ addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, dust)), 1 SECONDS)
/obj/item/organ/internal/cyberimp/arm/katana/remove(mob/living/carbon/M, special)
@@ -514,12 +514,12 @@
var/list/input_list = list()
var/list/combo_strings = list()
var/static/list/combo_list = list(
- ATTACK_STRIKE = list(COMBO_STEPS = list(LEFT_SLASH, LEFT_SLASH, RIGHT_SLASH), COMBO_PROC = .proc/strike),
- ATTACK_SLICE = list(COMBO_STEPS = list(RIGHT_SLASH, LEFT_SLASH, LEFT_SLASH), COMBO_PROC = .proc/slice),
- ATTACK_DASH = list(COMBO_STEPS = list(LEFT_SLASH, RIGHT_SLASH, RIGHT_SLASH), COMBO_PROC = .proc/dash),
- ATTACK_CUT = list(COMBO_STEPS = list(RIGHT_SLASH, RIGHT_SLASH, LEFT_SLASH), COMBO_PROC = .proc/cut),
- ATTACK_HEAL = list(COMBO_STEPS = list(LEFT_SLASH, RIGHT_SLASH, LEFT_SLASH, RIGHT_SLASH), COMBO_PROC = .proc/heal),
- ATTACK_SHATTER = list(COMBO_STEPS = list(RIGHT_SLASH, LEFT_SLASH, RIGHT_SLASH, LEFT_SLASH), COMBO_PROC = .proc/shatter),
+ ATTACK_STRIKE = list(COMBO_STEPS = list(LEFT_SLASH, LEFT_SLASH, RIGHT_SLASH), COMBO_PROC = TYPE_PROC_REF(/obj/item/cursed_katana, strike)),
+ ATTACK_SLICE = list(COMBO_STEPS = list(RIGHT_SLASH, LEFT_SLASH, LEFT_SLASH), COMBO_PROC = TYPE_PROC_REF(/obj/item/cursed_katana, slice)),
+ ATTACK_DASH = list(COMBO_STEPS = list(LEFT_SLASH, RIGHT_SLASH, RIGHT_SLASH), COMBO_PROC = TYPE_PROC_REF(/obj/item/cursed_katana, dash)),
+ ATTACK_CUT = list(COMBO_STEPS = list(RIGHT_SLASH, RIGHT_SLASH, LEFT_SLASH), COMBO_PROC = TYPE_PROC_REF(/obj/item/cursed_katana, cut)),
+ ATTACK_HEAL = list(COMBO_STEPS = list(LEFT_SLASH, RIGHT_SLASH, LEFT_SLASH, RIGHT_SLASH), COMBO_PROC = TYPE_PROC_REF(/obj/item/cursed_katana, heal)),
+ ATTACK_SHATTER = list(COMBO_STEPS = list(RIGHT_SLASH, LEFT_SLASH, RIGHT_SLASH, LEFT_SLASH), COMBO_PROC = TYPE_PROC_REF(/obj/item/cursed_katana, shatter)),
)
/obj/item/cursed_katana/Initialize(mapload)
@@ -561,7 +561,7 @@
reset_inputs(null, TRUE)
return TRUE
else
- timerid = addtimer(CALLBACK(src, .proc/reset_inputs, user, FALSE), 5 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(reset_inputs), user, FALSE), 5 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE)
return ..()
/obj/item/cursed_katana/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
@@ -589,9 +589,9 @@
"You hilt strike [target]!")
to_chat(target, "You've been struck by [user]!")
playsound(src, 'sound/weapons/genhit3.ogg', 50, TRUE)
- RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/strike_throw_impact)
+ RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(strike_throw_impact))
var/atom/throw_target = get_edge_target_turf(target, user.dir)
- target.throw_at(throw_target, 5, 3, user, FALSE, callback = CALLBACK(target, /datum/.proc/UnregisterSignal, target, COMSIG_MOVABLE_IMPACT))
+ target.throw_at(throw_target, 5, 3, user, FALSE, callback = CALLBACK(target, TYPE_PROC_REF(/datum, UnregisterSignal), target, COMSIG_MOVABLE_IMPACT))
target.apply_damage(17, BRUTE, BODY_ZONE_CHEST)
to_chat(target, "You've been struck by [user]!")
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
@@ -683,7 +683,7 @@
if(O.holder == src)
O.Retract()
shattered = TRUE
- addtimer(CALLBACK(src, .proc/coagulate, user), 45 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(coagulate), user), 45 SECONDS)
/obj/item/cursed_katana/proc/coagulate(mob/user)
to_chat(user, "[src] reforms!")
diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm
index 9ca54e09c48..a6ace0bdb6b 100644
--- a/code/modules/mining/machine_redemption.dm
+++ b/code/modules/mining/machine_redemption.dm
@@ -58,7 +58,7 @@
/obj/machinery/mineral/ore_redemption/Initialize(mapload)
. = ..()
- AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, FALSE, /obj/item/stack, null, CALLBACK(src, .proc/on_material_insert))
+ AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, FALSE, /obj/item/stack, null, CALLBACK(src, PROC_REF(on_material_insert)))
ore_buffer = list()
files = new /datum/research/smelter(src)
// Stock parts
diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm
index 81f713503d6..9924748f148 100644
--- a/code/modules/mining/minebot.dm
+++ b/code/modules/mining/minebot.dm
@@ -249,7 +249,7 @@
UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT)
user.update_sight()
else
- RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight)
+ RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight))
user.update_sight()
to_chat(user, "You toggle your meson vision [!is_active ? "on" : "off"].")
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 8f400325254..6a843c2fe57 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -89,7 +89,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER)
//starts ghosts off with all HUDs.
toggle_all_huds_on(body)
- RegisterSignal(src, COMSIG_MOB_HUD_CREATED, .proc/set_ghost_darkness_level) //something something don't call this until we have a HUD
+ RegisterSignal(src, COMSIG_MOB_HUD_CREATED, PROC_REF(set_ghost_darkness_level)) //something something don't call this until we have a HUD
..()
plane = GAME_PLANE
@@ -494,7 +494,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(isobserver(usr)) //Make sure they're an observer!
var/list/dest = getpois(mobs_only=TRUE) //Fill list, prompt user with list
var/datum/async_input/A = input_autocomplete_async(usr, "Enter a mob name: ", dest)
- A.on_close(CALLBACK(src, .proc/jump_to_mob))
+ A.on_close(CALLBACK(src, PROC_REF(jump_to_mob)))
/mob/dead/observer/proc/jump_to_mob(mob/M)
if(!M || !isobserver(usr))
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
index c0f65cb6bef..b070aaafa6b 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
@@ -61,7 +61,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, spin = 0, diagonals_first = 1, callback = CALLBACK(src, .proc/leap_end))
+ throw_at(A, MAX_ALIEN_LEAP_DIST, 1, spin = 0, diagonals_first = 1, callback = CALLBACK(src, PROC_REF(leap_end)))
/mob/living/carbon/alien/humanoid/hunter/proc/leap_end()
leaping = 0
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index cce692da336..560c0d3c938 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -148,7 +148,7 @@
GoIdle() //so it doesn't jump the people that tear it off
- addtimer(CALLBACK(src, .proc/Impregnate, M), impregnation_time)
+ addtimer(CALLBACK(src, PROC_REF(Impregnate), M), impregnation_time)
return TRUE
/obj/item/clothing/mask/facehugger/proc/Impregnate(mob/living/target)
@@ -195,7 +195,7 @@
stat = UNCONSCIOUS
icon_state = "[initial(icon_state)]_inactive"
- addtimer(CALLBACK(src, .proc/GoActive), rand(min_active_time, max_active_time))
+ addtimer(CALLBACK(src, PROC_REF(GoActive)), rand(min_active_time, max_active_time))
/obj/item/clothing/mask/facehugger/proc/Die()
if(stat == DEAD)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 946dfac0173..77807c28edf 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -174,7 +174,7 @@
//Jitter and other fluff.
AdjustJitter(2000 SECONDS)
AdjustStuttering(4 SECONDS)
- addtimer(CALLBACK(src, .proc/secondary_shock, should_stun), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(secondary_shock), should_stun), 1 SECONDS)
return shock_damage
///Called slightly after electrocute act to reduce jittering and apply a secondary knockdown.
@@ -861,7 +861,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
return istype(wear_mask, /obj/item/clothing/mask/facehugger)
/mob/living/carbon/resist_buckle()
- INVOKE_ASYNC(src, .proc/resist_muzzle)
+ INVOKE_ASYNC(src, PROC_REF(resist_muzzle))
var/obj/item/I = get_restraining_item()
if(!I) // If there is nothing to restrain him then he is not restrained
buckled.user_unbuckle_mob(src, src)
@@ -870,7 +870,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
var/time = I.breakouttime
visible_message("[src] attempts to unbuckle [p_them()]self!",
"You attempt to unbuckle yourself... (This will take around [time / 10] seconds and you need to stay still.)")
- if(!do_after(src, time, FALSE, src, extra_checks = list(CALLBACK(src, .proc/buckle_check))))
+ if(!do_after(src, time, FALSE, src, extra_checks = list(CALLBACK(src, PROC_REF(buckle_check)))))
if(src && buckled)
to_chat(src, "You fail to unbuckle yourself!")
else
@@ -897,7 +897,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
/mob/living/carbon/resist_restraints()
- INVOKE_ASYNC(src, .proc/resist_muzzle)
+ INVOKE_ASYNC(src, PROC_REF(resist_muzzle))
var/obj/item/I = null
if(handcuffed)
I = handcuffed
diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm
index 7d29467e87a..0bae4432cdb 100644
--- a/code/modules/mob/living/carbon/give.dm
+++ b/code/modules/mob/living/carbon/give.dm
@@ -133,8 +133,8 @@
giver.apply_status_effect(STATUS_EFFECT_OFFERING_ITEM, receiver_UID, item_UID)
add_overlay(icon(I.icon, I.icon_state, SOUTH))
add_overlay("alert_flash")
- RegisterSignal(I, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), .proc/cancel_give)
- RegisterSignal(giver, list(SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), .proc/cancel_give)
+ RegisterSignal(I, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(cancel_give))
+ RegisterSignal(giver, list(SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), PROC_REF(cancel_give))
// If either of these atoms are deleted, we need to cancel everything. Also saves having to do null checks before interacting with these atoms.
RegisterSignal(I, COMSIG_PARENT_QDELETING, /datum/proc/signal_qdel)
RegisterSignal(giver, COMSIG_PARENT_QDELETING, /datum/proc/signal_qdel)
diff --git a/code/modules/mob/living/carbon/human/human_emote.dm b/code/modules/mob/living/carbon/human/human_emote.dm
index 5265acdf07d..f7453cd6f32 100644
--- a/code/modules/mob/living/carbon/human/human_emote.dm
+++ b/code/modules/mob/living/carbon/human/human_emote.dm
@@ -311,7 +311,7 @@
L.status_flags |= GODMODE
explosion(get_turf(user), 5, 2, 1, 3)
// explosions have a spawn so this makes sure that we don't get gibbed
- addtimer(CALLBACK(src, .proc/wiz_cleanup, user_carbon, L), 1)
+ addtimer(CALLBACK(src, PROC_REF(wiz_cleanup), user_carbon, L), 1)
user_carbon.remove_status_effect(STATUS_EFFECT_HIGHFIVE)
L.remove_status_effect(STATUS_EFFECT_HIGHFIVE)
return TRUE
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index cc24d3ca170..bbb32618a97 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -578,7 +578,7 @@
"You hear a loud thud.")
if(!HAS_TRAIT(target, TRAIT_FLOORED))
target.KnockDown(3 SECONDS)
- addtimer(CALLBACK(target, /mob/living.proc/SetKnockDown, 0), 3 SECONDS) // so you cannot chain stun someone
+ addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/living, SetKnockDown), 0), 3 SECONDS) // so you cannot chain stun someone
else if(!user.IsStunned())
target.Stun(0.5 SECONDS)
else
@@ -851,7 +851,7 @@
return
if(prob(15) && head_organ.h_style != "Bald")
to_chat(H, "Your hair starts to fall out in clumps...")
- addtimer(CALLBACK(src, .proc/go_bald, H), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(go_bald), H), 5 SECONDS)
/datum/species/proc/go_bald(mob/living/carbon/human/H)
if(QDELETED(H)) //may be called from a timer
diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm
index 5d5e4fc3021..396276f25bc 100644
--- a/code/modules/mob/living/carbon/human/species/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/golem.dm
@@ -516,7 +516,7 @@
var/mob/living/carbon/human/H = owner
H.visible_message("[H] starts vibrating!", "You start charging your bluespace core...")
playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, 1)
- addtimer(CALLBACK(src, .proc/teleport, H), 15)
+ addtimer(CALLBACK(src, PROC_REF(teleport), H), 15)
/datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H)
activated = FALSE
@@ -725,7 +725,7 @@
H.forceMove(src)
cloth_golem = H
to_chat(cloth_golem, "You start gathering your life energy, preparing to rise again...")
- addtimer(CALLBACK(src, .proc/revive), revive_time)
+ addtimer(CALLBACK(src, PROC_REF(revive)), revive_time)
else
return INITIALIZE_HINT_QDEL
diff --git a/code/modules/mob/living/carbon/human/species/moth.dm b/code/modules/mob/living/carbon/human/species/moth.dm
index fa8c64329cc..d2f63a61eb0 100644
--- a/code/modules/mob/living/carbon/human/species/moth.dm
+++ b/code/modules/mob/living/carbon/human/species/moth.dm
@@ -53,10 +53,10 @@
..()
var/datum/action/innate/cocoon/cocoon = new()
cocoon.Grant(H)
- RegisterSignal(H, COMSIG_LIVING_FIRE_TICK, .proc/check_burn_wings)
- RegisterSignal(H, COMSIG_LIVING_AHEAL, .proc/on_aheal)
- RegisterSignal(H, COMSIG_HUMAN_CHANGE_BODY_ACCESSORY, .proc/on_change_body_accessory)
- RegisterSignal(H, COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY, .proc/on_change_head_accessory)
+ RegisterSignal(H, COMSIG_LIVING_FIRE_TICK, PROC_REF(check_burn_wings))
+ RegisterSignal(H, COMSIG_LIVING_AHEAL, PROC_REF(on_aheal))
+ RegisterSignal(H, COMSIG_HUMAN_CHANGE_BODY_ACCESSORY, PROC_REF(on_change_body_accessory))
+ RegisterSignal(H, COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY, PROC_REF(on_change_head_accessory))
/datum/species/moth/on_species_loss(mob/living/carbon/human/H)
..()
@@ -148,7 +148,7 @@
H.apply_status_effect(STATUS_EFFECT_COCOONED)
H.KnockOut()
H.create_log(MISC_LOG, "has woven a cocoon")
- addtimer(CALLBACK(src, .proc/emerge, C), COCOON_EMERGE_DELAY, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(emerge), C), COCOON_EMERGE_DELAY, TIMER_UNIQUE)
else
to_chat(H, "You need to hold still in order to weave a cocoon!")
diff --git a/code/modules/mob/living/carbon/human/species/slime.dm b/code/modules/mob/living/carbon/human/species/slime.dm
index b8f2ad6939c..7bb99d4b2ac 100644
--- a/code/modules/mob/living/carbon/human/species/slime.dm
+++ b/code/modules/mob/living/carbon/human/species/slime.dm
@@ -151,8 +151,8 @@
var/chosen_limb = missing_limbs[limb_select]
H.visible_message("[H] begins to hold still and concentrate on [H.p_their()] missing [limb_select]...", "You begin to focus on regrowing your missing [limb_select]... (This will take [round(SLIMEPERSON_REGROWTHDELAY/10)] seconds, and you must hold still.)")
- if(do_after(H, SLIMEPERSON_REGROWTHDELAY, FALSE, H, extra_checks = list(CALLBACK(H, /mob/living.proc/IsStunned)), use_default_checks = FALSE)) // Override the check for weakness, only check for stunned
- if(H.incapacitated(extra_checks = list(CALLBACK(H, /mob/living.proc/IsStunned)), use_default_checks = FALSE)) // Override the check for weakness, only check for stunned
+ if(do_after(H, SLIMEPERSON_REGROWTHDELAY, FALSE, H, extra_checks = list(CALLBACK(H, TYPE_PROC_REF(/mob/living, IsStunned))), use_default_checks = FALSE)) // Override the check for weakness, only check for stunned
+ if(H.incapacitated(extra_checks = list(CALLBACK(H, TYPE_PROC_REF(/mob/living, IsStunned))), use_default_checks = FALSE)) // Override the check for weakness, only check for stunned
to_chat(H, "You cannot regenerate missing limbs in your current state.")
return
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index 22af245af50..5212abe02c0 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -74,7 +74,7 @@
med_hud_set_health()
med_hud_set_status()
if(!gibbed && !QDELETED(src))
- addtimer(CALLBACK(src, .proc/med_hud_set_status), DEFIB_TIME_LIMIT + 1)
+ addtimer(CALLBACK(src, PROC_REF(med_hud_set_status)), DEFIB_TIME_LIMIT + 1)
GLOB.alive_mob_list -= src
GLOB.dead_mob_list += src
@@ -100,10 +100,10 @@
visible_message("[src] starts convulsing violently!", "You feel as if your body is tearing itself apart!")
Weaken(30 SECONDS)
do_jitter_animation(1000, -1) // jitter until they are gibbed
- addtimer(CALLBACK(src, .proc/gib), rand(2 SECONDS, 10 SECONDS))
+ addtimer(CALLBACK(src, PROC_REF(gib)), rand(2 SECONDS, 10 SECONDS))
/mob/living/carbon/proc/inflate_gib() // Plays an animation that makes mobs appear to inflate before finally gibbing
- addtimer(CALLBACK(src, .proc/gib, null, null, TRUE, TRUE), 25)
+ addtimer(CALLBACK(src, PROC_REF(gib), null, null, TRUE, TRUE), 25)
var/matrix/M = matrix()
M.Scale(1.8, 1.2)
animate(src, time = 40, transform = M, easing = SINE_EASING)
diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm
index ab3480d0cd3..e420e7ccfa0 100644
--- a/code/modules/mob/living/init_signals.dm
+++ b/code/modules/mob/living/init_signals.dm
@@ -1,28 +1,28 @@
/// Called on [/mob/living/Initialize(mapload)], for the mob to register to relevant signals.
/mob/living/proc/register_init_signals()
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), .proc/on_knockedout_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), .proc/on_knockedout_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_KNOCKEDOUT), PROC_REF(on_knockedout_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FAKEDEATH), .proc/on_fakedeath_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FAKEDEATH), .proc/on_fakedeath_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FAKEDEATH), PROC_REF(on_fakedeath_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FAKEDEATH), PROC_REF(on_fakedeath_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_IMMOBILIZED), .proc/on_immobilized_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_IMMOBILIZED), .proc/on_immobilized_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_IMMOBILIZED), PROC_REF(on_immobilized_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_IMMOBILIZED), PROC_REF(on_immobilized_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FLOORED), .proc/on_floored_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FLOORED), .proc/on_floored_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FLOORED), PROC_REF(on_floored_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FLOORED), PROC_REF(on_floored_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), .proc/on_handsblocked_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_HANDS_BLOCKED), .proc/on_handsblocked_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), PROC_REF(on_handsblocked_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_HANDS_BLOCKED), PROC_REF(on_handsblocked_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_UI_BLOCKED), .proc/on_ui_blocked_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_UI_BLOCKED), .proc/on_ui_blocked_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_UI_BLOCKED), PROC_REF(on_ui_blocked_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_UI_BLOCKED), PROC_REF(on_ui_blocked_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_CANNOT_PULL), .proc/on_pull_blocked_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_CANNOT_PULL), .proc/on_pull_blocked_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_CANNOT_PULL), PROC_REF(on_pull_blocked_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_CANNOT_PULL), PROC_REF(on_pull_blocked_trait_loss))
- RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_RESTRAINED), .proc/on_restrained_trait_gain)
- RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_RESTRAINED), .proc/on_restrained_trait_loss)
+ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_gain))
+ RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_loss))
/// Called when [TRAIT_KNOCKEDOUT] is added to the mob.
/mob/living/proc/on_knockedout_trait_gain(datum/source)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 62c0d440e08..30feec4f219 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -836,7 +836,7 @@
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash)
if(check_eye_prot() < intensity && (override_blindness_check || !HAS_TRAIT(src, TRAIT_BLIND)) && !HAS_TRAIT(src, TRAIT_FLASH_PROTECTION))
overlay_fullscreen("flash", type)
- addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25)
+ addtimer(CALLBACK(src, PROC_REF(clear_fullscreen), "flash", 25), 25)
return 1
/mob/living/proc/check_eye_prot()
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 5959bffb525..866ddb29b07 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -448,4 +448,4 @@ GLOBAL_LIST_EMPTY(channel_to_radio_key)
/mob/living/speech_bubble(bubble_state = "", bubble_loc = src, list/bubble_recipients = list())
var/image/I = image('icons/mob/talk.dmi', bubble_loc, bubble_state, FLY_LAYER)
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
- INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, bubble_recipients, 30)
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(flick_overlay), I, bubble_recipients, 30)
diff --git a/code/modules/mob/living/silicon/pai/software/pai_apps.dm b/code/modules/mob/living/silicon/pai/software/pai_apps.dm
index a18a205084f..d6962b089c8 100644
--- a/code/modules/mob/living/silicon/pai/software/pai_apps.dm
+++ b/code/modules/mob/living/silicon/pai/software/pai_apps.dm
@@ -317,7 +317,7 @@
to_chat(usr, "You are already hacking that door!")
else
hacking = TRUE
- INVOKE_ASYNC(src, .proc/hackloop)
+ INVOKE_ASYNC(src, PROC_REF(hackloop))
if("cancel")
hackdoor = null
if("cable")
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index c62380e6d66..0aaa3cda6da 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -215,7 +215,7 @@
log_game("[key_name(user)] emagged drone [key_name(src)]. Laws overridden.")
var/time = time2text(world.realtime,"hh:mm:ss")
GLOB.lawchanges.Add("[time] : [H.name]([H.key]) emagged [name]([key])")
- addtimer(CALLBACK(src, .proc/shut_down, TRUE), EMAG_TIMER)
+ addtimer(CALLBACK(src, PROC_REF(shut_down), TRUE), EMAG_TIMER)
emagged = TRUE
density = TRUE
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 05f21e4c5ed..1877bca8fc9 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -173,7 +173,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
diag_hud_set_borgcell()
scanner = new(src)
scanner.Grant(src)
- RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/create_trail)
+ RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(create_trail))
/mob/living/silicon/robot/get_radio()
return radio
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index c7223301b53..a9c8e6efd63 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -432,7 +432,7 @@
/obj/item/robot_module/janitor/Initialize(mapload)
. = ..()
var/mob/living/silicon/robot/R = loc
- RegisterSignal(R, COMSIG_MOVABLE_MOVED, .proc/on_cyborg_move)
+ RegisterSignal(R, COMSIG_MOVABLE_MOVED, PROC_REF(on_cyborg_move))
/**
* Proc called after the janitor cyborg has moved, in order to clean atoms at it's new location.
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 527b173ea15..398686060a1 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -40,8 +40,8 @@
..()
add_language("Galactic Common")
init_subsystems()
- RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, .proc/alarm_triggered)
- RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, .proc/alarm_cancelled)
+ RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered))
+ RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled))
/mob/living/silicon/Initialize(mapload)
. = ..()
@@ -87,7 +87,7 @@
if(in_cooldown)
return
- addtimer(CALLBACK(src, .proc/show_alarms), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(show_alarms)), 3 SECONDS)
/mob/living/silicon/proc/show_alarms()
if(alarms_to_show.len < 5)
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index f60e06aa789..e6cfcee1b05 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -419,7 +419,7 @@
if(on)
turn_off()
- addtimer(CALLBACK(src, .proc/un_emp, was_on), severity * 300)
+ addtimer(CALLBACK(src, PROC_REF(un_emp), was_on), severity * 300)
/mob/living/simple_animal/bot/proc/un_emp(was_on)
@@ -509,7 +509,7 @@ Pass a positive integer as an argument to override a bot's default speed.
if(step_count >= 1 && tries < BOT_STEP_MAX_RETRIES)
for(var/step_number in 1 to step_count)
// Hopefully this wont fill the buckets too much
- addtimer(CALLBACK(src, .proc/bot_step), BOT_STEP_DELAY * (step_number - 1))
+ addtimer(CALLBACK(src, PROC_REF(bot_step)), BOT_STEP_DELAY * (step_number - 1))
else
return FALSE
return TRUE
@@ -547,7 +547,7 @@ Pass a positive integer as an argument to override a bot's default speed.
if(!on)
turn_on() //Saves the AI the hassle of having to activate a bot manually.
if(client)
- reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 600, TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time
+ reset_access_timer_id = addtimer(CALLBACK(src, PROC_REF(bot_reset)), 600, TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time
to_chat(src, "Priority waypoint set by [calling_ai] [caller]. Proceed to [end_area.name].
[length(path)-1] meters to destination. You have been granted additional door access for 60 seconds.")
if(message)
to_chat(calling_ai, "[bicon(src)] [name] called to [end_area.name]. [length(path)-1] meters to destination.")
@@ -596,7 +596,7 @@ Pass a positive integer as an argument to override a bot's default speed.
/mob/living/simple_animal/bot/proc/bot_patrol()
set_path(null)
patrol_step()
- addtimer(CALLBACK(src, .proc/do_patrol), 5)
+ addtimer(CALLBACK(src, PROC_REF(do_patrol)), 5)
/mob/living/simple_animal/bot/proc/do_patrol()
if(mode == BOT_PATROL)
@@ -617,7 +617,7 @@ Pass a positive integer as an argument to override a bot's default speed.
if(patrol_target) // has patrol target
- INVOKE_ASYNC(src, .proc/target_patrol)
+ INVOKE_ASYNC(src, PROC_REF(target_patrol))
else // no patrol target, so need a new one
speak("Engaging patrol mode.")
find_patrol_target()
@@ -651,7 +651,7 @@ Pass a positive integer as an argument to override a bot's default speed.
var/moved = bot_move(patrol_target)//step_towards(src, next) // attempt to move
if(!moved) //Couldn't proceed the next step of the path BOT_STEP_MAX_RETRIES times
- addtimer(CALLBACK(src, .proc/patrol_step_not_moved), 2)
+ addtimer(CALLBACK(src, PROC_REF(patrol_step_not_moved)), 2)
else // no path, so calculate new one
mode = BOT_START_PATROL
@@ -786,7 +786,7 @@ Pass a positive integer as an argument to override a bot's default speed.
var/moved = bot_move(summon_target, 3) // Move attempt
if(!moved)
- addtimer(CALLBACK(src, .proc/try_calc_path), 2)
+ addtimer(CALLBACK(src, PROC_REF(try_calc_path)), 2)
else // no path, so calculate new one
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index 2621042c9b8..bebc1da3d17 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -168,7 +168,7 @@
icon_state = "cleanbot-c"
visible_message("[src] begins to clean up [target]")
mode = BOT_CLEANING
- addtimer(CALLBACK(src, .proc/do_clean, target), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(do_clean), target), 5 SECONDS)
/mob/living/simple_animal/bot/cleanbot/proc/do_clean(obj/effect/decal/cleanable/target)
if(mode == BOT_CLEANING)
diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
index 6917ad5b7c9..788b04ca62c 100644
--- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
@@ -337,13 +337,13 @@
target = null
last_found = world.time
frustration = 0
- INVOKE_ASYNC(src, .proc/handle_automated_action)
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
/mob/living/simple_animal/bot/ed209/proc/back_to_hunt()
anchored = FALSE
frustration = 0
mode = BOT_HUNT
- INVOKE_ASYNC(src, .proc/handle_automated_action)
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
// look for a criminal in view of the bot
@@ -371,7 +371,7 @@
playsound(loc, pick('sound/voice/ed209_20sec.ogg', 'sound/voice/edplaceholder.ogg'), 50, 0)
visible_message("[src] 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
@@ -525,7 +525,7 @@
disabled = TRUE
walk_to(src, 0)
target = null
- addtimer(CALLBACK(src, .proc/unset_disabled), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(unset_disabled)), 10 SECONDS)
return TRUE
else
@@ -577,7 +577,7 @@
C.SetStuttering(10 SECONDS)
C.adjustStaminaLoss(60)
baton_delayed = TRUE
- addtimer(CALLBACK(C, .proc/KnockDown, 10 SECONDS), 2.5 SECONDS)
+ addtimer(CALLBACK(C, PROC_REF(KnockDown), 10 SECONDS), 2.5 SECONDS)
addtimer(VARSET_CALLBACK(src, baton_delayed, FALSE), BATON_COOLDOWN)
add_attack_logs(src, C, "batoned")
if(declare_arrests)
@@ -592,7 +592,7 @@
C.visible_message("[src] is trying to put zipties on [C]!",\
"[src] is trying to put zipties on you!")
- addtimer(CALLBACK(src, .proc/cuff_target, C), 6 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(cuff_target), C), 6 SECONDS)
/mob/living/simple_animal/bot/ed209/proc/cuff_target(mob/living/carbon/C)
if(!Adjacent(C)|| !isturf(C.loc)) //if he's in a closet or not adjacent, we cancel cuffing.
diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm
index f7224e87ca8..829f33b28d2 100644
--- a/code/modules/mob/living/simple_animal/bot/floorbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm
@@ -230,7 +230,7 @@
else
F.ReplaceWithLattice()
audible_message("[src] makes an excited booping sound.")
- addtimer(CALLBACK(src, .proc/inc_amount_callback), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(inc_amount_callback)), 5 SECONDS)
path = list()
return
@@ -321,14 +321,14 @@
visible_message("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."] ")
mode = BOT_REPAIRING
update_icon(UPDATE_ICON_STATE)
- addtimer(CALLBACK(src, .proc/make_bridge_plating, target_turf), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(make_bridge_plating), target_turf), 5 SECONDS)
else
var/turf/simulated/floor/F = target_turf
mode = BOT_REPAIRING
update_icon(UPDATE_ICON_STATE)
visible_message("[src] begins repairing the floor.")
- addtimer(CALLBACK(src, .proc/make_bridge_plating, F), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(make_bridge_plating), F), 5 SECONDS)
/mob/living/simple_animal/bot/floorbot/proc/make_floor(turf/simulated/floor/F)
if(mode != BOT_REPAIRING)
@@ -362,7 +362,7 @@
return
visible_message("[src] begins to collect tiles.")
mode = BOT_REPAIRING
- addtimer(CALLBACK(src, .proc/do_eattile, T), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(do_eattile), T), 2 SECONDS)
/mob/living/simple_animal/bot/floorbot/proc/do_eattile(obj/item/stack/tile/plasteel/T)
if(isnull(T))
@@ -385,7 +385,7 @@
return
visible_message("[src] begins to create tiles.")
mode = BOT_REPAIRING
- addtimer(CALLBACK(src, .proc/do_maketile, M), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(do_maketile), M), 2 SECONDS)
/mob/living/simple_animal/bot/floorbot/proc/do_maketile(obj/item/stack/sheet/metal/M)
if(isnull(M))
diff --git a/code/modules/mob/living/simple_animal/bot/griefsky.dm b/code/modules/mob/living/simple_animal/bot/griefsky.dm
index 1ad4129df03..da1769aab4b 100644
--- a/code/modules/mob/living/simple_animal/bot/griefsky.dm
+++ b/code/modules/mob/living/simple_animal/bot/griefsky.dm
@@ -81,7 +81,7 @@
/mob/living/simple_animal/bot/secbot/griefsky/proc/sword_attack(mob/living/carbon/C) // esword attack
do_attack_animation(C)
playsound(loc, 'sound/weapons/blade1.ogg', 50, 1, -1)
- addtimer(CALLBACK(src, .proc/do_sword_attack, C), 2)
+ addtimer(CALLBACK(src, PROC_REF(do_sword_attack), C), 2)
/mob/living/simple_animal/bot/secbot/griefsky/proc/do_sword_attack(mob/living/carbon/C)
icon_state = spin_icon
@@ -97,7 +97,7 @@
if(!spam_flag)
speak("Back away! I will deal with this level [threat] swine [C] in [location] myself!.", radio_channel)
spam_flag = 1
- addtimer(CALLBACK(src, .proc/spam_flag_false), 100) //to avoid spamming comms of sec for each hit
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), 100) //to avoid spamming comms of sec for each hit
visible_message("[src] flails his swords and cuts [C]!")
@@ -175,7 +175,7 @@
icon_state = "griefsky-c"
visible_message("[src] 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
diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm
index f26f91ec5f7..26b6809f357 100644
--- a/code/modules/mob/living/simple_animal/bot/honkbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm
@@ -43,14 +43,14 @@
/mob/living/simple_animal/bot/honkbot/proc/sensor_blink()
icon_state = "honkbot-c"
- addtimer(CALLBACK(src, /atom/.proc/update_icon), 5, TIMER_OVERRIDE|TIMER_UNIQUE)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5, TIMER_OVERRIDE|TIMER_UNIQUE)
//honkbots react with sounds.
/mob/living/simple_animal/bot/honkbot/proc/react_ping()
playsound(src, 'sound/machines/ping.ogg', 50, TRUE, -1) //the first sound upon creation!
spam_flag = TRUE
sensor_blink()
- addtimer(CALLBACK(src, .proc/spam_flag_false), 18) // calibrates before starting the honk
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), 18) // calibrates before starting the honk
/mob/living/simple_animal/bot/honkbot/proc/react_buzz()
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE, -1)
@@ -95,7 +95,7 @@
/mob/living/simple_animal/bot/honkbot/attack_hand(mob/living/carbon/human/H)
if(H.a_intent == INTENT_HARM)
retaliate(H)
- addtimer(CALLBACK(src, .proc/react_buzz), 5)
+ addtimer(CALLBACK(src, PROC_REF(react_buzz)), 5)
return ..()
/mob/living/simple_animal/bot/honkbot/attackby(obj/item/W, mob/user, params)
@@ -104,7 +104,7 @@
return
if(!isscrewdriver(W) && !locked && (W.force) && (!target) && (W.damtype != STAMINA))//If the target is locked, they are recieving damage from the screwdriver
retaliate(user)
- addtimer(CALLBACK(src, .proc/react_buzz), 5)
+ addtimer(CALLBACK(src, PROC_REF(react_buzz)), 5)
/mob/living/simple_animal/bot/honkbot/emag_act(mob/user)
..()
@@ -150,21 +150,21 @@
playsound(src, honksound, 50, TRUE, -1)
spam_flag = TRUE //prevent spam
sensor_blink()
- addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn)
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntimehorn)
else if(emagged == 2) //emagged honkbots will spam short and memorable sounds.
if(!spam_flag)
playsound(src, "honkbot_e", 50, 0)
spam_flag = TRUE // prevent spam
icon_state = "honkbot-e"
- addtimer(CALLBACK(src, /atom/.proc/update_icon), 30, TIMER_OVERRIDE|TIMER_UNIQUE)
- addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 30, TIMER_OVERRIDE|TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntimehorn)
/mob/living/simple_animal/bot/honkbot/proc/honk_attack(mob/living/carbon/C) // horn attack
if(!spam_flag)
playsound(loc, honksound, 50, TRUE, -1)
spam_flag = TRUE // prevent spam
sensor_blink()
- addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn)
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntimehorn)
/mob/living/simple_animal/bot/honkbot/proc/stun_attack(mob/living/carbon/C) // airhorn stun
if(!spam_flag)
@@ -186,14 +186,14 @@
target = oldtarget_name
else // you really don't want to hit an emagged honkbot
threatlevel = 6 // will never let you go
- addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntime)
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntime)
add_attack_logs(src, C, "honked by [src]")
C.visible_message("[src] has honked [C]!",\
"[src] has honked you!")
else
C.Stuttering(40 SECONDS)
C.Stun(20 SECONDS)
- addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntime)
+ addtimer(CALLBACK(src, PROC_REF(spam_flag_false)), cooldowntime)
/mob/living/simple_animal/bot/honkbot/handle_automated_action()
@@ -248,13 +248,13 @@
target = null
last_found = world.time
frustration = 0
- INVOKE_ASYNC(src, .proc/handle_automated_action) //responds quickly
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) //responds quickly
/mob/living/simple_animal/bot/honkbot/proc/back_to_hunt()
anchored = FALSE
frustration = 0
mode = BOT_HUNT
- INVOKE_ASYNC(src, .proc/handle_automated_action) // responds quickly
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) // responds quickly
/mob/living/simple_animal/bot/honkbot/proc/look_for_perp()
anchored = FALSE
@@ -277,7 +277,7 @@
speak("Honk!")
visible_message("[src] starts chasing [C.name]!")
mode = BOT_HUNT
- INVOKE_ASYNC(src, .proc/handle_automated_action)
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
break
else
continue
diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm
index 62c22bdc372..cd4ffb3315d 100644
--- a/code/modules/mob/living/simple_animal/bot/medbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/medbot.dm
@@ -481,7 +481,7 @@
C.visible_message("[src] is trying to inject [patient]!", \
"[src] is trying to inject you!")
- addtimer(CALLBACK(src, .proc/do_inject, C, !isnull(beaker_injection), reagent_id), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(do_inject), C, !isnull(beaker_injection), reagent_id), 3 SECONDS)
return
/mob/living/simple_animal/bot/medbot/proc/do_inject(mob/living/carbon/C, inject_beaker, reagent_id)
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index eb917e0cb6f..b538d7421c9 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -71,7 +71,7 @@
mulebot_count++
set_suffix(suffix ? suffix : "#[mulebot_count]")
- RegisterSignal(src, COMSIG_CROSSED_MOVABLE, .proc/human_squish_check)
+ RegisterSignal(src, COMSIG_CROSSED_MOVABLE, PROC_REF(human_squish_check))
/mob/living/simple_animal/bot/mulebot/Destroy()
SStgui.close_uis(wires)
@@ -544,7 +544,7 @@
buzz(SIGH)
mode = BOT_WAIT_FOR_NAV
blockcount = 0
- addtimer(CALLBACK(src, .proc/process_blocked, next), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(process_blocked), next), 2 SECONDS)
return
return
else
@@ -557,7 +557,7 @@
if(BOT_NAV) // calculate new path
mode = BOT_WAIT_FOR_NAV
- INVOKE_ASYNC(src, .proc/process_nav)
+ INVOKE_ASYNC(src, PROC_REF(process_nav))
/mob/living/simple_animal/bot/mulebot/proc/process_blocked(turf/next)
calc_path(avoid=next)
@@ -607,7 +607,7 @@
/mob/living/simple_animal/bot/mulebot/proc/start_home()
if(!on)
return
- INVOKE_ASYNC(src, .proc/do_start_home)
+ INVOKE_ASYNC(src, PROC_REF(do_start_home))
/mob/living/simple_animal/bot/mulebot/proc/do_start_home()
set_destination(home_destination)
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 4912b861704..edafaae2b82 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -244,7 +244,7 @@
playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2)
C.visible_message("[src] is trying to put zipties on [C]!",\
"[src] is trying to put zipties on you!")
- INVOKE_ASYNC(src, .proc/cuff_callback, C)
+ INVOKE_ASYNC(src, PROC_REF(cuff_callback), C)
/mob/living/simple_animal/bot/secbot/proc/cuff_callback(mob/living/carbon/C)
if(do_after(src, 60, target = C))
@@ -267,7 +267,7 @@
C.SetStuttering(10 SECONDS)
C.adjustStaminaLoss(60)
baton_delayed = TRUE
- addtimer(CALLBACK(C, .proc/KnockDown, 10 SECONDS), 2.5 SECONDS)
+ addtimer(CALLBACK(C, PROC_REF(KnockDown), 10 SECONDS), 2.5 SECONDS)
addtimer(VARSET_CALLBACK(src, baton_delayed, FALSE), BATON_COOLDOWN)
add_attack_logs(src, C, "batoned")
if(declare_arrests)
@@ -392,13 +392,13 @@
target = null
last_found = world.time
frustration = 0
- INVOKE_ASYNC(src, .proc/handle_automated_action)
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
/mob/living/simple_animal/bot/secbot/proc/back_to_hunt()
anchored = FALSE
frustration = 0
mode = BOT_HUNT
- INVOKE_ASYNC(src, .proc/handle_automated_action)
+ INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
// look for a criminal in view of the bot
/mob/living/simple_animal/bot/secbot/proc/look_for_perp()
@@ -422,7 +422,7 @@
playsound(loc, pick('sound/voice/bcriminal.ogg', 'sound/voice/bjustice.ogg', 'sound/voice/bfreeze.ogg'), 50, 0)
visible_message("[src] 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
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index 2734d4ad86f..9a016267e6c 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -507,7 +507,7 @@
if(possible_target && (isturf(possible_target.loc) || ishuman(possible_target.loc))) // On the ground or in someone's hand.
movement_target = possible_target
if(movement_target)
- INVOKE_ASYNC(src, .proc/move_to_target)
+ INVOKE_ASYNC(src, PROC_REF(move_to_target))
if(prob(1))
chasetail()
@@ -674,7 +674,7 @@
if(!emagged)
emagged = TRUE
visible_message("[user] swipes a card through [src].", "You overload [src]s internal reactor.")
- addtimer(CALLBACK(src, .proc/explode), 1000)
+ addtimer(CALLBACK(src, PROC_REF(explode)), 1000)
/mob/living/simple_animal/pet/dog/corgi/borgi/proc/explode()
visible_message("[src] makes an odd whining noise.")
diff --git a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm
index fc9f01da932..c6fdc6bf8ad 100644
--- a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm
+++ b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm
@@ -177,7 +177,7 @@
/mob/living/simple_animal/hostile/floor_cluwne/proc/Manifest()//handles disappearing and appearance anim
if(manifested)
new /obj/effect/temp_visual/fcluwne_manifest(loc)
- addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Appear), MANIFEST_DELAY)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Appear)), MANIFEST_DELAY)
else
layer = GAME_PLANE
@@ -249,7 +249,7 @@
to_chat(H, "yalp ot tnaw I")
Appear()
manifested = FALSE
- addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Manifest), 1)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Manifest)), 1)
if(STAGE_TORMENT)
@@ -298,7 +298,7 @@
H.reagents.add_reagent("lsd", 3)
Appear()
manifested = FALSE
- addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Manifest), 2)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Manifest)), 2)
for(var/obj/machinery/light/L in range(H, 8))
L.flicker()
@@ -324,7 +324,7 @@
H.emote("scream")
H.adjustBruteLoss(10)
if(!eating)
- addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Grab, H), 70)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Grab), H), 70)
for(var/turf/simulated/floor/O in range(src, 6))
O.MakeSlippery(TURF_WET_LUBE, 20 SECONDS)
playsound(src, 'sound/effects/meteorimpact.ogg', 30, 1)
@@ -353,7 +353,7 @@
H.mouse_opacity = 0
H.density = FALSE
H.anchored = TRUE
- addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Kill, H), 100)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Kill), H), 100)
H.visible_message("[src] pulls [H] under the floor!")
else//some fuck pulled away our food
stage = STAGE_TORMENT
diff --git a/code/modules/mob/living/simple_animal/hostile/headslug.dm b/code/modules/mob/living/simple_animal/hostile/headslug.dm
index ea321f84b47..4d00de5fed3 100644
--- a/code/modules/mob/living/simple_animal/hostile/headslug.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headslug.dm
@@ -56,7 +56,7 @@
return
Infect(target)
to_chat(src, "With our egg laid, our death approaches rapidly...")
- addtimer(CALLBACK(src, .proc/death), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(death)), 10 SECONDS)
/obj/item/organ/internal/body_egg/changeling_egg
name = "changeling egg"
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index 65cc8cee9c0..573657b9513 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -90,7 +90,7 @@
/mob/living/simple_animal/hostile/handle_automated_movement()
. = ..()
if(dodging && target && in_melee && isturf(loc) && isturf(target.loc))
- var/datum/cb = CALLBACK(src,.proc/sidestep)
+ var/datum/cb = CALLBACK(src, PROC_REF(sidestep))
if(sidestep_per_cycle > 1) //For more than one just spread them equally - this could changed to some sensible distribution later
var/sidestep_delay = SSnpcpool.wait / sidestep_per_cycle
for(var/i in 1 to sidestep_per_cycle)
@@ -245,7 +245,7 @@
//What we do after closing in
/mob/living/simple_animal/hostile/proc/MeleeAction(patience = TRUE)
if(rapid_melee > 1)
- var/datum/callback/cb = CALLBACK(src, .proc/CheckAndAttack)
+ var/datum/callback/cb = CALLBACK(src, PROC_REF(CheckAndAttack))
var/delay = SSnpcpool.wait / rapid_melee
for(var/i in 1 to rapid_melee)
addtimer(cb, (i - 1)*delay)
@@ -382,7 +382,7 @@
if(rapid > 1)
- var/datum/callback/cb = CALLBACK(src, .proc/Shoot, A)
+ var/datum/callback/cb = CALLBACK(src, PROC_REF(Shoot), A)
for(var/i in 1 to rapid)
addtimer(cb, (i - 1)*rapid_fire_delay)
else
@@ -513,7 +513,7 @@
return
if(lose_patience_timeout)
LosePatience()
- lose_patience_timer_id = addtimer(CALLBACK(src, .proc/LoseTarget), lose_patience_timeout, TIMER_STOPPABLE)
+ lose_patience_timer_id = addtimer(CALLBACK(src, PROC_REF(LoseTarget)), lose_patience_timeout, TIMER_STOPPABLE)
/mob/living/simple_animal/hostile/proc/LosePatience()
@@ -524,7 +524,7 @@
/mob/living/simple_animal/hostile/proc/LoseSearchObjects()
search_objects = 0
deltimer(search_objects_timer_id)
- search_objects_timer_id = addtimer(CALLBACK(src, .proc/RegainSearchObjects), search_objects_regain_time, TIMER_STOPPABLE)
+ search_objects_timer_id = addtimer(CALLBACK(src, PROC_REF(RegainSearchObjects)), search_objects_regain_time, TIMER_STOPPABLE)
/mob/living/simple_animal/hostile/proc/RegainSearchObjects(value)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm
index 2c47c99fddd..ab5c25c2b5b 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm
@@ -265,7 +265,7 @@ Difficulty: Hard
visible_message("[src]'s shield fails!")
cut_overlay("shield")
body_shield_enabled = FALSE
- addtimer(CALLBACK(src, .proc/body_shield), BODY_SHIELD_COOLDOWN_TIME)
+ addtimer(CALLBACK(src, PROC_REF(body_shield)), BODY_SHIELD_COOLDOWN_TIME)
/mob/living/simple_animal/hostile/megafauna/ancient_robot/bullet_act(obj/item/projectile/P)
@@ -313,7 +313,7 @@ Difficulty: Hard
while(rocks < 3 && length(turfs))
var/turf/spot = pick_n_take(turfs)
new /obj/effect/temp_visual/rock(spot)
- addtimer(CALLBACK(src, .proc/throw_rock, spot, target), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(throw_rock), spot, target), 2 SECONDS)
rocks++
if(PYRO)
visible_message("The ground begins to heat up around you!")
@@ -400,7 +400,7 @@ Difficulty: Hard
visible_message("[src] begins to overload it's core. It is going to explode!")
walk(src, 0)
playsound(src,'sound/machines/alarm.ogg',100,0,5)
- addtimer(CALLBACK(src, .proc/kaboom), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(kaboom)), 10 SECONDS)
/mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/kaboom()
explosion(get_turf(src), -1, 7, 15, 20)
@@ -464,10 +464,10 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/leg_walking_orderer(A, B, C, D)
- addtimer(CALLBACK(src, .proc/fix_specific_leg, A), 1)
- addtimer(CALLBACK(src, .proc/fix_specific_leg, B), 2)
- addtimer(CALLBACK(src, .proc/fix_specific_leg, C), 3)
- addtimer(CALLBACK(src, .proc/fix_specific_leg, D), 4)
+ addtimer(CALLBACK(src, PROC_REF(fix_specific_leg), A), 1)
+ addtimer(CALLBACK(src, PROC_REF(fix_specific_leg), B), 2)
+ addtimer(CALLBACK(src, PROC_REF(fix_specific_leg), C), 3)
+ addtimer(CALLBACK(src, PROC_REF(fix_specific_leg), D), 4)
/mob/living/simple_animal/hostile/megafauna/ancient_robot/proc/leg_control_system(input, horizontal, vertical)
var/turf/target = locate(x + horizontal, y + vertical, z)
@@ -562,7 +562,7 @@ Difficulty: Hard
core = ancient
who_am_i = who
ranged_cooldown_time = rand(30, 60) // keeps them not running on the same time
- addtimer(CALLBACK(src, .proc/beam_setup), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(beam_setup)), 1 SECONDS)
/mob/living/simple_animal/hostile/ancient_robot_leg/Destroy()
@@ -591,7 +591,7 @@ Difficulty: Hard
update_z(new_z)
if(leg_part)
QDEL_NULL(leg_part)
- addtimer(CALLBACK(src, .proc/beam_setup), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(beam_setup)), 1 SECONDS)
/mob/living/simple_animal/hostile/ancient_robot_leg/adjustHealth(amount, updating_health = TRUE)
var/damage = amount * transfer_rate
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm
index ef777dca487..f8252069d47 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm
@@ -187,7 +187,7 @@ Difficulty: Medium
wander = TRUE
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/dash_attack()
- INVOKE_ASYNC(src, .proc/dash, target)
+ INVOKE_ASYNC(src, PROC_REF(dash), target)
shoot_ka()
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/shoot_ka()
@@ -271,7 +271,7 @@ Difficulty: Medium
/obj/effect/temp_visual/dir_setting/miner_death/Initialize(mapload, set_dir)
. = ..()
- INVOKE_ASYNC(src, .proc/fade_out)
+ INVOKE_ASYNC(src, PROC_REF(fade_out))
/obj/effect/temp_visual/dir_setting/miner_death/proc/fade_out()
var/matrix/M = new
@@ -292,6 +292,6 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter/AttackingTarget()
. = ..()
if(. && prob(12))
- INVOKE_ASYNC(src, .proc/dash)
+ INVOKE_ASYNC(src, PROC_REF(dash))
#undef MINER_DASH_RANGE
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
index 5875e70ae67..ce9364975c6 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
@@ -161,7 +161,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/surround_with_hallucinations()
for(var/i = 1 to 5)
- INVOKE_ASYNC(src, .proc/hallucination_charge_around, 2, 8, 2, 0, 4)
+ INVOKE_ASYNC(src, PROC_REF(hallucination_charge_around), 2, 8, 2, 0, 4)
if(ismob(target))
charge(delay = 9)
else
@@ -206,7 +206,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/try_bloodattack()
var/list/targets = get_mobs_on_blood()
if(targets.len)
- INVOKE_ASYNC(src, .proc/bloodattack, targets, prob(50))
+ INVOKE_ASYNC(src, PROC_REF(bloodattack), targets, prob(50))
return TRUE
return FALSE
@@ -272,7 +272,7 @@ Difficulty: Hard
var/turf/targetturf = get_step(src, dir)
L.forceMove(targetturf)
playsound(targetturf, 'sound/misc/exit_blood.ogg', 100, TRUE, -1)
- addtimer(CALLBACK(src, .proc/devour, L), 2)
+ addtimer(CALLBACK(src, PROC_REF(devour), L), 2)
SLEEP_CHECK_DEATH(1)
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_warp()
@@ -339,7 +339,7 @@ Difficulty: Hard
change_move_delay(5)
var/newcolor = rgb(149, 10, 10)
add_atom_colour(newcolor, TEMPORARY_COLOUR_PRIORITY)
- var/datum/callback/cb = CALLBACK(src, .proc/blood_enrage_end)
+ var/datum/callback/cb = CALLBACK(src, PROC_REF(blood_enrage_end))
addtimer(cb, enrage_time)
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_enrage_end(newcolor = rgb(149, 10, 10))
@@ -386,7 +386,7 @@ Difficulty: Hard
continue
var/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/B = new /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination(loc)
B.forceMove(place)
- INVOKE_ASYNC(B, .proc/charge, chargeat, delay, chargepast)
+ INVOKE_ASYNC(B, PROC_REF(charge), chargeat, delay, chargepast)
if(useoriginal)
charge(chargeat, delay, chargepast)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
index 456f3725448..e95a044a822 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
@@ -163,8 +163,8 @@ Difficulty: Very Hard
say("Die.")
telegraph()
SLEEP_CHECK_DEATH(2.5 SECONDS)
- INVOKE_ASYNC(src, .proc/spiral_shoot, FALSE)
- INVOKE_ASYNC(src, .proc/spiral_shoot, TRUE)
+ INVOKE_ASYNC(src, PROC_REF(spiral_shoot), FALSE)
+ INVOKE_ASYNC(src, PROC_REF(spiral_shoot), TRUE)
/mob/living/simple_animal/hostile/megafauna/colossus/proc/spiral_shoot(negative = pick(TRUE, FALSE), counter_start = 8)
icon_state = "eva_attack"
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm
index cf3820ccb14..aab2e667d1e 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm
@@ -156,7 +156,7 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_swoop(amount = 30)
if(health < maxHealth * 0.5)
return swoop_attack(lava_arena = TRUE, swoop_cooldown = 60)
- INVOKE_ASYNC(src, .proc/lava_pools, amount)
+ INVOKE_ASYNC(src, PROC_REF(lava_pools), amount)
swoop_attack(FALSE, target, 1000) // longer cooldown until it gets reset below
SLEEP_CHECK_DEATH(0)
fire_cone()
@@ -175,7 +175,7 @@ Difficulty: Medium
var/increment = 360 / spiral_count
for(var/j = 1 to spiral_count)
var/list/turfs = line_target(j * increment + i * increment / 2, range, src)
- INVOKE_ASYNC(src, .proc/fire_line, turfs)
+ INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
SLEEP_CHECK_DEATH(25)
SetRecoveryTime(30)
@@ -242,15 +242,15 @@ Difficulty: Medium
playsound(get_turf(src),'sound/magic/fireball.ogg', 200, TRUE)
SLEEP_CHECK_DEATH(0)
if(prob(50) && meteors)
- INVOKE_ASYNC(src, .proc/fire_rain)
+ INVOKE_ASYNC(src, PROC_REF(fire_rain))
var/range = 15
var/list/turfs = list()
turfs = line_target(-40, range, at)
- INVOKE_ASYNC(src, .proc/fire_line, turfs)
+ INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
turfs = line_target(0, range, at)
- INVOKE_ASYNC(src, .proc/fire_line, turfs)
+ INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
turfs = line_target(40, range, at)
- INVOKE_ASYNC(src, .proc/fire_line, turfs)
+ INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
/mob/living/simple_animal/hostile/megafauna/dragon/proc/line_target(offset, range, atom/at = target)
if(!at)
@@ -429,7 +429,7 @@ Difficulty: Medium
/obj/effect/temp_visual/lava_warning/Initialize(mapload, reset_time = 10)
. = ..()
- INVOKE_ASYNC(src, .proc/fall, reset_time)
+ INVOKE_ASYNC(src, PROC_REF(fall), reset_time)
src.alpha = 63.75
animate(src, alpha = 255, time = duration)
@@ -499,7 +499,7 @@ Difficulty: Medium
/obj/effect/temp_visual/dragon_flight/Initialize(mapload, negative)
. = ..()
- INVOKE_ASYNC(src, .proc/flight, negative)
+ INVOKE_ASYNC(src, PROC_REF(flight), negative)
/obj/effect/temp_visual/dragon_flight/proc/flight(negative)
if(negative)
@@ -551,7 +551,7 @@ Difficulty: Medium
/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)
@@ -631,7 +631,7 @@ Difficulty: Medium
var/range = 20
var/list/turfs = list()
turfs = line_target(0, range, at)
- INVOKE_ASYNC(src, .proc/fire_line, turfs)
+ INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon/OpenFire()
if(swooping)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
index 3bdce223b70..544cddb70f4 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
@@ -186,13 +186,13 @@ Difficulty: Hard
else if(prob(70 - anger_modifier)) //a cross blast of some type
if(prob(anger_modifier * (2 / target_slowness)) && health < maxHealth * 0.5) //we're super angry do it at all dirs
- INVOKE_ASYNC(src, .proc/blasts, target, GLOB.alldirs)
+ INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.alldirs)
else if(prob(60))
- INVOKE_ASYNC(src, .proc/blasts, target, GLOB.cardinal)
+ INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.cardinal)
else
- INVOKE_ASYNC(src, .proc/blasts, target, GLOB.diagonals)
+ INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.diagonals)
else //just release a burst of power
- INVOKE_ASYNC(src, .proc/burst, get_turf(src))
+ INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src))
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/blink_spam(blink_counter, target_slowness, cross_counter)
ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75)
@@ -226,9 +226,9 @@ Difficulty: Hard
while(!QDELETED(target) && cross_counter)
cross_counter--
if(prob(60))
- INVOKE_ASYNC(src, .proc/blasts, target, GLOB.cardinal)
+ INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.cardinal)
else
- INVOKE_ASYNC(src, .proc/blasts, target, GLOB.diagonals)
+ INVOKE_ASYNC(src, PROC_REF(blasts), target, GLOB.diagonals)
SLEEP_CHECK_DEATH(6 + target_slowness)
animate(src, color = oldcolor, time = 8)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
@@ -277,7 +277,7 @@ Difficulty: Hard
SLEEP_CHECK_DEATH(2)
new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE)
for(var/d in directions)
- INVOKE_ASYNC(src, .proc/blast_wall, T, d)
+ INVOKE_ASYNC(src, PROC_REF(blast_wall), T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/blast_wall(turf/T, set_dir) //make a wall of blasts beam_range tiles long
var/range = beam_range
@@ -296,12 +296,12 @@ Difficulty: Hard
return
arena_cooldown = world.time + initial(arena_cooldown)
for(var/d in GLOB.cardinal)
- INVOKE_ASYNC(src, .proc/arena_squares, T, d)
+ INVOKE_ASYNC(src, PROC_REF(arena_squares), T, d)
for(var/t in RANGE_EDGE_TURFS(11, T))
new /obj/effect/temp_visual/hierophant/wall(t, src)
new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE)
if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you!
- INVOKE_ASYNC(src, .proc/blink, T)
+ INVOKE_ASYNC(src, PROC_REF(blink), T)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/arena_squares(turf/T, set_dir) //make a fancy effect extending from the arena target
var/turf/previousturf = T
@@ -447,10 +447,10 @@ Difficulty: Hard
if(ranged_cooldown <= world.time)
calculate_rage()
ranged_cooldown = world.time + max(5, ranged_cooldown_time - anger_modifier * 0.75)
- INVOKE_ASYNC(src, .proc/burst, get_turf(src))
+ INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src))
else
burst_range = 3
- INVOKE_ASYNC(src, .proc/burst, get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown
+ INVOKE_ASYNC(src, PROC_REF(burst), get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown
OpenFire()
else
devour(L)
@@ -565,7 +565,7 @@ Difficulty: Hard
friendly_fire_check = is_friendly_fire
if(new_speed)
speed = new_speed
- addtimer(CALLBACK(src, .proc/seek_target), 1)
+ addtimer(CALLBACK(src, PROC_REF(seek_target)), 1)
/obj/effect/temp_visual/hierophant/chaser/proc/get_target_dir()
. = get_cardinal_dir(src, targetturf)
@@ -649,7 +649,7 @@ Difficulty: Hard
if(ismineralturf(loc)) //drill mineral turfs
var/turf/simulated/mineral/M = loc
M.gets_drilled(caster)
- INVOKE_ASYNC(src, .proc/blast)
+ INVOKE_ASYNC(src, PROC_REF(blast))
/obj/effect/temp_visual/hierophant/blast/proc/blast()
var/turf/T = get_turf(src)
@@ -721,7 +721,7 @@ Difficulty: Hard
if(H.beacon == src)
to_chat(user, "You start removing your hierophant beacon...")
H.timer = world.time + 51
- INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update)
+ INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club, prepare_icon_update))
if(do_after(user, 50, target = src))
playsound(src,'sound/magic/blind.ogg', 200, TRUE, -4)
new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user)
@@ -731,7 +731,7 @@ Difficulty: Hard
qdel(src)
else
H.timer = world.time
- INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update)
+ INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club, prepare_icon_update))
else
to_chat(user, "You touch the beacon with the club, but nothing happens.")
else
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
index 17f798ac163..ee8e7791340 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
@@ -85,7 +85,7 @@ Difficulty: Medium
var/beam_time = 0.25 SECONDS + ((health / maxHealth) SECONDS)
playsound(loc, 'sound/effects/basscannon.ogg', 200, TRUE)
Beam(target_location, icon_state = "death_laser", time = beam_time, maxdistance = INFINITY, beam_type = /obj/effect/ebeam/disintegration_telegraph)
- addtimer(CALLBACK(src, .proc/fire_disintegration_laser, target_location), beam_time)
+ addtimer(CALLBACK(src, PROC_REF(fire_disintegration_laser), target_location), beam_time)
ranged_cooldown = world.time + beam_time + 2 SECONDS
SLEEP_CHECK_DEATH(beam_time + 2 SECONDS)
firing_laser = FALSE
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm
index 959a7ddeb0f..b9256c82484 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm
@@ -196,7 +196,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
if(boosted)
mychild.playsound_local(get_turf(mychild), 'sound/magic/cult_spell.ogg', 40, 0)
to_chat(mychild, "Someone has activated your tumor. You will be returned to fight shortly, get ready!")
- addtimer(CALLBACK(src, .proc/return_elite), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(return_elite)), 3 SECONDS)
if(TUMOR_INACTIVE)
if(HAS_TRAIT(src, TRAIT_ELITE_CHALLENGER))
user.visible_message("[user] reaches for [src] with [user.p_their()] arm, but nothing happens.",
@@ -207,7 +207,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
visible_message("[src] begins to convulse. Your instincts tell you to step back.")
make_activator(user)
if(!boosted)
- addtimer(CALLBACK(src, .proc/spawn_elite), 3 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(spawn_elite)), 3 SECONDS)
return
visible_message("Something within [src] stirs...")
var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a lavaland elite?", ROLE_ELITE, TRUE, 10 SECONDS, source = src)
@@ -220,7 +220,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
While the opponent might have an upper hand with powerful mining equipment and tools, you have great power normally limited by AI mobs.\n\
If you want to win, you'll have to use your powers in creative ways to ensure the kill. It's suggested you try using them all as soon as possible.\n\
Should you win, you'll receive extra information regarding what to do after. Good luck!")
- addtimer(CALLBACK(src, .proc/spawn_elite, elitemind), 10 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(spawn_elite), elitemind), 10 SECONDS)
else
visible_message("The stirring stops, and nothing emerges. Perhaps try again later.")
activity = TUMOR_INACTIVE
@@ -236,8 +236,8 @@ While using this makes the system rely on OnFire, it still gives options for tim
mychild.sentience_act()
notify_ghosts("\A [mychild] has been awakened in \the [get_area(src)]!", enter_link="(Click to help)", source = mychild, action = NOTIFY_FOLLOW)
icon_state = "tumor_popped"
- RegisterSignal(mychild, COMSIG_PARENT_QDELETING, .proc/onEliteLoss)
- INVOKE_ASYNC(src, .proc/arena_checks)
+ RegisterSignal(mychild, COMSIG_PARENT_QDELETING, PROC_REF(onEliteLoss))
+ INVOKE_ASYNC(src, PROC_REF(arena_checks))
AddComponent(/datum/component/proximity_monitor, ARENA_RADIUS) //Boots out humanoid invaders. Minebots / random fauna / that colossus you forgot to clear away allowed.
/obj/structure/elite_tumor/proc/return_elite()
@@ -250,7 +250,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
mychild.health = mychild.maxHealth
mychild.grab_ghost()
notify_ghosts("\A [mychild] has been challenged in \the [get_area(src)]!", enter_link="(Click to help)", source = mychild, action = NOTIFY_FOLLOW)
- INVOKE_ASYNC(src, .proc/arena_checks)
+ INVOKE_ASYNC(src, PROC_REF(arena_checks))
AddComponent(/datum/component/proximity_monitor, ARENA_RADIUS)
/obj/structure/elite_tumor/Initialize(mapload)
@@ -273,7 +273,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
return
activator = user
ADD_TRAIT(user, TRAIT_ELITE_CHALLENGER, "activation")
- RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/clear_activator)
+ RegisterSignal(user, COMSIG_PARENT_QDELETING, PROC_REF(clear_activator))
/obj/structure/elite_tumor/proc/clear_activator(mob/source)
SIGNAL_HANDLER
@@ -313,10 +313,10 @@ While using this makes the system rely on OnFire, it still gives options for tim
/obj/structure/elite_tumor/proc/arena_checks()
if(activity != TUMOR_ACTIVE || QDELETED(src))
return
- INVOKE_ASYNC(src, .proc/fighters_check) //Checks to see if our fighters died.
- INVOKE_ASYNC(src, .proc/arena_trap) //Gets another arena trap queued up for when this one runs out.
- INVOKE_ASYNC(src, .proc/border_check) //Checks to see if our fighters got out of the arena somehow.
- addtimer(CALLBACK(src, .proc/arena_checks), 5 SECONDS)
+ INVOKE_ASYNC(src, PROC_REF(fighters_check)) //Checks to see if our fighters died.
+ INVOKE_ASYNC(src, PROC_REF(arena_trap)) //Gets another arena trap queued up for when this one runs out.
+ INVOKE_ASYNC(src, PROC_REF(border_check)) //Checks to see if our fighters got out of the arena somehow.
+ addtimer(CALLBACK(src, PROC_REF(arena_checks)), 5 SECONDS)
/obj/structure/elite_tumor/proc/fighters_check()
if(QDELETED(mychild) || mychild.stat == DEAD)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm
index f82a321a34b..0de86927a73 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/goliath_broodmother.dm
@@ -143,7 +143,7 @@
color = "#FF0000"
speed = 0
move_to_delay = 3
- addtimer(CALLBACK(src, .proc/reset_rage), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reset_rage)), 5 SECONDS)
/mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/reset_rage()
color = "#FFFFFF"
@@ -229,11 +229,11 @@
retract()
else
deltimer(timerid)
- timerid = addtimer(CALLBACK(src, .proc/retract), 1 SECONDS, TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 1 SECONDS, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/broodmother/patch/Initialize(mapload, new_spawner)
. = ..()
- INVOKE_ASYNC(src, .proc/createpatch)
+ INVOKE_ASYNC(src, PROC_REF(createpatch))
/obj/effect/temp_visual/goliath_tentacle/broodmother/patch/proc/createpatch()
var/tentacle_locs = spiral_range_turfs(1, get_turf(src))
@@ -275,7 +275,7 @@
return
living_user.weather_immunities += "lava"
to_chat(living_user, "You squeeze the tongue, and some transluscent liquid shoots out all over you.")
- addtimer(CALLBACK(src, .proc/remove_lava, living_user), 20 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(remove_lava), living_user), 20 SECONDS)
use_time = world.time + 60 SECONDS
/obj/item/crusher_trophy/broodmother_tongue/proc/remove_lava(mob/living/user)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm
index 82b2628b88c..1a82205a6a4 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/herald.dm
@@ -54,7 +54,7 @@
/mob/living/simple_animal/hostile/asteroid/elite/herald/death()
. = ..()
if(!is_mirror)
- addtimer(CALLBACK(src, .proc/become_ghost), 0.8 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(become_ghost)), 0.8 SECONDS)
if(my_mirror)
QDEL_NULL(my_mirror)
@@ -154,11 +154,11 @@
say("Pray")
SLEEP_CHECK_DEATH(0.5 SECONDS)// no point blank instant shotgun.
shoot_projectile(target_turf, angle_to_target, FALSE, TRUE)
- addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 0.2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE, TRUE), 0.2 SECONDS)
if(health < maxHealth * 0.5 && !is_mirror)
playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE)
- addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 1 SECONDS)
- addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 1.2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE, TRUE), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(shoot_projectile), target_turf, angle_to_target, FALSE, TRUE), 1.2 SECONDS)
/mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_circleshot(offset)
var/static/list/directional_shot_angles = list(1, 45, 90, 135, 180, 225, 270, 315) //Trust me, use 1. It really doesn't like zero.
@@ -175,10 +175,10 @@
if(!is_mirror)
icon_state = "herald_enraged"
playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE)
- addtimer(CALLBACK(src, .proc/herald_circleshot, 0), 0.5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(herald_circleshot), 0), 0.5 SECONDS)
if(health < maxHealth * 0.5 && !is_mirror)
- addtimer(CALLBACK(src, .proc/herald_circleshot, 22.5), 1.5 SECONDS)
- addtimer(CALLBACK(src, .proc/unenrage), 20)
+ addtimer(CALLBACK(src, PROC_REF(herald_circleshot), 22.5), 1.5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(unenrage)), 20)
/mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_teleshot(target)
ranged_cooldown = world.time + 3 SECONDS * revive_multiplier()
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm
index 705a720390c..427586c9784 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/legionnaire.dm
@@ -128,7 +128,7 @@
T = get_step(T, dir_to_target)
playsound(src, 'sound/misc/demon_attack1.ogg', 200, 1)
visible_message("[src] prepares to charge!")
- addtimer(CALLBACK(src, .proc/legionnaire_charge_to, dir_to_target, 0), 4)
+ addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_to), dir_to_target, 0), 4)
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/legionnaire_charge_to(move_dir, times_ran, list/hit_targets = list())
if(times_ran >= 6)
@@ -171,7 +171,7 @@
hit_targets += L
L.adjustBruteLoss(25)
- addtimer(CALLBACK(src, .proc/legionnaire_charge_to, move_dir, (times_ran + 1), hit_targets), 0.7)
+ addtimer(CALLBACK(src, PROC_REF(legionnaire_charge_to), move_dir, (times_ran + 1), hit_targets), 0.7)
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/head_detach(target)
ranged_cooldown = world.time + 1 SECONDS * revive_multiplier()
@@ -198,7 +198,7 @@
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/onHeadDeath()
myhead = null
- addtimer(CALLBACK(src, .proc/regain_head), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(regain_head)), 5 SECONDS)
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/regain_head()
has_head = TRUE
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm
index 8128d5b2fc1..2b7900126a6 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm
@@ -138,7 +138,7 @@
new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(T, src, TRUE)
T = get_step(T, angleused)
procsleft = procsleft - 1
- addtimer(CALLBACK(src, .proc/singular_shot_line, procsleft, angleused, T), cooldown_time * 0.1)
+ addtimer(CALLBACK(src, PROC_REF(singular_shot_line), procsleft, angleused, T), cooldown_time * 0.1)
/mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/magic_box(target)
ranged_cooldown = world.time + cooldown_time
@@ -156,7 +156,7 @@
new /obj/effect/temp_visual/hierophant/telegraph(turf_target, src)
new /obj/effect/temp_visual/hierophant/telegraph(source, src)
playsound(source,'sound/machines/airlock_open.ogg', 200, 1)
- addtimer(CALLBACK(src, .proc/pandora_teleport_2, turf_target, source), 2)
+ addtimer(CALLBACK(src, PROC_REF(pandora_teleport_2), turf_target, source), 2)
/mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_2(turf/T, turf/source)
new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, src)
@@ -168,7 +168,7 @@
animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out
visible_message("[src] fades out!")
set_density(FALSE)
- addtimer(CALLBACK(src, .proc/pandora_teleport_3, T), 2)
+ addtimer(CALLBACK(src, PROC_REF(pandora_teleport_3), T), 2)
/mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/pandora_teleport_3(turf/T)
forceMove(T)
@@ -181,7 +181,7 @@
var/turf/T = get_turf(target)
new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(T, src, TRUE)
var/max_size = 3
- addtimer(CALLBACK(src, .proc/aoe_squares_2, T, 0, max_size), 2)
+ addtimer(CALLBACK(src, PROC_REF(aoe_squares_2), T, 0, max_size), 2)
/mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/aoe_squares_2(turf/T, ring, max_size)
if(ring > max_size)
@@ -189,7 +189,7 @@
for(var/t in spiral_range_turfs(ring, T))
if(get_dist(t, T) == ring)
new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(t, src, TRUE)
- addtimer(CALLBACK(src, .proc/aoe_squares_2, T, (ring + 1), max_size), cooldown_time * 0.1)
+ addtimer(CALLBACK(src, PROC_REF(aoe_squares_2), T, (ring + 1), max_size), cooldown_time * 0.1)
//The specific version of hiero's squares pandora uses
/obj/effect/temp_visual/hierophant/blast/damaging/pandora
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm
index 6f2239d334d..8643aec9a90 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm
@@ -50,7 +50,7 @@
retreat_distance = 10
minimum_distance = 10
if(will_burrow)
- addtimer(CALLBACK(src, .proc/Burrow), chase_time)
+ addtimer(CALLBACK(src, PROC_REF(Burrow)), chase_time)
/mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget()
if(istype(target, /obj/item/stack/ore))
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm
index 3a0918e3a96..729d732b882 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm
@@ -163,7 +163,7 @@
var/turf/simulated/mineral/M = loc
M.gets_drilled()
deltimer(timerid)
- timerid = addtimer(CALLBACK(src, .proc/tripanim), 7, TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(tripanim)), 7, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/original/Initialize(mapload, new_spawner)
. = ..()
@@ -177,7 +177,7 @@
/obj/effect/temp_visual/goliath_tentacle/proc/tripanim()
icon_state = "Goliath_tentacle_wiggle"
deltimer(timerid)
- timerid = addtimer(CALLBACK(src, .proc/trip), 3, TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(trip)), 3, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/proc/trip()
var/latched = FALSE
@@ -192,7 +192,7 @@
retract()
else
deltimer(timerid)
- timerid = addtimer(CALLBACK(src, .proc/retract), 10, TIMER_STOPPABLE)
+ timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 10, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/proc/retract()
icon_state = "Goliath_tentacle_retract"
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm
index e816a146d7c..8d8dbfbb650 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm
@@ -90,7 +90,7 @@
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize(mapload)
. = ..()
- addtimer(CALLBACK(src, .proc/death), 100)
+ addtimer(CALLBACK(src, PROC_REF(death)), 100)
AddComponent(/datum/component/swarming)
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index efa54657bc4..8460642a377 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -84,7 +84,7 @@
/mob/living/simple_animal/hostile/mushroom/adjustHealth(amount, updating_health = TRUE)//Possibility to flee from a fight just to make it more visually interesting
if(!retreat_distance && prob(33))
retreat_distance = 5
- addtimer(CALLBACK(src, .proc/stop_retreat), 30)
+ addtimer(CALLBACK(src, PROC_REF(stop_retreat)), 30)
. = ..()
/mob/living/simple_animal/hostile/mushroom/proc/stop_retreat()
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
index 18bbb0f390b..ac8f0cb7531 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
@@ -34,7 +34,7 @@
/mob/living/simple_animal/hostile/malf_drone/Initialize(mapload)
. = ..()
- RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/create_trail)
+ RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(create_trail))
update_icons()
/mob/living/simple_animal/hostile/malf_drone/proc/create_trail(datum/source, atom/oldloc, _dir, forced)
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm
index 60c5b549d3c..30b5b564453 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm
@@ -192,7 +192,7 @@
M.Weaken(8 SECONDS)
if(iscarbon(M))
web_special_ability(M)
- addtimer(CALLBACK(src, .proc/after_carbon_crossed, M), 7 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(after_carbon_crossed), M), 7 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
/**
* Called some time after a carbon mob crossed the terror web.
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
index 50c454d9f73..94720600b9d 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
@@ -278,8 +278,8 @@ GLOBAL_LIST_EMPTY(ts_spiderling_list)
msg_terrorspiders("[src] has grown in [get_area(src)].")
GLOB.ts_count_alive_station++
// after 3 seconds, assuming nobody took control of it yet, offer it to ghosts.
- addtimer(CALLBACK(src, .proc/CheckFaction), 20)
- addtimer(CALLBACK(src, .proc/announcetoghosts), 30)
+ addtimer(CALLBACK(src, PROC_REF(CheckFaction)), 20)
+ addtimer(CALLBACK(src, PROC_REF(announcetoghosts)), 30)
var/datum/atom_hud/U = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
U.add_hud_to(src)
spider_creation_time = world.time
diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
index 3d8ab9d3e66..e5d0719619d 100644
--- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
+++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
@@ -22,7 +22,7 @@
for(var/turf/T in anchors)
var/datum/beam/B = Beam(T, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine)
B.sleep_time = 10 //these shouldn't move, so let's slow down updates to 1 second (any slower and the deletion of the vines would be too slow)
- addtimer(CALLBACK(src, .proc/bear_fruit), growth_time)
+ addtimer(CALLBACK(src, PROC_REF(bear_fruit)), growth_time)
/obj/structure/alien/resin/flower_bud_enemy/proc/bear_fruit()
visible_message("the plant has borne fruit!")
diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm
index bc5b4a2fb22..0784226984b 100644
--- a/code/modules/mob/living/simple_animal/slime/life.dm
+++ b/code/modules/mob/living/simple_animal/slime/life.dm
@@ -380,7 +380,7 @@
else if(isturf(loc) && prob(33))
step(src, pick(GLOB.cardinal))
else if(!AIproc)
- INVOKE_ASYNC(src, .proc/AIprocess)
+ INVOKE_ASYNC(src, PROC_REF(AIprocess))
/mob/living/simple_animal/slime/handle_automated_movement()
return //slime random movement is currently handled in handle_targets()
diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm
index faafe256ed9..62444deae00 100644
--- a/code/modules/mob/living/status_procs.dm
+++ b/code/modules/mob/living/status_procs.dm
@@ -115,7 +115,7 @@ STATUS EFFECTS
pixel_y = PIXEL_Y_OFFSET_LYING
ADD_TRAIT(src, TRAIT_UI_BLOCKED, LYING_DOWN_TRAIT)
ADD_TRAIT(src, TRAIT_CANNOT_PULL, LYING_DOWN_TRAIT)
- RegisterSignal(src, COMSIG_ATOM_DIR_CHANGE, .proc/orient_crawling)
+ RegisterSignal(src, COMSIG_ATOM_DIR_CHANGE, PROC_REF(orient_crawling))
set_density(FALSE)
set_lying_angle(pick(90, 270))
diff --git a/code/modules/mob/living/update_status.dm b/code/modules/mob/living/update_status.dm
index c896804c7b2..d84ec9817c0 100644
--- a/code/modules/mob/living/update_status.dm
+++ b/code/modules/mob/living/update_status.dm
@@ -71,8 +71,8 @@
// By default, checks for weakness and stunned get added to the extra_checks list.
// Setting `use_default_checks` to FALSE means that you don't want it checking for these statuses or you are supplying your own checks.
if(use_default_checks)
- extra_checks += CALLBACK(src, /mob/living.proc/IsWeakened)
- extra_checks += CALLBACK(src, /mob/living.proc/IsStunned)
+ extra_checks += CALLBACK(src, TYPE_PROC_REF(/mob/living, IsWeakened))
+ extra_checks += CALLBACK(src, TYPE_PROC_REF(/mob/living, IsStunned))
if(stat || HAS_TRAIT_NOT_FROM(src, TRAIT_HANDS_BLOCKED, TRAIT_RESTRAINED) || (!ignore_restraints && restrained()) || check_for_true_callbacks(extra_checks))
return TRUE
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index dd1efb0da36..c1de6019696 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -1108,7 +1108,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
/mob/proc/add_to_respawnable_list()
GLOB.respawnable_list += src
- RegisterSignal(src, COMSIG_PARENT_QDELETING, .proc/remove_from_respawnable_list)
+ RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(remove_from_respawnable_list))
/mob/proc/remove_from_respawnable_list()
GLOB.respawnable_list -= src
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 66706abb35f..51f53a39b12 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -96,7 +96,7 @@
if(client?.prefs.colourblind_mode != COLOURBLIND_MODE_NONE)
return
client.color = flash_color
- INVOKE_ASYNC(client, /client/.proc/colour_transition, get_screen_colour(), flash_time)
+ INVOKE_ASYNC(client, TYPE_PROC_REF(/client, colour_transition), get_screen_colour(), flash_time)
/proc/ismindshielded(A) //Checks to see if the person contains a mindshield implant, then checks that the implant is actually inside of them
for(var/obj/item/implant/mindshield/L in A)
@@ -767,7 +767,7 @@ GLOBAL_LIST_INIT(intents, list(INTENT_HELP,INTENT_DISARM,INTENT_GRAB,INTENT_HARM
audio_emote_cd_status = EMOTE_ON_COOLDOWN // Starting cooldown
else
audio_emote_unintentional_cd_status = EMOTE_ON_COOLDOWN
- addtimer(CALLBACK(src, .proc/on_audio_emote_cooldown_end, intentional), cooldown)
+ addtimer(CALLBACK(src, PROC_REF(on_audio_emote_cooldown_end), intentional), cooldown)
return TRUE // proceed with emote
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 11fc6bde535..b8a2b492ed2 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -35,9 +35,9 @@
O.add_ai_verbs()
- O.rename_self("AI",1)
+ O.rename_self("AI", TRUE)
- INVOKE_ASYNC(GLOBAL_PROC, .proc/qdel, src) // To prevent the proc from returning null.
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src) // To prevent the proc from returning null. Todo: Convert to QDEL_IN
return O
@@ -110,7 +110,7 @@
O.check_custom_sprite()
O.Namepick()
- INVOKE_ASYNC(GLOBAL_PROC, .proc/qdel, src) // To prevent the proc from returning null.
+ INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src) // To prevent the proc from returning null. Todo: Convert to QDEL_IN
return O
//human -> alien
diff --git a/code/modules/newscaster/obj/newscaster.dm b/code/modules/newscaster/obj/newscaster.dm
index 15aefc09d53..6d83eed3795 100644
--- a/code/modules/newscaster/obj/newscaster.dm
+++ b/code/modules/newscaster/obj/newscaster.dm
@@ -666,7 +666,7 @@
is_printing = TRUE
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
visible_message("[src] whirs as it prints a newspaper.")
- addtimer(CALLBACK(src, .proc/print_newspaper_finish), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_newspaper_finish)), 5 SECONDS)
/**
* Called when the timer following a call to [/obj/machinery/newscaster/proc/print_newspaper] finishes.
@@ -703,7 +703,7 @@
else
return
alert = TRUE
- addtimer(CALLBACK(src, .proc/alert_timer_finish), 30 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(alert_timer_finish)), 30 SECONDS)
update_icon(UPDATE_OVERLAYS)
/**
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 4ce1772d5a7..86de41257a0 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -315,7 +315,7 @@ GLOBAL_LIST_EMPTY(fax_blacklist)
flick(receive_anim, src)
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1)
- addtimer(CALLBACK(src, .proc/print_fax, incoming), 2 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(print_fax), incoming), 2 SECONDS)
return TRUE
/obj/machinery/photocopier/faxmachine/proc/print_fax(obj/item/incoming)
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 553b479a342..2a80dcc9d59 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor
if(user.mind && user.mind.assigned_role == "Chaplain" && see_ghosts)
if(prob(24))
handle_haunt(user)
- addtimer(CALLBACK(src, .proc/reset_cooldown), 6.4 SECONDS) // fucking magic numbers
+ addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), 6.4 SECONDS) // fucking magic numbers
/obj/item/camera/proc/reset_cooldown()
icon_state = icon_on
@@ -484,7 +484,7 @@ GLOBAL_LIST_INIT(SpookyGhosts, list("ghost","shade","shade2","ghost-narsie","hor
icon_state = icon_off
on = FALSE
on_cooldown = TRUE
- addtimer(CALLBACK(src, .proc/reset_cooldown), 6.4 SECONDS) // magic numbers here too
+ addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), 6.4 SECONDS) // magic numbers here too
/obj/item/camera/digital/captureimage(atom/target, mob/user, flag)
if(saved_pictures.len >= max_storage)
diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm
index 5e95ed1a3c4..6791981a870 100644
--- a/code/modules/paperwork/ticketmachine.dm
+++ b/code/modules/paperwork/ticketmachine.dm
@@ -77,7 +77,7 @@
/obj/machinery/door_control/ticket_machine_button/attack_hand(mob/user)
if(allowed(usr) || user.can_advanced_admin_interact())
icon_state = "doorctrl1"
- addtimer(CALLBACK(src, /atom/.proc/update_icon), 15)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 15)
for(var/obj/machinery/ticket_machine/M in GLOB.machines)
if(M.id == id)
if(cooldown)
@@ -179,7 +179,7 @@
tickets += theirticket
if(emagged) //Emag the machine to destroy the HOP's life.
ready = FALSE
- addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown)//Small cooldown to prevent piles of flaming tickets
+ addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), cooldown)//Small cooldown to prevent piles of flaming tickets
theirticket.fire_act()
user.drop_item()
user.adjust_fire_stacks(1)
diff --git a/code/modules/pda/core_apps.dm b/code/modules/pda/core_apps.dm
index ac62ac1db00..6196ca5b214 100644
--- a/code/modules/pda/core_apps.dm
+++ b/code/modules/pda/core_apps.dm
@@ -31,7 +31,7 @@
pda.name = "PDA-[pda.owner] ([pda.ownjob])"
if(!pda.silent)
playsound(pda, 'sound/machines/terminal_processing.ogg', 15, TRUE)
- addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, pda, 'sound/machines/terminal_success.ogg', 15, TRUE), 1.3 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), pda, 'sound/machines/terminal_success.ogg', 15, TRUE), 1.3 SECONDS)
if("pai")
if(pda.pai)
if(pda.pai.loc != pda)
diff --git a/code/modules/pda/mob_hunt_game_app.dm b/code/modules/pda/mob_hunt_game_app.dm
index ba384c23a5f..ef778723c79 100644
--- a/code/modules/pda/mob_hunt_game_app.dm
+++ b/code/modules/pda/mob_hunt_game_app.dm
@@ -84,7 +84,7 @@
if(!captured)
return FALSE
my_collection += captured
- RegisterSignal(captured, COMSIG_PARENT_QDELETING, .proc/remove_mob)
+ RegisterSignal(captured, COMSIG_PARENT_QDELETING, PROC_REF(remove_mob))
if(wild)
wild_captures++
return TRUE
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 91a7eefb816..2fb018effda 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -202,7 +202,7 @@
stat |= MAINT
constructed = TRUE
update_icon()
- addtimer(CALLBACK(src, .proc/update), 5)
+ addtimer(CALLBACK(src, PROC_REF(update)), 5)
/obj/machinery/power/apc/Destroy()
SStgui.close_uis(wires)
@@ -259,7 +259,7 @@
set_light(1, LIGHTING_MINIMUM_POWER)
- addtimer(CALLBACK(src, .proc/update), 5)
+ addtimer(CALLBACK(src, PROC_REF(update)), 5)
/obj/machinery/power/apc/examine(mob/user)
. = ..()
@@ -906,7 +906,7 @@
deltimer(emergency_power_timer)
emergency_power_timer = null
else
- emergency_power_timer = addtimer(CALLBACK(src, .proc/turn_emergency_power_off), 10 MINUTES, TIMER_UNIQUE|TIMER_STOPPABLE)
+ emergency_power_timer = addtimer(CALLBACK(src, PROC_REF(turn_emergency_power_off)), 10 MINUTES, TIMER_UNIQUE|TIMER_STOPPABLE)
// if(area.name == "AI Chamber")
// spawn(10)
// to_chat(world, " [area.name] [area.power_equip]")
@@ -914,7 +914,7 @@
area.power_light = 0
area.power_equip = 0
area.power_environ = 0
- emergency_power_timer = addtimer(CALLBACK(src, .proc/turn_emergency_power_off), 10 MINUTES, TIMER_UNIQUE|TIMER_STOPPABLE)
+ emergency_power_timer = addtimer(CALLBACK(src, PROC_REF(turn_emergency_power_off)), 10 MINUTES, TIMER_UNIQUE|TIMER_STOPPABLE)
// if(area.name == "AI Chamber")
// to_chat(world, "[area.power_equip]")
area.power_change()
@@ -922,7 +922,7 @@
/obj/machinery/power/apc/proc/turn_emergency_power_off()
emergency_power = FALSE
for(var/obj/machinery/light/L in area)
- INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
+ INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE)
/obj/machinery/power/apc/proc/can_use(mob/user, loud = 0) //used by attack_hand() and Topic()
if(user.can_admin_interact())
@@ -1017,7 +1017,7 @@
update()
if("overload")
if(usr.has_unlimited_silicon_privilege)
- INVOKE_ASYNC(src, /obj/machinery/power/apc.proc/overload_lighting)
+ INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting))
if("hack")
if(get_malf_status(usr))
malfhack(usr)
@@ -1030,7 +1030,7 @@
if("emergency_lighting")
emergency_lights = !emergency_lights
for(var/obj/machinery/light/L in area)
- INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
+ INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE)
CHECK_TICK
/obj/machinery/power/apc/proc/toggle_breaker()
@@ -1051,7 +1051,7 @@
return
to_chat(malf, "Beginning override of APC systems. This takes some time, and you can only hack one APC at a time.")
malf.malfhack = src
- malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE)
+ malf.malfhacking = addtimer(CALLBACK(malf, TYPE_PROC_REF(/mob/living/silicon/ai, malfhacked), src), 600, TIMER_STOPPABLE)
var/obj/screen/alert/hackingapc/A
A = malf.throw_alert("hackingapc", /obj/screen/alert/hackingapc)
A.target = src
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 7596b0cd25e..c92f8c013a9 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -464,7 +464,7 @@ By design, d1 is the smallest direction and d2 is the highest
// queue it to rebuild
SSmachines.deferred_powernet_rebuilds += O
-// addtimer(CALLBACK(O, .proc/auto_propogate_cut_cable, O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables
+// addtimer(CALLBACK(O, PROC_REF(auto_propogate_cut_cable), O), 0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables
// Disconnect machines connected to nodes
if(d1 == 0) // if we cut a node (O-X) cable
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index ed46f1db771..8b33d819f3b 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -330,7 +330,7 @@
_turn_on(trigger, play_sound)
else if(!turning_on)
turning_on = TRUE
- addtimer(CALLBACK(src, .proc/_turn_on, trigger, play_sound), rand(LIGHT_ON_DELAY_LOWER, LIGHT_ON_DELAY_UPPER))
+ addtimer(CALLBACK(src, PROC_REF(_turn_on), trigger, play_sound), rand(LIGHT_ON_DELAY_LOWER, LIGHT_ON_DELAY_UPPER))
else if(!turned_off())
set_emergency_lights()
else // Turning off
@@ -592,12 +592,12 @@
emergency_mode = TRUE
set_light(3, 1.7, bulb_emergency_colour)
update_icon()
- RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, .proc/update, override = TRUE)
+ RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(update), override = TRUE)
/obj/machinery/light/proc/emergency_lights_off(area/current_area, obj/machinery/power/apc/current_apc)
set_light(0, 0, 0) //you, sir, are off!
if(current_apc)
- RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, .proc/update, override = TRUE)
+ RegisterSignal(current_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(update), override = TRUE)
/obj/machinery/light/flicker(amount = rand(20, 30))
if(flickering)
@@ -607,7 +607,7 @@
return FALSE
flickering = TRUE
- INVOKE_ASYNC(src, /obj/machinery/light/.proc/flicker_event, amount)
+ INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/light, flicker_event), amount)
return TRUE
@@ -946,7 +946,7 @@
extinguished = TRUE
emergency_mode = FALSE
no_emergency = TRUE
- addtimer(CALLBACK(src, .proc/enable_emergency_lighting), 5 MINUTES, TIMER_UNIQUE|TIMER_OVERRIDE)
+ addtimer(CALLBACK(src, PROC_REF(enable_emergency_lighting)), 5 MINUTES, TIMER_UNIQUE|TIMER_OVERRIDE)
visible_message("[src] flickers and falls dark.")
update(FALSE)
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 5d8692173e6..1e51a245f75 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -309,7 +309,7 @@ field_generator power level display
//This is here to help fight the "hurr durr, release singulo cos nobody will notice before the
//singulo eats the evidence". It's not fool-proof but better than nothing.
//I want to avoid using global variables.
- INVOKE_ASYNC(src, .proc/admin_alert)
+ INVOKE_ASYNC(src, PROC_REF(admin_alert))
/obj/machinery/field/generator/proc/admin_alert()
var/temp = TRUE //stops spam
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index 4580d6cc240..a80bca459db 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -48,8 +48,8 @@
var/image/alert_overlay = image('icons/effects/cult_effects.dmi', "ghostalertsie")
notify_ghosts("[name] has risen in \the [A.name]. Reach out to the Geometer to be given a new shell for your soul.", source = src, alert_overlay = alert_overlay, action = NOTIFY_ATTACK)
- INVOKE_ASYNC(src, .proc/narsie_spawn_animation)
- addtimer(CALLBACK(src, .proc/call_shuttle), 7 SECONDS)
+ INVOKE_ASYNC(src, PROC_REF(narsie_spawn_animation))
+ addtimer(CALLBACK(src, PROC_REF(call_shuttle)), 7 SECONDS)
/obj/singularity/narsie/large/proc/call_shuttle()
SSshuttle.emergency.request(null, 0.3)
diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm
index 621bc34964a..ee816a032d9 100644
--- a/code/modules/power/singularity/particle_accelerator/particle.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle.dm
@@ -23,9 +23,9 @@
/obj/effect/accelerated_particle/Initialize(loc)
. = ..()
- addtimer(CALLBACK(src, .proc/propagate), 1)
- RegisterSignal(src, COMSIG_CROSSED_MOVABLE, .proc/try_irradiate)
- RegisterSignal(src, COMSIG_MOVABLE_CROSSED, .proc/try_irradiate)
+ addtimer(CALLBACK(src, PROC_REF(propagate)), 1)
+ RegisterSignal(src, COMSIG_CROSSED_MOVABLE, PROC_REF(try_irradiate))
+ RegisterSignal(src, COMSIG_MOVABLE_CROSSED, PROC_REF(try_irradiate))
QDEL_IN(src, movement_range)
/obj/effect/accelerated_particle/proc/try_irradiate(src, atom/A)
@@ -53,6 +53,6 @@
return
/obj/effect/accelerated_particle/proc/propagate()
- addtimer(CALLBACK(src, .proc/propagate), 1)
+ addtimer(CALLBACK(src, PROC_REF(propagate)), 1)
if(!step(src,dir))
forceMove(get_step(src, dir))
diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index 53be32d51c2..47127baeef1 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -92,7 +92,7 @@
//don't lose arc power when it's not connected to anything
//please place tesla coils all around the station to maximize effectiveness
being_shocked = TRUE
- addtimer(CALLBACK(src, .proc/reset_shocked), 1 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reset_shocked)), 1 SECONDS)
zap_buckle_check(power)
if(zap_flags & ZAP_GENERATES_POWER) //I don't want no tesla revolver making 8GW you hear
return power / 2
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 0c4fe070658..0bdb03c4c4b 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -35,9 +35,9 @@
/obj/singularity/energy_ball/Initialize(mapload, starting_energy = 50, is_miniball = FALSE)
miniball = is_miniball
- RegisterSignal(src, COMSIG_ATOM_ORBIT_BEGIN, .proc/on_start_orbit)
- RegisterSignal(src, COMSIG_ATOM_ORBIT_STOP, .proc/on_stop_orbit)
- RegisterSignal(parent_energy_ball, COMSIG_PARENT_QDELETING, .proc/on_parent_delete)
+ RegisterSignal(src, COMSIG_ATOM_ORBIT_BEGIN, PROC_REF(on_start_orbit))
+ RegisterSignal(src, COMSIG_ATOM_ORBIT_STOP, PROC_REF(on_stop_orbit))
+ RegisterSignal(parent_energy_ball, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_delete))
. = ..()
if(!is_miniball)
set_light(10, 7, "#5e5edd")
@@ -126,7 +126,7 @@
energy_to_raise = energy_to_raise * 1.25
playsound(src.loc, 'sound/magic/lightning_chargeup.ogg', 100, TRUE, extrarange = 30, channel = CHANNEL_ENGINE)
- addtimer(CALLBACK(src, .proc/new_mini_ball), 100)
+ addtimer(CALLBACK(src, PROC_REF(new_mini_ball)), 100)
else if(energy < energy_to_lower && length(orbiting_balls))
energy_to_raise = energy_to_raise / 1.25
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 3f5df2bccec..f786178214c 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -199,7 +199,7 @@
else if(G.can_trigger_gun(user))
bonus_spread += 24 * G.weapon_weight
loop_counter++
- addtimer(CALLBACK(G, .proc/process_fire, target, user, 1, params, null, bonus_spread), loop_counter)
+ addtimer(CALLBACK(G, PROC_REF(process_fire), target, user, 1, params, null, bonus_spread), loop_counter)
process_fire(target,user,1,params, null, bonus_spread)
@@ -531,7 +531,7 @@
if(zoomable)
azoom = new()
azoom.gun = src
- RegisterSignal(src, COMSIG_ITEM_EQUIPPED, .proc/ZoomGrantCheck)
+ RegisterSignal(src, COMSIG_ITEM_EQUIPPED, PROC_REF(ZoomGrantCheck))
/**
* Proc which will be called when the gun receives the `COMSIG_ITEM_EQUIPPED` signal.
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 1453d1c29f5..7cfa4249e74 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -103,7 +103,7 @@
if(!QDELING(src) && !holds_charge)
// Put it on a delay because moving item from slot to hand
// calls dropped().
- addtimer(CALLBACK(src, .proc/empty_if_not_held), 2)
+ addtimer(CALLBACK(src, PROC_REF(empty_if_not_held)), 2)
/obj/item/gun/energy/kinetic_accelerator/proc/empty_if_not_held()
if(!ismob(loc))
@@ -131,7 +131,7 @@
carried = 1
deltimer(recharge_timerid)
- recharge_timerid = addtimer(CALLBACK(src, .proc/reload), recharge_time * carried, TIMER_STOPPABLE)
+ recharge_timerid = addtimer(CALLBACK(src, PROC_REF(reload)), recharge_time * carried, TIMER_STOPPABLE)
/obj/item/gun/energy/kinetic_accelerator/emp_act(severity)
return
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 8578a7b98f0..e433fae4999 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -365,7 +365,7 @@
atom_say("Overloading successful.")
set_light(3) //extra visual effect to make it more noticable to user and victims alike
holder = user
- RegisterSignal(holder, COMSIG_CARBON_SWAP_HANDS, .proc/discharge)
+ RegisterSignal(holder, COMSIG_CARBON_SWAP_HANDS, PROC_REF(discharge))
charging = FALSE
/obj/item/gun/energy/plasma_pistol/proc/reset_overloaded()
@@ -844,7 +844,7 @@
var/obj/item/pinpointer/crew/C = locateUID(linked_pinpointer_UID)
if(C)
C.start_tracking()
- addtimer(CALLBACK(src, .proc/stop_pointing), 1 MINUTES, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(stop_pointing)), 1 MINUTES, TIMER_UNIQUE)
/obj/item/gun/energy/detective/proc/stop_pointing()
if(linked_pinpointer_UID)
diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm
index 5d4b802a2ad..35b0e920f61 100644
--- a/code/modules/projectiles/guns/medbeam.dm
+++ b/code/modules/projectiles/guns/medbeam.dm
@@ -50,7 +50,7 @@
active = TRUE
var/datum/beam/current_beam = new(user,current_target,time=6000,beam_icon_state="medbeam",btype=/obj/effect/ebeam/medical)
beam_UID = current_beam.UID()
- INVOKE_ASYNC(current_beam, /datum/beam.proc/Start)
+ INVOKE_ASYNC(current_beam, TYPE_PROC_REF(/datum/beam, Start))
SSblackbox.record_feedback("tally", "gun_fired", 1, type)
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index 88f95cd3514..7ad012f4417 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -92,7 +92,7 @@
/obj/item/ammo_casing/energy/bsg/ready_proj(atom/target, mob/living/user, quiet, zone_override = "")
..()
var/obj/item/projectile/energy/bsg/P = BB
- addtimer(CALLBACK(P, /obj/item/projectile/energy/bsg/.proc/make_chain, P, user), 1)
+ addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/projectile/energy/bsg, make_chain), P, user), 1)
/obj/item/projectile/energy/bsg/proc/make_chain(obj/item/projectile/P, mob/user)
P.chain = P.Beam(user, icon_state = "sm_arc_supercharged", icon = 'icons/effects/beam.dmi', time = 10 SECONDS, maxdistance = 30)
diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm
index 22eacaf7e7d..85dcd07b691 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol.dm
@@ -1355,7 +1355,7 @@
var/minimum_name_percent = 0.35
name = ""
- var/list/names_in_order = sortTim(names, /proc/cmp_numeric_dsc, TRUE)
+ var/list/names_in_order = sortTim(names, GLOBAL_PROC_REF(cmp_numeric_dsc), TRUE)
var/named = FALSE
for(var/fruit_name in names)
if(names[fruit_name] >= minimum_name_percent)
@@ -1719,7 +1719,7 @@
if(current_cycle % 10 != 0 || !isplasmaman(M))
return ..()
-
+
if(prob(30))
var/mob/living/carbon/human/H = M
to_chat(M, "You expell flaming substance from within your suit.")
@@ -1729,7 +1729,7 @@
H.adjust_fire_stacks(1)
H.IgniteMob()
on_fire = TRUE
-
+
return ..()
/datum/reagent/consumable/ethanol/howler
@@ -1746,11 +1746,11 @@
/datum/reagent/consumable/ethanol/howler/on_mob_life(mob/living/M)
if(!isvulpkanin(M))
return ..()
-
+
var/mob/living/carbon/human/H = M
if(H.health > 0)
H.adjustToxLoss(-0.5)
-
+
return ..()
/datum/reagent/consumable/ethanol/diona_smash
@@ -1772,5 +1772,5 @@
to_chat(M, "Mmm, tasty.")
nutriment_factor = 1 * REAGENTS_METABOLISM
mutated = TRUE
-
+
return ..()
diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
index b2b6ac3ef21..b3179118d2b 100644
--- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
+++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
@@ -164,7 +164,7 @@
/datum/chemical_reaction/blackpowder_explosion/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
do_sparks(2, 1, location)
- addtimer(CALLBACK(null, .proc/blackpowder_detonate, holder, created_volume), rand(5, 15))
+ addtimer(CALLBACK(null, GLOBAL_PROC_REF(blackpowder_detonate), holder, created_volume), rand(5, 15))
/proc/blackpowder_detonate(datum/reagents/holder, created_volume)
var/turf/T = get_turf(holder.my_atom)
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index 8b35224df6b..151c04e227e 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -103,7 +103,7 @@
/datum/chemical_reaction/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T)
T.visible_message("The slime extract begins to vibrate violently!")
if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS)
- addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN, "chemicalsummon", TRUE, TRUE), 50)
+ addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN, "chemicalsummon", TRUE, TRUE), 50)
SSmobs.xenobiology_mobs += 5
else
T.visible_message("The slime extract sputters out, there's too many mobs to make any more!")
@@ -116,7 +116,7 @@
/datum/chemical_reaction/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T)
T.visible_message("The slime extract begins to vibrate violently!")
if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS)
- addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral", TRUE, TRUE), 50)
+ addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral", TRUE, TRUE), 50)
SSmobs.xenobiology_mobs += 3
else
T.visible_message("The slime extract sputters out, there's too many mobs to make any more!")
@@ -129,7 +129,7 @@
/datum/chemical_reaction/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T)
T.visible_message("The slime extract begins to vibrate adorably!")
if(SSmobs.xenobiology_mobs < MAX_GOLD_CORE_MOBS)
- addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral", TRUE, TRUE), 50)
+ addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral", TRUE, TRUE), 50)
SSmobs.xenobiology_mobs += 1
else
T.visible_message("The slime extract sputters out, there's too many mobs to make any more!")
@@ -513,7 +513,7 @@
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
var/obj/item/slime_extract/oil/extract = holder.my_atom
extract.visible_message("The slime extract begins to vibrate violently!")
- addtimer(CALLBACK(src, .proc/explode, extract), 5 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(explode), extract), 5 SECONDS)
/datum/chemical_reaction/slime_explosion/proc/explode(obj/item/slime_extract/oil/extract)
if(QDELETED(extract))
diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm
index 333a77e7c63..2ca06bde494 100644
--- a/code/modules/reagents/reagent_containers/glass_containers.dm
+++ b/code/modules/reagents/reagent_containers/glass_containers.dm
@@ -65,7 +65,7 @@
var/fraction = min(5 / reagents.total_volume, 1)
reagents.reaction(M, REAGENT_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/glass/afterattack(obj/target, mob/user, proximity)
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 78ae9dbc3c0..dd7abdbf74f 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -44,7 +44,7 @@
return
var/contents_log = reagents.reagent_list.Join(", ")
- INVOKE_ASYNC(src, .proc/spray, A)
+ INVOKE_ASYNC(src, PROC_REF(spray), A)
playsound(loc, 'sound/effects/spray2.ogg', 50, 1, -6)
user.changeNext_move(CLICK_CD_RANGE*2)
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 49c2cb15cb5..ba80d8e7975 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -184,7 +184,7 @@ GLOBAL_LIST_INIT(conveyor_switches, list())
// spawn hundreds of callbacks for the same thing.
// (they don't behave weirdly or anything, just eat CPU)
affecting.Add(AM)
- addtimer(CALLBACK(src, .proc/move_thing, AM), slow_factor)
+ addtimer(CALLBACK(src, PROC_REF(move_thing), AM), slow_factor)
CHECK_TICK
// Use speedy process only if the belt is actually in use, and use normal process otherwise.
@@ -274,7 +274,7 @@ GLOBAL_LIST_INIT(conveyor_switches, list())
if(C.id != id)
return
conveyors += C
- RegisterSignal(C, COMSIG_PARENT_QDELETING, .proc/unlink_conveyer) // so it GCs properly
+ RegisterSignal(C, COMSIG_PARENT_QDELETING, PROC_REF(unlink_conveyer)) // so it GCs properly
/obj/machinery/conveyor_switch/proc/unlink_conveyer(obj/machinery/conveyor/C)
conveyors -= C
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index ca70ff46981..06cc7eac8c5 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -1167,7 +1167,7 @@
/obj/structure/disposalpipe/trunk/Initialize(mapload)
. = ..()
dpdir = dir
- addtimer(CALLBACK(src, .proc/getlinked), 0) // This has a delay of 0, but wont actually start until the MC is done
+ addtimer(CALLBACK(src, PROC_REF(getlinked)), 0) // This has a delay of 0, but wont actually start until the MC is done
update()
return
@@ -1299,7 +1299,7 @@
/obj/structure/disposaloutlet/Initialize(mapload)
. = ..()
- addtimer(CALLBACK(src, .proc/setup), 0) // Wait of 0, but this wont actually do anything until the MC is firing
+ addtimer(CALLBACK(src, PROC_REF(setup)), 0) // Wait of 0, but this wont actually do anything until the MC is firing
/obj/structure/disposaloutlet/proc/setup()
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index f36797e58a7..081a0aa3ad4 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -323,7 +323,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_destroy.busy = TRUE
add_wait_message("Processing and Updating Database...", DECONSTRUCT_DELAY)
flick("d_analyzer_process", linked_destroy)
- addtimer(CALLBACK(src, .proc/finish_destroyer, user, temp_tech), DECONSTRUCT_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(finish_destroyer), user, temp_tech), DECONSTRUCT_DELAY)
// Sends salvaged materials to a linked protolathe, if any.
/obj/machinery/computer/rdconsole/proc/send_mats()
@@ -451,7 +451,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
machine.reagents.remove_reagent(R, being_built.reagents_list[R] * coeff)
var/key = usr.key
- addtimer(CALLBACK(src, .proc/finish_machine, key, amount, enough_materials, machine, being_built, efficient_mats), time_to_construct)
+ addtimer(CALLBACK(src, PROC_REF(finish_machine), key, amount, enough_materials, machine, being_built, efficient_mats), time_to_construct)
/obj/machinery/computer/rdconsole/proc/finish_machine(key, amount, enough_materials, obj/machinery/r_n_d/machine, datum/design/being_built, list/efficient_mats)
if(machine)
@@ -529,7 +529,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("updt_tech") //Update the research holder with information from the technology disk.
add_wait_message("Updating Database...", TECH_UPDATE_DELAY)
- addtimer(CALLBACK(src, .proc/update_from_disk), TECH_UPDATE_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(update_from_disk)), TECH_UPDATE_DELAY)
if("clear_tech") //Erase data on the technology disk.
if(t_disk)
@@ -554,7 +554,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("updt_design") //Updates the research holder with design data from the design disk.
add_wait_message("Updating Database...", DESIGN_UPDATE_DELAY)
- addtimer(CALLBACK(src, .proc/update_from_disk), DESIGN_UPDATE_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(update_from_disk)), DESIGN_UPDATE_DELAY)
if("clear_design") //Erases data on the design disk.
if(d_disk)
@@ -607,7 +607,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else
add_wait_message("Syncing Database...", SYNC_RESEARCH_DELAY)
griefProtection() //Putting this here because I dont trust the sync process
- addtimer(CALLBACK(src, .proc/sync_research), SYNC_RESEARCH_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(sync_research)), SYNC_RESEARCH_DELAY)
if("togglesync") //Prevents the console from being synced by other consoles. Can still send data.
sync = !sync
@@ -642,7 +642,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("find_device") //The R&D console looks for devices nearby to link up with.
add_wait_message("Syncing with nearby devices...", SYNC_DEVICE_DELAY)
- addtimer(CALLBACK(src, .proc/find_devices), SYNC_DEVICE_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(find_devices)), SYNC_DEVICE_DELAY)
if("disconnect") //The R&D console disconnects with a specific device.
switch(params["item"])
@@ -664,7 +664,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
var/choice = alert("Are you sure you want to reset the R&D console's database? Data lost cannot be recovered.", "R&D Console Database Reset", "Continue", "Cancel")
if(choice == "Continue")
add_wait_message("Resetting Database...", RESET_RESEARCH_DELAY)
- addtimer(CALLBACK(src, .proc/reset_research), RESET_RESEARCH_DELAY)
+ addtimer(CALLBACK(src, PROC_REF(reset_research)), RESET_RESEARCH_DELAY)
if("search") //Search for designs with name matching pattern
var/query = params["to_search"]
@@ -913,7 +913,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
//helper proc that guarantees the wait message will not freeze the UI
/obj/machinery/computer/rdconsole/proc/add_wait_message(message, delay)
wait_message = message
- wait_message_timer = addtimer(CALLBACK(src, .proc/clear_wait_message), delay, TIMER_UNIQUE | TIMER_STOPPABLE)
+ wait_message_timer = addtimer(CALLBACK(src, PROC_REF(clear_wait_message)), delay, TIMER_UNIQUE | TIMER_STOPPABLE)
// This is here to guarantee that we never lock the console, so long as the timer
// process is running
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 6a053d10633..b0fb5eb0310 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -16,7 +16,7 @@
/obj/machinery/r_n_d/Initialize(mapload)
. = ..()
- materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), 0, TRUE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
+ materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), 0, TRUE, /obj/item/stack, CALLBACK(src, PROC_REF(is_insertion_ready)), CALLBACK(src, PROC_REF(AfterMaterialInsert)))
materials.precise_insertion = TRUE
/obj/machinery/r_n_d/Destroy()
diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm
index 299f42ea0df..bf500c3a845 100644
--- a/code/modules/research/xenobiology/xenobio_camera.dm
+++ b/code/modules/research/xenobiology/xenobio_camera.dm
@@ -116,12 +116,12 @@
hotkey_help.Grant(user)
actions += hotkey_help
- RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, .proc/XenoSlimeClickCtrl)
- RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, .proc/XenoSlimeClickAlt)
- RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, .proc/XenoSlimeClickShift)
- RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, .proc/XenoTurfClickShift)
- RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, .proc/XenoTurfClickCtrl)
- RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, .proc/XenoMonkeyClickCtrl)
+ RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, PROC_REF(XenoSlimeClickCtrl))
+ RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, PROC_REF(XenoSlimeClickAlt))
+ RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, PROC_REF(XenoSlimeClickShift))
+ RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, PROC_REF(XenoTurfClickShift))
+ RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, PROC_REF(XenoTurfClickCtrl))
+ RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, PROC_REF(XenoMonkeyClickCtrl))
if(!connected_recycler)
for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers)
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index 822e55fbdd3..0cf2b715121 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -255,7 +255,7 @@
else
to_chat(user, "[M] looks interested for a moment, but then looks back down. Maybe you should try again later.")
heat_stage += 1
- addtimer(CALLBACK(src, .proc/cooldown_potion), 60 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(cooldown_potion)), 60 SECONDS)
if(user.Adjacent(src))
switch(heat_stage)
if(1)
diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm
index b2b08033040..902861d9d8c 100644
--- a/code/modules/response_team/ert.dm
+++ b/code/modules/response_team/ert.dm
@@ -89,7 +89,7 @@ GLOBAL_VAR_INIT(ert_request_answered, FALSE)
var/list/ert_gender_prefs = list()
for(var/mob/M in GLOB.response_team_members)
ert_gender_prefs.Add(input_async(M, "Please select a gender (10 seconds):", list("Male", "Female")))
- addtimer(CALLBACK(GLOBAL_PROC, .proc/get_ert_role_prefs, GLOB.response_team_members, ert_gender_prefs), 100)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(get_ert_role_prefs), GLOB.response_team_members, ert_gender_prefs), 100)
/proc/get_ert_role_prefs(list/response_team_members, list/ert_gender_prefs) // Why the FUCK is this variable the EXACT SAME as the global one
var/list/ert_role_prefs = list()
@@ -97,7 +97,7 @@ GLOBAL_VAR_INIT(ert_request_answered, FALSE)
A.close()
for(var/mob/M in response_team_members)
ert_role_prefs.Add(input_ranked_async(M, "Please order ERT roles from most to least preferred (20 seconds):", GLOB.active_team.get_slot_list()))
- addtimer(CALLBACK(GLOBAL_PROC, .proc/dispatch_response_team, response_team_members, ert_gender_prefs, ert_role_prefs), 200)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(dispatch_response_team), response_team_members, ert_gender_prefs, ert_role_prefs), 200)
/proc/dispatch_response_team(list/response_team_members, list/datum/async_input/ert_gender_prefs, list/datum/async_input/ert_role_prefs)
var/spawn_index = 1
diff --git a/code/modules/ruins/lavalandruin_code/fountain_hall.dm b/code/modules/ruins/lavalandruin_code/fountain_hall.dm
index cba077e34ef..e62effb28c9 100644
--- a/code/modules/ruins/lavalandruin_code/fountain_hall.dm
+++ b/code/modules/ruins/lavalandruin_code/fountain_hall.dm
@@ -40,7 +40,7 @@
to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.")
user.reagents.add_reagent("godblood", 20)
update_icon(UPDATE_ICON_STATE)
- addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), time_between_uses)
/obj/structure/healingfountain/update_icon_state()
if(last_process + time_between_uses > world.time)
diff --git a/code/modules/ruins/lavalandruin_code/sin_ruins.dm b/code/modules/ruins/lavalandruin_code/sin_ruins.dm
index 762ba796430..4c75edbc90f 100644
--- a/code/modules/ruins/lavalandruin_code/sin_ruins.dm
+++ b/code/modules/ruins/lavalandruin_code/sin_ruins.dm
@@ -30,7 +30,7 @@
know it'll be worth it.")
icon_state = "slots-on"
playsound(src, 'sound/lavaland/cursed_slot_machine.ogg', 50, 0)
- addtimer(CALLBACK(src, .proc/determine_victor, user), 50)
+ addtimer(CALLBACK(src, PROC_REF(determine_victor), user), 50)
/obj/structure/cursed_slot_machine/proc/determine_victor(mob/living/user)
icon_state = "slots-off"
@@ -55,7 +55,7 @@
/obj/structure/cursed_money/Initialize()
. = ..()
- addtimer(CALLBACK(src, .proc/collapse), 600)
+ addtimer(CALLBACK(src, PROC_REF(collapse)), 600)
/obj/structure/cursed_money/proc/collapse()
visible_message("[src] falls in on itself, \
diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
index 73399bcb3e8..8d816718085 100644
--- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
+++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
@@ -86,7 +86,7 @@
return
if(GLOB.necropolis_gate == src) //funny override for knock knock gate
- addtimer(CALLBACK(src, .proc/toggle_the_gate, user), 5 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(toggle_the_gate), user), 5 SECONDS, TIMER_UNIQUE)
return
toggle_the_gate(user)
@@ -112,14 +112,14 @@
if(sight_blocker_turf)
sight_blocker.pixel_y = initial(sight_blocker.pixel_y) - (32 * sight_blocker_distance)
sight_blocker.forceMove(sight_blocker_turf)
- addtimer(CALLBACK(src, .proc/toggle_open_delayed_step, T), 0.5 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(toggle_open_delayed_step), T), 0.5 SECONDS, TIMER_UNIQUE)
return TRUE
cut_overlay(door_overlay)
new /obj/effect/temp_visual/necropolis/open(T)
visible_message("The door starts to grind open...")
playsound(T, 'sound/effects/stonedoor_openclose.ogg', 300, TRUE, frequency = 20000)
- addtimer(CALLBACK(src, .proc/toggle_closed_delayed_step), 2.2 SECONDS, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, PROC_REF(toggle_closed_delayed_step)), 2.2 SECONDS, TIMER_UNIQUE)
return TRUE
/obj/structure/necropolis_gate/proc/toggle_open_delayed_step(turf/T)
diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm
index e75f034942c..0cc05ebc336 100644
--- a/code/modules/security_levels/security_levels.dm
+++ b/code/modules/security_levels/security_levels.dm
@@ -83,7 +83,7 @@ GLOBAL_DATUM_INIT(security_announcement, /datum/announcer, new(config_type = /da
continue
SEND_SOUND(M, sound('sound/effects/powerloss.ogg'))
set_stationwide_emergency_lighting()
- addtimer(CALLBACK(GLOBAL_PROC, .proc/epsilon_process), 15 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(epsilon_process)), 15 SECONDS)
SSblackbox.record_feedback("tally", "security_level_changes", 1, level)
return
@@ -183,7 +183,7 @@ GLOBAL_DATUM_INIT(security_announcement, /datum/announcer, new(config_type = /da
L.fire_mode = TRUE
L.on = FALSE
L.emergency_mode = TRUE
- INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
+ INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE)
/proc/unset_stationwide_emergency_lighting()
for(var/area/A as anything in GLOB.all_areas)
@@ -200,7 +200,7 @@ GLOBAL_DATUM_INIT(security_announcement, /datum/announcer, new(config_type = /da
L.fire_mode = FALSE
L.emergency_mode = FALSE
L.on = TRUE
- INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
+ INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light, update), FALSE)
/proc/epsilon_process()
GLOB.security_announcement.Announce("Central Command has ordered the Epsilon security level on the station. Consider all contracts terminated.", "Attention! Epsilon security level activated!", 'sound/effects/purge_siren.ogg')
diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm
index a33935dc9d5..b013c8e0c0f 100644
--- a/code/modules/shuttle/on_move.dm
+++ b/code/modules/shuttle/on_move.dm
@@ -22,15 +22,15 @@
. = ..()
if(!.)
return
- INVOKE_ASYNC(src, .proc/close, 0, 1)
+ INVOKE_ASYNC(src, PROC_REF(close), 0, 1)
// Close any nearby airlocks as well
for(var/obj/machinery/door/airlock/D in orange(1, src))
- INVOKE_ASYNC(D, .proc/close, 0, 1)
+ INVOKE_ASYNC(D, PROC_REF(close), 0, 1)
/obj/machinery/door/airlock/onShuttleMove()
. = ..()
if(id_tag == "s_docking_airlock")
- INVOKE_ASYNC(src, .proc/lock)
+ INVOKE_ASYNC(src, PROC_REF(lock))
/mob/onShuttleMove(turf/oldT, turf/T1, rotation)
if(!move_on_shuttle)
@@ -66,7 +66,7 @@
/obj/machinery/door/airlock/postDock(obj/docking_port/stationary/S1)
. = ..()
if(!S1.lock_shuttle_doors && id_tag == "s_docking_airlock")
- INVOKE_ASYNC(src, .proc/unlock)
+ INVOKE_ASYNC(src, PROC_REF(unlock))
/obj/structure/ladder/onShuttleMove()
if(resistance_flags & INDESTRUCTIBLE)
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 3338807cdd4..9ac62b05403 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -149,7 +149,7 @@
var/list/choices = list()
for(var/obj/I in items_list)
choices["[I.name]"] = image(icon = I.icon, icon_state = I.icon_state)
- var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user))
+ var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user))
if(!check_menu(user))
return
var/obj/item/selected
@@ -364,7 +364,7 @@
if(H.nutrition >= NUTRITION_LEVEL_WELL_FED)
to_chat(user, "You are already fully charged!")
else
- INVOKE_ASYNC(src, .proc/powerdraw_loop, A, H)
+ INVOKE_ASYNC(src, PROC_REF(powerdraw_loop), A, H)
else
to_chat(user, "There is no charge to draw from that APC.")
else
diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm
index be7246b5655..21f09a03610 100644
--- a/code/modules/surgery/organs/augments_internal.dm
+++ b/code/modules/surgery/organs/augments_internal.dm
@@ -149,7 +149,7 @@
if(crit_fail || emp_proof)
return
crit_fail = TRUE
- addtimer(CALLBACK(src, .proc/reboot), 90 / severity)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), 90 / severity)
/obj/item/organ/internal/cyberimp/brain/anti_stam/proc/reboot()
crit_fail = FALSE
@@ -177,7 +177,7 @@
owner.AdjustParalysis(-200 SECONDS)
to_chat(owner, "You feel a rush of energy course through your body!")
cooldown = TRUE
- addtimer(CALLBACK(src, .proc/sleepy_timer_end), 50)
+ addtimer(CALLBACK(src, PROC_REF(sleepy_timer_end)), 50)
/obj/item/organ/internal/cyberimp/brain/anti_sleep/proc/sleepy_timer_end()
cooldown = FALSE
@@ -190,7 +190,7 @@
crit_fail = TRUE
owner.AdjustSleeping(400 SECONDS)
cooldown = TRUE
- addtimer(CALLBACK(src, .proc/reboot), 90 / severity)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), 90 / severity)
/obj/item/organ/internal/cyberimp/brain/anti_sleep/proc/reboot()
crit_fail = FALSE
@@ -245,7 +245,7 @@
return
if(owner && active && !crit_fail)
to_chat(owner, "Your translator implant shuts down with a harsh buzz.")
- addtimer(CALLBACK(src, .proc/reboot), 60 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), 60 SECONDS)
crit_fail = TRUE
active = FALSE
@@ -322,7 +322,7 @@
synthesizing = TRUE
to_chat(owner, "You feel less hungry...")
owner.adjust_nutrition(50)
- addtimer(CALLBACK(src, .proc/synth_cool), 50)
+ addtimer(CALLBACK(src, PROC_REF(synth_cool)), 50)
/obj/item/organ/internal/cyberimp/chest/nutriment/proc/synth_cool()
synthesizing = FALSE
@@ -340,7 +340,7 @@
owner.reagents.add_reagent("????",poison_amount / severity) //food poisoning
disabled_by_emp = TRUE // Disable the implant for a little bit so this effect actually matters
synthesizing = FALSE
- addtimer(CALLBACK(src, .proc/emp_cool), 60 SECONDS)
+ addtimer(CALLBACK(src, PROC_REF(emp_cool)), 60 SECONDS)
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
name = "Nutriment pump implant PLUS"
@@ -382,7 +382,7 @@
return
if(reviving)
if(owner.health <= HEALTH_THRESHOLD_CRIT)
- addtimer(CALLBACK(src, .proc/heal), 30)
+ addtimer(CALLBACK(src, PROC_REF(heal)), 30)
else
reviving = FALSE
if(owner.HasDisease(new /datum/disease/critical/shock(0)) && prob(15)) //If they are no longer in crit, but have shock, and pass a 15% chance:
@@ -423,7 +423,7 @@
var/mob/living/carbon/human/H = owner
if(H.stat != DEAD && prob(50 / severity))
H.set_heartattack(TRUE)
- addtimer(CALLBACK(src, .proc/undo_heart_attack), 600 / severity)
+ addtimer(CALLBACK(src, PROC_REF(undo_heart_attack)), 600 / severity)
/obj/item/organ/internal/cyberimp/chest/reviver/proc/undo_heart_attack()
var/mob/living/carbon/human/H = owner
diff --git a/code/modules/surgery/organs/blood.dm b/code/modules/surgery/organs/blood.dm
index b282ecec88f..b3fff304826 100644
--- a/code/modules/surgery/organs/blood.dm
+++ b/code/modules/surgery/organs/blood.dm
@@ -9,7 +9,7 @@
return
else
bleedsuppress = TRUE
- addtimer(CALLBACK(src, .proc/resume_bleeding), amount)
+ addtimer(CALLBACK(src, PROC_REF(resume_bleeding)), amount)
/mob/living/carbon/human/proc/resume_bleeding()
bleedsuppress = FALSE
diff --git a/code/modules/surgery/organs/body_egg.dm b/code/modules/surgery/organs/body_egg.dm
index 04e6b4a4467..61ba45d63f2 100644
--- a/code/modules/surgery/organs/body_egg.dm
+++ b/code/modules/surgery/organs/body_egg.dm
@@ -16,7 +16,7 @@
ADD_TRAIT(owner, TRAIT_XENO_IMMUNE, "xeno immune")
START_PROCESSING(SSobj, src)
owner.med_hud_set_status()
- INVOKE_ASYNC(src, .proc/AddInfectionImages, owner)
+ INVOKE_ASYNC(src, PROC_REF(AddInfectionImages), owner)
/obj/item/organ/internal/body_egg/remove(mob/living/carbon/M, special = 0)
STOP_PROCESSING(SSobj, src)
@@ -24,7 +24,7 @@
REMOVE_TRAIT(owner, TRAIT_XENO_HOST, TRAIT_GENERIC)
REMOVE_TRAIT(owner, TRAIT_XENO_IMMUNE, "xeno immune")
owner.med_hud_set_status()
- INVOKE_ASYNC(src, .proc/RemoveInfectionImages, owner)
+ INVOKE_ASYNC(src, PROC_REF(RemoveInfectionImages), owner)
. = ..()
/obj/item/organ/internal/body_egg/process()
diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm
index 9c24d7a12bc..f637f3b0bb9 100644
--- a/code/modules/surgery/organs/heart.dm
+++ b/code/modules/surgery/organs/heart.dm
@@ -24,7 +24,7 @@
return
if(!special)
- addtimer(CALLBACK(src, .proc/stop_if_unowned), 120)
+ addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 120)
/obj/item/organ/internal/heart/emp_act(intensity)
if(!is_robotic() || emp_proof)
@@ -42,7 +42,7 @@
return
if(!beating)
Restart()
- addtimer(CALLBACK(src, .proc/stop_if_unowned), 80)
+ addtimer(CALLBACK(src, PROC_REF(stop_if_unowned)), 80)
/obj/item/organ/internal/heart/safe_replace(mob/living/carbon/human/target)
Restart()
@@ -121,15 +121,15 @@
..()
if(owner)
to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!")
- RegisterSignal(owner, COMSIG_LIVING_PRE_DEFIB, .proc/just_before_revive)
- RegisterSignal(owner, COMSIG_LIVING_DEFIBBED, .proc/on_defib_revive)
+ RegisterSignal(owner, COMSIG_LIVING_PRE_DEFIB, PROC_REF(just_before_revive))
+ RegisterSignal(owner, COMSIG_LIVING_DEFIBBED, PROC_REF(on_defib_revive))
/obj/item/organ/internal/heart/cursed/remove(mob/living/carbon/M, special)
if(owner?.client?.prefs.colourblind_mode == COLOURBLIND_MODE_NONE)
owner.client.color = ""
- UnregisterSignal(owner, COMSIG_LIVING_PRE_DEFIB, .proc/just_before_revive)
- UnregisterSignal(owner, COMSIG_LIVING_DEFIBBED, .proc/on_defib_revive)
+ UnregisterSignal(owner, COMSIG_LIVING_PRE_DEFIB, PROC_REF(just_before_revive))
+ UnregisterSignal(owner, COMSIG_LIVING_DEFIBBED, PROC_REF(on_defib_revive))
return ..()
@@ -156,8 +156,8 @@
in_grace_period = TRUE
times_shocked++
// wake up
- addtimer(CALLBACK(src, .proc/after_revive), 2 SECONDS) // grab a brush and put a little make-up
- addtimer(CALLBACK(src, .proc/on_end_grace_period), revival_grace_period) // hide the scars to fade away the shake-up
+ addtimer(CALLBACK(src, PROC_REF(after_revive)), 2 SECONDS) // grab a brush and put a little make-up
+ addtimer(CALLBACK(src, PROC_REF(on_end_grace_period)), revival_grace_period) // hide the scars to fade away the shake-up
/obj/item/organ/internal/heart/cursed/proc/after_revive()
owner.SetSleeping(0)
@@ -229,8 +229,8 @@
/obj/item/organ/internal/heart/cybernetic/upgraded/insert(mob/living/carbon/M, special = FALSE)
..()
- RegisterSignal(M, COMSIG_LIVING_MINOR_SHOCK, .proc/shock_heart)
- RegisterSignal(M, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/shock_heart)
+ RegisterSignal(M, COMSIG_LIVING_MINOR_SHOCK, PROC_REF(shock_heart))
+ RegisterSignal(M, COMSIG_LIVING_ELECTROCUTE_ACT, PROC_REF(shock_heart))
/obj/item/organ/internal/heart/cybernetic/upgraded/remove(mob/living/carbon/M, special = FALSE)
UnregisterSignal(M, COMSIG_LIVING_MINOR_SHOCK)
@@ -247,20 +247,20 @@
if(prob(20) && emagged)
attempted_restart = TRUE
Restart()
- addtimer(CALLBACK(src, .proc/message_to_owner, owner, "Your [name] returns to its normal rhythm!"), 30)
- addtimer(CALLBACK(src, .proc/recharge), 200)
+ addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 30)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 200)
else if(prob(10))
attempted_restart = TRUE
Restart()
- addtimer(CALLBACK(src, .proc/message_to_owner, owner, "Your [name] returns to its normal rhythm!"), 30)
- addtimer(CALLBACK(src, .proc/recharge), 300)
+ addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 30)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 300)
else
attempted_restart = TRUE
if(emagged)
- addtimer(CALLBACK(src, .proc/recharge), 200)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 200)
else
- addtimer(CALLBACK(src, .proc/recharge), 300)
- addtimer(CALLBACK(src, .proc/message_to_owner, owner, "Your [name] fails to return to its normal rhythm!"), 30)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 300)
+ addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] fails to return to its normal rhythm!"), 30)
if(!(status & ORGAN_DEAD) && !attempted_restart && owner.HasDisease(new /datum/disease/critical/heart_failure(0)))
to_chat(owner, "Your [name] detects a cardiac event and attempts to return to its normal rhythm!")
@@ -268,21 +268,21 @@
attempted_restart = TRUE
for(var/datum/disease/critical/heart_failure/HF in owner.viruses)
HF.cure()
- addtimer(CALLBACK(src, .proc/message_to_owner, owner, "Your [name] returns to its normal rhythm!"), 30)
- addtimer(CALLBACK(src, .proc/recharge), 200)
+ addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 30)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 200)
else if(prob(25))
attempted_restart = TRUE
for(var/datum/disease/critical/heart_failure/HF in owner.viruses)
HF.cure()
- addtimer(CALLBACK(src, .proc/message_to_owner, owner, "Your [name] returns to its normal rhythm!"), 30)
- addtimer(CALLBACK(src, .proc/recharge), 200)
+ addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] returns to its normal rhythm!"), 30)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 200)
else
attempted_restart = TRUE
if(emagged)
- addtimer(CALLBACK(src, .proc/recharge), 200)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 200)
else
- addtimer(CALLBACK(src, .proc/recharge), 300)
- addtimer(CALLBACK(src, .proc/message_to_owner, owner, "Your [name] fails to return to its normal rhythm!"), 30)
+ addtimer(CALLBACK(src, PROC_REF(recharge)), 300)
+ addtimer(CALLBACK(src, PROC_REF(message_to_owner), owner, "Your [name] fails to return to its normal rhythm!"), 30)
if(!(status & ORGAN_DEAD))
var/boost = emagged ? 2 : 1
diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm
index 3de1aa1c1f2..00272b9a146 100644
--- a/code/modules/surgery/organs/organ_external.dm
+++ b/code/modules/surgery/organs/organ_external.dm
@@ -755,7 +755,7 @@ Note that amputating the affected organ does in fact remove the infection from t
for(var/obj/item/I in embedded_objects)
UnregisterSignal(I, COMSIG_MOVABLE_MOVED) // Else it gets removed from the embedded list
I.forceMove(src)
- RegisterSignal(I, COMSIG_MOVABLE_MOVED, .proc/remove_embedded_object)
+ RegisterSignal(I, COMSIG_MOVABLE_MOVED, PROC_REF(remove_embedded_object))
if(!owner.has_embedded_objects())
owner.clear_alert("embeddedobject")
@@ -848,7 +848,7 @@ Note that amputating the affected organ does in fact remove the infection from t
/obj/item/organ/external/proc/add_embedded_object(obj/item/I)
embedded_objects += I
I.forceMove(owner)
- RegisterSignal(I, COMSIG_MOVABLE_MOVED, .proc/remove_embedded_object)
+ RegisterSignal(I, COMSIG_MOVABLE_MOVED, PROC_REF(remove_embedded_object))
//Remove all embedded objects from all limbs on the carbon mob
/mob/living/carbon/human/proc/remove_all_embedded_objects()
diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm
index 36f82a7bd84..a09d7353329 100644
--- a/code/modules/telesci/gps.dm
+++ b/code/modules/telesci/gps.dm
@@ -51,7 +51,7 @@ GLOBAL_LIST_EMPTY(GPS_list)
/obj/item/gps/emp_act(severity)
emped = TRUE
update_icon(UPDATE_OVERLAYS)
- addtimer(CALLBACK(src, .proc/reboot), EMP_DISABLE_TIME)
+ addtimer(CALLBACK(src, PROC_REF(reboot)), EMP_DISABLE_TIME)
/obj/item/gps/AltClick(mob/user)
if(ui_status(user, GLOB.inventory_state) != STATUS_INTERACTIVE)
diff --git a/paradise.dme b/paradise.dme
index 43ca618c8e6..474344ab65e 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -13,6 +13,7 @@
#include "_maps\__MAP_DEFINES.dm"
#include "_maps\base_map.dm"
#include "_maps\map_datums.dm"
+#include "code\__byond_version_compat.dm"
#include "code\_compile_options.dm"
#include "code\hub.dm"
#include "code\world.dm"
diff --git a/tgui/packages/tgui/public/tgui.html b/tgui/packages/tgui/public/tgui.html
index 16ef27622fb..e30cae945dd 100644
--- a/tgui/packages/tgui/public/tgui.html
+++ b/tgui/packages/tgui/public/tgui.html
@@ -27,8 +27,9 @@
// Basic checks to detect whether this page runs in BYOND
var isByond =
!!navigator.userAgent.match(/Trident\/(\d+).+?;/i) &&
- location.hostname === '127.0.0.1' &&
- location.pathname.indexOf('/tmp') === 0;
+ location.hostname === '127.0.0.1';
+ //As of BYOND 515 the path doesn't seem to include tmp dir anymore if you're trying to open tgui in external browser and looking why it doesn't work
+ //&& location.pathname.indexOf('/tmp') === 0
// Makes a BYOND call.
// See: https://secure.byond.com/docs/ref/skinparams.html
Byond.call = function (path, params) {