diff --git a/code/_hooks/events.dm b/code/_hooks/events.dm
index d22a9d92676..350021421d4 100644
--- a/code/_hooks/events.dm
+++ b/code/_hooks/events.dm
@@ -1,57 +1,3 @@
-/**
- * /vg/ Events System
- *
- * Intended to replace the hook system.
- * Eventually. :V
- */
-
-// Buggy bullshit requires shitty workarounds
-/proc/INVOKE_EVENT(event/event,args)
- if(istype(event))
- . = event.Invoke(args)
-
-/**
- * Event dispatcher
- */
-/event
- var/list/handlers=list() // List of [\ref, Function]
- var/atom/holder
-
-/event/New(loc, owner)
- ..()
- holder = owner
-
-/event/Destroy()
- holder = null
- handlers = null
- ..()
-
-/event/proc/Add(var/objectRef,var/procName)
- var/key="\ref[objectRef]:[procName]"
- handlers[key]=list(EVENT_OBJECT_INDEX=objectRef,EVENT_PROC_INDEX=procName)
- return key
-
-/event/proc/Remove(var/key)
- return handlers.Remove(key)
-
-/event/proc/Invoke(var/list/args)
- if(handlers.len==0)
- return
- for(var/key in handlers)
- var/list/handler=handlers[key]
- if(!handler)
- continue
-
- var/objRef = handler[EVENT_OBJECT_INDEX]
- var/procName = handler[EVENT_PROC_INDEX]
-
- if(objRef == null)
- handlers.Remove(handler)
- continue
- args["event"] = src
- if(call(objRef,procName)(args, holder)) //An intercept value so whatever code section knows we mean business
- . = 1
-
#define EVENT_HANDLER_OBJREF_INDEX 1
#define EVENT_HANDLER_PROCNAME_INDEX 2
@@ -60,7 +6,7 @@
return call(source, proctype)(arglist(arguments))
// Declare children of this type path to use as identifiers for the events.
-/lazy_event
+/event
// TODO: Document here the arguments that need to be passed to the procs invoked by each event
@@ -68,7 +14,7 @@
// Arguments:
// mob/carbon/living/human/user: The human.
// rads: The amount of radiation.
-/lazy_event/on_irradiate
+/event/irradiate
// Called whenever an atom's z-level changes.
// Seems to be invoked all over the place, actually. Someone should sort this out.
@@ -76,81 +22,81 @@
// atom/movable/user: The atom that moved.
// to_z: The new z.
// from_z: The old z.
-/lazy_event/on_z_transition
+/event/z_transition
// TODO: docs
-/lazy_event/on_post_z_transition
+/event/post_z_transition
// Called whenever an /atom/movable moves.
// Arguments:
// atom/movable/mover: the movable itself.
-/lazy_event/on_moved
+/event/moved
// Called right before an /atom/movable attempts to move or change dir.
-/lazy_event/on_before_move
+/event/before_move
// Called right after an /atom/movable attempts to move or change dir..
-/lazy_event/on_after_move
+/event/after_move
// Called when an /atom/movable attempts to change dir.
-/lazy_event/on_face
+/event/face
// Called whenever a datum is destroyed.
// Currently, as an optimization, only /atom/movable invokes this but
// it can be changed to /datum if the need arises.
-/lazy_event/on_destroyed
+/event/destroyed
// Arguments:
// datum/thing: the datum being destroyed.
// Called whenever an atom's density changes.
// Arguments:
// atom/atom: the atom whose density changed.
-/lazy_event/on_density_change
+/event/density_change
// Called whenever a mob uses the "resist" verb.
// Arguments:
// mob/user: the mob that's resisting
-/lazy_event/on_resist
+/event/resist
// Called whenever a mob casts a spell.
// Arguments:
// spell/spell: the spell that's being cast.
// mob/user: the mob that's casting the spell.
// list/targets: the list of targets the spell is being cast against. May not always be a list.
-/lazy_event/on_spellcast
+/event/spellcast
// Called whenever a mob attacks something with an empty hand.
// Arguments:
// atom/atom: The atom that's being attacked.
-/lazy_event/on_uattack
+/event/uattack
// Called whenever a mob attacks something while restrained.
// Arguments:
// atom/atom: The atom that's being attacked.
-/lazy_event/on_ruattack
+/event/ruattack
// Called by mob/Logout().
// Arguments:
// mob/user: The mob that's logging out.
-/lazy_event/on_logout
+/event/logout
// Called by mob/living/Login().
// Arguments:
// mob/user: The living mob that's logging in.
-/lazy_event/on_living_login
+/event/living_login
// Called whenever a mob takes damage.
// Truthy return values will prevent the damage.
// Arguments:
// kind: the kind of damage the mob is being dealt.
// amount: the amount of damage the mob is being dealt.
-/lazy_event/on_damaged
+/event/damaged
// Called whenever a mob dies.
// Arguments:
// mob/user: The mob that's dying.
// body_destroyed: Whether the mob is about to be gibbed.
-/lazy_event/on_death
+/event/death
// Called by /mob/proc/ClickOn.
// The list of modifiers can be changed by the event listeners.
@@ -158,51 +104,112 @@
// mob/user: the user that's doing the clicking.
// list/modifiers: list of key modifiers (shift, alt, etcetera).
// atom/target: the atom that's being clicked on.
-/lazy_event/on_clickon
+/event/clickon
// Called when an atom is attacked with an empty hand.
// Currently only used by xenoarch artifacts, should probably be moved to the base proc.
// Arguments:
// mob/user: the guy who is attacking.
// atom/target: the atom that's being attacked.
-/lazy_event/on_attackhand
+/event/attackhand
// Called whenever an atom bumps into another.
-// Currently only used by xenoarch artifacts, should probably be moved to the base proc.
+// Currently only used by xenoarch artifacts and humans, should probably be moved to the base proc.
// Arguments:
-// mob/user: the guy who is bumping.
+// atom/movable/bumper: the atom that is bumping.
// atom/target: the atom that's being bumped into.
-/lazy_event/on_bumped
+/event/bumped
// Called when mind/transfer_to() finishes.
// Arguments:
// datum/mind/mind: the mind that just got transferred.
-/lazy_event/after_mind_transfer
+/event/after_mind_transfer
// Called when mob equips an item
// Arguments:
// atom/item: the item
// slot: the slot
-/lazy_event/on_equipped
+/event/equipped
// Called when mob unequippes an item
// Arguments:
// atom/item: the item
-/lazy_event/on_unequipped
+/event/unequipped
-//Called when movable moves into a new turf
+// Called when movable moves into a new turf
// Arguments:
// atom/movable/mover: thing that moved
// location: turf it entered
// oldloc: atom it exited
-/lazy_event/on_entered
+/event/entered
-//Called when movable moves from a turf
+// Called when movable moves from a turf
// Arguments:
// atom/movable/mover: thing that moved
// location: turf it exited
// newloc: atom it is entering
-/lazy_event/on_exited
+/event/exited
+
+// Called by attack_hand
+// Arguments:
+// mob/toucher: the mob doing the touching
+// atom/touched: the thing being touched
+/event/touched
+
+// Called by to_bump
+// Currently only implemented for humans.
+// Arguments:
+// atom/movable/bumper: the atom that is bumping.
+// atom/target: the atom that's being bumped into.
+/event/to_bump
+
+// Called by hitby
+// Currently only implemented for humans.
+// Arguments:
+// mob/victim: the mob being hit
+// obj/item/item: the item that's hitting the victim
+/event/hitby
+
+// Called by attacked_by
+// Arguments:
+// mob/attacker: the mob doing the attack
+// mob/attacked: the victim of the attack
+// mob/item: the item being used to attack with
+/event/attacked_by
+
+// Called by unarmed_attack_mob
+// Probably should be merged with /event/uattack.
+// Arguments:
+// mob/attacker: the mob doing the attack
+// mob/attacked: the victim of the attack
+/event/unarmed_attack
+
+// Called by beam_connect
+// Arguments:
+// obj/effect/beam/beam: the beam connecting with the atom
+/event/beam_connect
+
+// Called by bullet_act
+// Arguments:
+// obj/item/projectile/projectile: the projectile hitting the atom
+/event/projectile
+
+// Called by ex_act
+// Arguments:
+// severity: the severity of the explosion
+/event/explosion
+
+// Called by /obj/effect/beam/emitter/proc/set_power
+// Arguments:
+// obj/effect/beam/beam: the beam
+/event/beam_power_change
+
+// Called by attackby
+// Currently only used by artifacts.
+// Arguments:
+// mob/living/attacker: the mob attacking the atom
+// obj/item/item: the item being used for the attack
+/event/attackby
/datum
@@ -217,10 +224,10 @@
/**
* Calls all registered event handlers with the specified parameters, if any.
* Arguments:
- * * lazy_event/event_type Required. The typepath of the event to invoke.
+ * * event/event_type Required. The typepath of the event to invoke.
* * list/arguments Optional. List of parameters to be passed to the event handlers.
*/
-/datum/proc/lazy_invoke_event(lazy_event/event_type, list/arguments)
+/datum/proc/invoke_event(event/event_type, list/arguments)
SHOULD_NOT_OVERRIDE(TRUE)
if(!length(registered_events))
// No event at all is registered for this datum.
@@ -240,11 +247,11 @@
* Registers a proc to be called on an object whenever the specified event_type
* is invoked on this datum.
* Arguments:
- * * lazy_event/event_type Required. The typepath of the event to register.
+ * * event/event_type Required. The typepath of the event to register.
* * datum/target Required. The object that the proc will be called on.
* * procname Required. The proc to be called.
*/
-/datum/proc/lazy_register_event(lazy_event/event_type, datum/target, procname)
+/datum/proc/register_event(event/event_type, datum/target, procname)
SHOULD_NOT_OVERRIDE(TRUE)
if(!registered_events)
registered_events = list()
@@ -260,11 +267,11 @@
* Unregisters a proc so that it is no longer called when the specified
* event is invoked.
* Arguments:
- * * lazy_event/event_type Required. The typepath of the event to unregister.
+ * * event/event_type Required. The typepath of the event to unregister.
* * datum/target Required. The object that's been previously registered.
* * procname Required. The proc of the object.
*/
-/datum/proc/lazy_unregister_event(lazy_event/event_type, datum/target, procname)
+/datum/proc/unregister_event(event/event_type, datum/target, procname)
SHOULD_NOT_OVERRIDE(TRUE)
if(!registered_events)
return
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index 79999494c23..d4cd7bd448d 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -69,7 +69,7 @@
RestrainedClickOn(A)
else
*/
- if(lazy_invoke_event(/lazy_event/on_uattack, list("atom" = A))) //This returns 1 when doing an action intercept
+ if(invoke_event(/event/uattack, list("atom" = A))) //This returns 1 when doing an action intercept
return
A.add_hiddenprint(src)
A.attack_ai(src)
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 9d0759d25a9..bcb5a7b110d 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -75,7 +75,7 @@
return
var/list/modifiers = params2list(params)
- lazy_invoke_event(/lazy_event/on_clickon, list(
+ invoke_event(/event/clickon, list(
"user" = src,
"modifiers" = modifiers,
"target" = A
@@ -152,7 +152,7 @@
else
if(ismob(A) || istype(held_item, /obj/item/weapon/grab))
delayNextAttack(10)
- if(lazy_invoke_event(/lazy_event/on_uattack, list("atom" = A))) //This returns 1 when doing an action intercept
+ if(invoke_event(/event/uattack, list("atom" = A))) //This returns 1 when doing an action intercept
return
UnarmedAttack(A, 1, params)
@@ -183,7 +183,7 @@
else
if(ismob(A))
delayNextAttack(10)
- if(lazy_invoke_event(/lazy_event/on_uattack, list("atom" = A))) //This returns 1 when doing an action intercept
+ if(invoke_event(/event/uattack, list("atom" = A))) //This returns 1 when doing an action intercept
return
RangedAttack(A, params)
@@ -245,7 +245,7 @@
Not currently used by anything but could easily be.
*/
/mob/proc/RestrainedClickOn(var/atom/A)
- lazy_invoke_event(/lazy_event/on_ruattack, list("atom" = A))
+ invoke_event(/event/ruattack, list("atom" = A))
/*
Middle click
@@ -388,9 +388,9 @@
else if(A.pixel_x < -16)
change_dir(WEST)
- lazy_invoke_event(/lazy_event/on_before_move)
- lazy_invoke_event(/lazy_event/on_face)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/before_move)
+ invoke_event(/event/face)
+ invoke_event(/event/after_move)
return
if(abs(dx) < abs(dy))
@@ -404,9 +404,9 @@
else
change_dir(WEST)
- lazy_invoke_event(/lazy_event/on_before_move)
- lazy_invoke_event(/lazy_event/on_face)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/before_move)
+ invoke_event(/event/face)
+ invoke_event(/event/after_move)
// File renamed to mouse.dm?
diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm
index e45cb6d2651..030203243a5 100644
--- a/code/_onclick/cyborg.dm
+++ b/code/_onclick/cyborg.dm
@@ -47,7 +47,7 @@
aicamera.captureimage(A, src)
return
- if(lazy_invoke_event(/lazy_event/on_uattack, list("atom" = A)))
+ if(invoke_event(/event/uattack, list("atom" = A)))
return
var/obj/item/W = get_active_hand()
diff --git a/code/_onclick/mutual_cuff.dm b/code/_onclick/mutual_cuff.dm
index 7e72df332a5..cbdd1007511 100644
--- a/code/_onclick/mutual_cuff.dm
+++ b/code/_onclick/mutual_cuff.dm
@@ -50,14 +50,14 @@
second.equip_to_slot(cuffs, slot_handcuffed)
first.equip_to_slot(cuffs, slot_handcuffed)
- first.lazy_register_event(/lazy_event/on_z_transition, first, /mob/living/carbon/proc/z_transition_bringalong)
- second.lazy_register_event(/lazy_event/on_z_transition, second, /mob/living/carbon/proc/z_transition_bringalong)
+ first.register_event(/event/z_transition, first, /mob/living/carbon/proc/z_transition_bringalong)
+ second.register_event(/event/z_transition, second, /mob/living/carbon/proc/z_transition_bringalong)
- first.lazy_register_event(/lazy_event/on_post_z_transition, first, /mob/living/carbon/proc/post_z_transition_bringalong)
- second.lazy_register_event(/lazy_event/on_post_z_transition, second, /mob/living/carbon/proc/post_z_transition_bringalong)
+ first.register_event(/event/post_z_transition, first, /mob/living/carbon/proc/post_z_transition_bringalong)
+ second.register_event(/event/post_z_transition, second, /mob/living/carbon/proc/post_z_transition_bringalong)
- second.lazy_register_event(/lazy_event/on_moved, first, /mob/living/carbon/proc/on_mutual_cuffed_move)
- first.lazy_register_event(/lazy_event/on_moved, second, /mob/living/carbon/proc/on_mutual_cuffed_move)
+ second.register_event(/event/moved, first, /mob/living/carbon/proc/on_mutual_cuffed_move)
+ first.register_event(/event/moved, second, /mob/living/carbon/proc/on_mutual_cuffed_move)
cuffs.on_restraint_apply(first)
cuffs.on_restraint_apply(second)
@@ -75,14 +75,14 @@
mutual_handcuffed_mobs.Remove(handcuffed_to)
//remove from the event
- C.lazy_unregister_event(/lazy_event/on_moved, C, /mob/living/carbon/proc/on_mutual_cuffed_move)
- handcuffed_to.lazy_unregister_event(/lazy_event/on_moved, handcuffed_to, /mob/living/carbon/proc/on_mutual_cuffed_move)
+ C.unregister_event(/event/moved, C, /mob/living/carbon/proc/on_mutual_cuffed_move)
+ handcuffed_to.unregister_event(/event/moved, handcuffed_to, /mob/living/carbon/proc/on_mutual_cuffed_move)
- C.lazy_unregister_event(/lazy_event/on_z_transition, C, /mob/living/carbon/proc/z_transition_bringalong)
- handcuffed_to.lazy_unregister_event(/lazy_event/on_z_transition, handcuffed_to, /mob/living/carbon/proc/z_transition_bringalong)
+ C.unregister_event(/event/z_transition, C, /mob/living/carbon/proc/z_transition_bringalong)
+ handcuffed_to.unregister_event(/event/z_transition, handcuffed_to, /mob/living/carbon/proc/z_transition_bringalong)
- C.lazy_unregister_event(/lazy_event/on_post_z_transition, C, /mob/living/carbon/proc/post_z_transition_bringalong)
- handcuffed_to.lazy_unregister_event(/lazy_event/on_post_z_transition, handcuffed_to, /mob/living/carbon/proc/post_z_transition_bringalong)
+ C.unregister_event(/event/post_z_transition, C, /mob/living/carbon/proc/post_z_transition_bringalong)
+ handcuffed_to.unregister_event(/event/post_z_transition, handcuffed_to, /mob/living/carbon/proc/post_z_transition_bringalong)
//reset the mob's vars
handcuffed_to.mutual_handcuffed_to = null
@@ -114,14 +114,14 @@
/mob/living/carbon/proc/z_transition_bringalong(var/mob/user, var/from_z, var/to_z)
if (mutual_handcuffed_to)
// Remove the ability to bring his buddy, since his buddy already brought him here
- mutual_handcuffed_to.lazy_unregister_event(/lazy_event/on_z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/z_transition_bringalong)
- mutual_handcuffed_to.lazy_unregister_event(/lazy_event/on_post_z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/post_z_transition_bringalong)
- mutual_handcuffed_to.lazy_unregister_event(/lazy_event/on_moved, mutual_handcuffed_to, /mob/living/carbon/proc/on_mutual_cuffed_move)
+ mutual_handcuffed_to.unregister_event(/event/z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/z_transition_bringalong)
+ mutual_handcuffed_to.unregister_event(/event/post_z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/post_z_transition_bringalong)
+ mutual_handcuffed_to.unregister_event(/event/moved, mutual_handcuffed_to, /mob/living/carbon/proc/on_mutual_cuffed_move)
/mob/living/carbon/proc/post_z_transition_bringalong(var/mob/user, var/from_z, var/to_z)
if (mutual_handcuffed_to)
// Re-adds the events on the fly once the transition is done.
mutual_handcuffed_to.forceMove(get_turf(src))
- mutual_handcuffed_to.lazy_register_event(/lazy_event/on_z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/z_transition_bringalong)
- mutual_handcuffed_to.lazy_register_event(/lazy_event/on_post_z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/post_z_transition_bringalong)
- mutual_handcuffed_to.lazy_register_event(/lazy_event/on_moved, mutual_handcuffed_to, /mob/living/carbon/proc/on_mutual_cuffed_move)
+ mutual_handcuffed_to.register_event(/event/z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/z_transition_bringalong)
+ mutual_handcuffed_to.register_event(/event/post_z_transition, mutual_handcuffed_to, /mob/living/carbon/proc/post_z_transition_bringalong)
+ mutual_handcuffed_to.register_event(/event/moved, mutual_handcuffed_to, /mob/living/carbon/proc/on_mutual_cuffed_move)
diff --git a/code/datums/alt_control.dm b/code/datums/alt_control.dm
index 61c93366a75..a2a62ec7790 100644
--- a/code/datums/alt_control.dm
+++ b/code/datums/alt_control.dm
@@ -8,7 +8,7 @@
/datum/control/New(var/mob/new_controller, var/atom/new_controlled)
..()
controller = new_controller
- controller.lazy_register_event(/lazy_event/on_damaged, src, .proc/user_damaged)
+ controller.register_event(/event/damaged, src, .proc/user_damaged)
controlled = new_controlled
/datum/control/Destroy()
diff --git a/code/datums/chat_message.dm b/code/datums/chat_message.dm
index 0bac8e28de0..c8c12df5ece 100644
--- a/code/datums/chat_message.dm
+++ b/code/datums/chat_message.dm
@@ -54,7 +54,7 @@ var/runechat_icon = null
if (owned_by)
owned_by.seen_messages.Remove(src)
owned_by.images.Remove(message)
- owned_by.mob.lazy_unregister_event(/lazy_event/on_destroyed, src, .proc/qdel_self)
+ owned_by.mob.unregister_event(/event/destroyed, src, .proc/qdel_self)
owned_by = null
message_loc = null
message = null
@@ -74,7 +74,7 @@ var/runechat_icon = null
set waitfor = FALSE
// Register client who owns this message
owned_by = owner.client
- owner.lazy_register_event(/lazy_event/on_destroyed, src, .proc/qdel_self)
+ owner.register_event(/event/destroyed, src, .proc/qdel_self)
// Clip message
var/maxlen = owned_by.prefs.max_chat_length
diff --git a/code/datums/gamemode/factions/bloodcult/bloodcult_buildings.dm b/code/datums/gamemode/factions/bloodcult/bloodcult_buildings.dm
index ba7407c9526..6768e79e4fd 100644
--- a/code/datums/gamemode/factions/bloodcult/bloodcult_buildings.dm
+++ b/code/datums/gamemode/factions/bloodcult/bloodcult_buildings.dm
@@ -400,7 +400,7 @@
if(M.client)
spawn(5)//we give it time to fade out
M.client.images -= watcher_maps["\ref[M]"]
- M.lazy_unregister_event(/lazy_event/on_face, src, /obj/structure/cult/altar/proc/checkPosition)
+ M.unregister_event(/event/face, src, /obj/structure/cult/altar/proc/checkPosition)
animate(watcher_maps["\ref[M]"], alpha = 0, time = 5, easing = LINEAR_EASING)
watching_mobs = list()
@@ -410,7 +410,7 @@
if(!(user in watching_mobs))
user.client.images -= watcher_maps["\ref[user]"]
watcher_maps -= "\ref[user]"
- user.lazy_unregister_event(/lazy_event/on_face, src, /obj/structure/cult/altar/proc/checkPosition)
+ user.unregister_event(/event/face, src, /obj/structure/cult/altar/proc/checkPosition)
animate(watcher_maps["\ref[user]"], alpha = 0, time = 5, easing = LINEAR_EASING)
watching_mobs -= user
@@ -596,7 +596,7 @@
animate(watcher_maps["\ref[user]"], alpha = 255, time = 5, easing = LINEAR_EASING)
watching_mobs |= user
user.client.images |= watcher_maps["\ref[user]"]
- user.lazy_register_event(/lazy_event/on_face, src, /obj/structure/cult/altar/proc/checkPosition)
+ user.register_event(/event/face, src, /obj/structure/cult/altar/proc/checkPosition)
if ("Commune with Nar-Sie")
switch(veil_thickness)
if (CULT_MENDED)
@@ -1483,7 +1483,7 @@ var/list/bloodstone_list = list()
animate(watcher_maps["\ref[user]"], alpha = 255, time = 5, easing = LINEAR_EASING)
watching_mobs |= user
user.client.images |= watcher_maps["\ref[user]"]
- user.lazy_register_event(/lazy_event/on_face, src, /obj/structure/cult/bloodstone/proc/checkPosition)
+ user.register_event(/event/face, src, /obj/structure/cult/bloodstone/proc/checkPosition)
/obj/structure/cult/bloodstone/proc/checkPosition()
for(var/mob/M in watching_mobs)
@@ -1496,7 +1496,7 @@ var/list/bloodstone_list = list()
if(M.client)
spawn(5)//we give it time to fade out
M.client.images -= watcher_maps["\ref[M]"]
- M.lazy_unregister_event(/lazy_event/on_face, src, /obj/structure/cult/bloodstone/proc/checkPosition)
+ M.unregister_event(/event/face, src, /obj/structure/cult/bloodstone/proc/checkPosition)
animate(watcher_maps["\ref[M]"], alpha = 0, time = 5, easing = LINEAR_EASING)
watching_mobs = list()
@@ -1506,7 +1506,7 @@ var/list/bloodstone_list = list()
if(!(user in watching_mobs))
user.client.images -= watcher_maps["\ref[user]"]
watcher_maps -= "\ref[user]"
- user.lazy_unregister_event(/lazy_event/on_face, src, /obj/structure/cult/bloodstone/proc/checkPosition)
+ user.unregister_event(/event/face, src, /obj/structure/cult/bloodstone/proc/checkPosition)
animate(watcher_maps["\ref[user]"], alpha = 0, time = 5, easing = LINEAR_EASING)
watching_mobs -= user
@@ -1680,7 +1680,7 @@ var/list/bloodstone_list = list()
switch(dance_move)
if ("clock")
for (var/mob/M in contributors)
- M.lazy_invoke_event(/lazy_event/on_before_move)
+ M.invoke_event(/event/before_move)
switch (get_dir(src,M))
if (NORTHWEST,NORTH)
M.forceMove(get_step(M,EAST))
@@ -1694,11 +1694,11 @@ var/list/bloodstone_list = list()
if (SOUTHWEST,WEST)
M.forceMove(get_step(M,NORTH))
M.dir = NORTH
- M.lazy_invoke_event(/lazy_event/on_after_move)
- M.lazy_invoke_event(/lazy_event/on_moved, list("mover" = M))
+ M.invoke_event(/event/after_move)
+ M.invoke_event(/event/moved, list("mover" = M))
if ("counter")
for (var/mob/M in contributors)
- M.lazy_invoke_event(/lazy_event/on_before_move)
+ M.invoke_event(/event/before_move)
switch (get_dir(src,M))
if (NORTHEAST,NORTH)
M.forceMove(get_step(M,WEST))
@@ -1712,22 +1712,22 @@ var/list/bloodstone_list = list()
if (NORTHWEST,WEST)
M.forceMove(get_step(M,SOUTH))
M.dir = SOUTH
- M.lazy_invoke_event(/lazy_event/on_after_move)
- M.lazy_invoke_event(/lazy_event/on_moved, list("mover" = M))
+ M.invoke_event(/event/after_move)
+ M.invoke_event(/event/moved, list("mover" = M))
if ("spin")
for (var/mob/M in contributors)
spawn()
M.dir = SOUTH
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = EAST
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = NORTH
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = WEST
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = SOUTH
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
diff --git a/code/datums/gamemode/factions/bloodcult/bloodcult_effects.dm b/code/datums/gamemode/factions/bloodcult/bloodcult_effects.dm
index a5c6da44222..0836eda3b4d 100644
--- a/code/datums/gamemode/factions/bloodcult/bloodcult_effects.dm
+++ b/code/datums/gamemode/factions/bloodcult/bloodcult_effects.dm
@@ -652,7 +652,7 @@ var/bloodstone_backup = 0
switch(dance_move)
if ("clock")
for (var/mob/M in dancers)
- M.lazy_invoke_event(/lazy_event/on_before_move)
+ M.invoke_event(/event/before_move)
switch (get_dir(src,M))
if (NORTHWEST,NORTH)
step_to(M, get_step(M,EAST))
@@ -662,11 +662,11 @@ var/bloodstone_backup = 0
step_to(M, get_step(M,WEST))
if (SOUTHWEST,WEST)
step_to(M, get_step(M,NORTH))
- M.lazy_invoke_event(/lazy_event/on_after_move)
- M.lazy_invoke_event(/lazy_event/on_moved, list("mover" = M))
+ M.invoke_event(/event/after_move)
+ M.invoke_event(/event/moved, list("mover" = M))
if ("counter")
for (var/mob/M in dancers)
- M.lazy_invoke_event(/lazy_event/on_before_move)
+ M.invoke_event(/event/before_move)
switch (get_dir(src,M))
if (NORTHEAST,NORTH)
step_to(M, get_step(M,WEST))
@@ -676,22 +676,22 @@ var/bloodstone_backup = 0
step_to(M, get_step(M,EAST))
if (NORTHWEST,WEST)
step_to(M, get_step(M,SOUTH))
- M.lazy_invoke_event(/lazy_event/on_after_move)
- M.lazy_invoke_event(/lazy_event/on_moved, list("mover" = M))
+ M.invoke_event(/event/after_move)
+ M.invoke_event(/event/moved, list("mover" = M))
if ("spin")
for (var/mob/M in dancers)
spawn()
M.dir = SOUTH
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = EAST
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = NORTH
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = WEST
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
sleep(0.75)
M.dir = SOUTH
- M.lazy_invoke_event(/lazy_event/on_face)
+ M.invoke_event(/event/face)
diff --git a/code/datums/gamemode/role/time_agent.dm b/code/datums/gamemode/role/time_agent.dm
index 335aab8b6b8..e19fe10bf44 100644
--- a/code/datums/gamemode/role/time_agent.dm
+++ b/code/datums/gamemode/role/time_agent.dm
@@ -130,11 +130,11 @@
eviltwinrecruiter.logging = TRUE
// A player has their role set to Yes or Always
- eviltwinrecruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ eviltwinrecruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// ", but No or Never
- eviltwinrecruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ eviltwinrecruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- eviltwinrecruiter.recruited.Add(src, "recruiter_recruited")
+ eviltwinrecruiter.recruited = new /callback(src, .proc/recruiter_recruited)
eviltwinrecruiter.request_player()
if(5 to INFINITY)
@@ -142,25 +142,20 @@
// var/datum/organ/internal/teleorgan = pick(H.internal_organs)
return
-/datum/role/time_agent/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "You are a possible candidate for \a [src]'s evil twin. Get ready. ([controls])")
+/datum/role/time_agent/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "You are a possible candidate for \a [src]'s evil twin. Get ready. ([controls])")
-/datum/role/time_agent/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- if(O.client && get_role_desire_str(O.client.prefs.roles[TIMEAGENT]) != "Never")
- to_chat(O, "\a [src] is going to get shot by his evil twin. ([controls])")
+/datum/role/time_agent/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
+ if(player.client && get_role_desire_str(player.client.prefs.roles[TIMEAGENT]) != "Never")
+ to_chat(player, "\a [src] is going to get shot by his evil twin. ([controls])")
-/datum/role/time_agent/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
- if(O)
+/datum/role/time_agent/proc/recruiter_recruited(mob/dead/observer/player)
+ if(player)
qdel(eviltwinrecruiter)
eviltwinrecruiter = null
var/mob/living/carbon/human/H = new /mob/living/carbon/human
- H.ckey = O.ckey
+ H.ckey = player.ckey
H.client.changeView()
var/datum/role/time_agent/eviltwin/twin = new /datum/role/time_agent/eviltwin(H.mind, fac = src.faction)
twin.erase_target = src
diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index bedcbb7a36c..e1b0386cced 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -140,9 +140,9 @@
P.reflected = TRUE//you can now get hit by the projectile you just fired. Careful with portals!
if(curturf.z != destturf.z)
- teleatom.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = teleatom, "from_z" = curturf.z, "to_z" = destturf.z))
+ teleatom.invoke_event(/event/z_transition, list("user" = teleatom, "from_z" = curturf.z, "to_z" = destturf.z))
for(var/atom/movable/AA in recursive_type_check(teleatom))
- AA.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = AA, "from_z" = curturf.z, "to_z" = destturf.z))
+ AA.invoke_event(/event/z_transition, list("user" = AA, "from_z" = curturf.z, "to_z" = destturf.z))
if(force_teleport)
teleatom.forceMove(destturf,TRUE)
diff --git a/code/datums/map_elements.dm b/code/datums/map_elements.dm
index bf9c362d910..ec43144f739 100644
--- a/code/datums/map_elements.dm
+++ b/code/datums/map_elements.dm
@@ -87,7 +87,7 @@ var/list/datum/map_element/map_elements = list()
if(!istype(A))
return
- A.lazy_register_event(/lazy_event/on_destroyed, src, .proc/clear_references)
+ A.register_event(/event/destroyed, src, .proc/clear_references)
return A
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 2a0e7edb065..fcfb73e2c49 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -109,7 +109,7 @@
if (hasFactionsWithHUDIcons())
update_faction_icons()
- lazy_invoke_event(/lazy_event/after_mind_transfer, list("mind" = src))
+ invoke_event(/event/after_mind_transfer, list("mind" = src))
/datum/mind/proc/transfer_to_without_current(var/mob/new_character)
new_character.attack_log += "\[[time_stamp()]\]: mind transfer from a body-less observer to [new_character]"
diff --git a/code/datums/recruiter.dm b/code/datums/recruiter.dm
index 4c1371028f9..22f582d0d43 100644
--- a/code/datums/recruiter.dm
+++ b/code/datums/recruiter.dm
@@ -16,22 +16,22 @@
// Args:
// player = /mob/dead/observer
// controls = /string
- var/event/player_volunteering = new()
+ var/callback/player_volunteering
// Same, but only called when player has disabled the role.
- var/event/player_not_volunteering = new()
+ var/callback/player_not_volunteering
// Args: player = /mob/dead/observer or null
- var/event/recruited = new()
+ var/callback/recruited
/datum/recruiter/New(var/atom/_subject)
subject=_subject
/datum/recruiter/proc/recruiting_player(var/mob/dead/observer/O)
- INVOKE_EVENT(player_volunteering, list("player"=O, "controls"="Teleport | Retract"))
+ player_volunteering.invoke_async(O, "Teleport | Retract")
/datum/recruiter/proc/nonrecruiting_player(var/mob/dead/observer/O)
- INVOKE_EVENT(player_not_volunteering, list("player"=O, "controls"="Teleport | Sign up"))
+ player_not_volunteering.invoke_async(O, "Teleport | Sign up")
/datum/recruiter/proc/request_player()
currently_querying = list()
@@ -56,7 +56,7 @@
spawn(recruitment_timeout)
if(!currently_querying || currently_querying.len==0)
- INVOKE_EVENT(recruited, list("player"=null))
+ recruited.invoke_async(null)
return
var/mob/dead/observer/O
@@ -68,10 +68,10 @@
O = pick(currently_querying)
if(!check_observer(O))
- INVOKE_EVENT(recruited, list("player"=null))
+ recruited.invoke_async(null)
else
paiController.was_recruited(O)
- INVOKE_EVENT(recruited, list("player"=O))
+ recruited.invoke_async(O)
/datum/recruiter/Topic(var/href, var/list/href_list)
if(href_list["signup"])
@@ -121,4 +121,5 @@
currently_querying = null
player_volunteering = null
player_not_volunteering = null
+ recruited = null
..()
diff --git a/code/datums/shuttle.dm b/code/datums/shuttle.dm
index 91d664530e5..c88b57671d6 100644
--- a/code/datums/shuttle.dm
+++ b/code/datums/shuttle.dm
@@ -333,7 +333,7 @@
destination_port = null
return
for(var/atom/movable/AA in linked_area)
- AA.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = AA, "to_z" = D.z, "from_z" = linked_port.z))
+ AA.invoke_event(/event/z_transition, list("user" = AA, "to_z" = D.z, "from_z" = linked_port.z))
if(transit_port && get_transit_delay())
if(broadcast)
diff --git a/code/datums/tether.dm b/code/datums/tether.dm
index aec4b499562..881ae26d320 100644
--- a/code/datums/tether.dm
+++ b/code/datums/tether.dm
@@ -16,8 +16,8 @@
effective_master = master
slave = S
effective_slave = slave
- master.lazy_register_event(/lazy_event/on_moved, src, .proc/master_moved)
- master.lazy_register_event(/lazy_event/on_moved, src, .proc/slave_moved)
+ master.register_event(/event/moved, src, .proc/master_moved)
+ master.register_event(/event/moved, src, .proc/slave_moved)
if(!master.current_tethers)
master.current_tethers = list()
master.current_tethers.Add(src)
@@ -27,17 +27,17 @@
/datum/tether/Destroy()
if(effective_master != master)
- effective_master.lazy_unregister_event(/lazy_event/on_moved, src, .proc/master_moved)
+ effective_master.unregister_event(/event/moved, src, .proc/master_moved)
effective_master.current_tethers.Remove(src)
effective_master = null
- master.lazy_unregister_event(/lazy_event/on_moved, src, .proc/master_moved)
+ master.unregister_event(/event/moved, src, .proc/master_moved)
master.current_tethers.Remove(src)
master = null
if(effective_slave != slave)
- effective_slave.lazy_unregister_event(/lazy_event/on_moved, src, .proc/slave_moved)
+ effective_slave.unregister_event(/event/moved, src, .proc/slave_moved)
effective_slave.current_tethers.Remove(src)
effective_slave = null
- slave.lazy_unregister_event(/lazy_event/on_moved, src, .proc/slave_moved)
+ slave.unregister_event(/event/moved, src, .proc/slave_moved)
slave.current_tethers.Remove(src)
slave = null
..()
@@ -55,12 +55,12 @@
/datum/tether/proc/master_moved()
if(effective_master != master)
if(!isturf(effective_master.loc) || isturf(master.loc))
- effective_master.lazy_unregister_event(/lazy_event/on_moved, src, .proc/master_moved)
+ effective_master.unregister_event(/event/moved, src, .proc/master_moved)
effective_master.current_tethers.Remove(src)
effective_master = master
if(!isturf(master.loc) && effective_master == master)
effective_master = get_holder_at_turf_level(master)
- effective_master.lazy_register_event(/lazy_event/on_moved, src, .proc/master_moved)
+ effective_master.register_event(/event/moved, src, .proc/master_moved)
if(!effective_master.current_tethers)
effective_master.current_tethers = list()
effective_master.current_tethers.Add(src)
@@ -72,12 +72,12 @@
/datum/tether/proc/slave_moved()
if(effective_slave != slave)
if(!isturf(effective_slave.loc) || isturf(slave.loc))
- effective_slave.lazy_unregister_event(/lazy_event/on_moved, src, .proc/slave_moved)
+ effective_slave.unregister_event(/event/moved, src, .proc/slave_moved)
effective_slave.current_tethers.Remove(src)
effective_slave = slave
if(!isturf(slave.loc) && effective_slave == slave)
effective_slave = get_holder_at_turf_level(slave)
- effective_slave.lazy_register_event(/lazy_event/on_moved, src, .proc/slave_moved)
+ effective_slave.register_event(/event/moved, src, .proc/slave_moved)
if(!effective_slave.current_tethers)
effective_slave.current_tethers = list()
effective_slave.current_tethers.Add(src)
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 0e9d87de6e1..a840ab00603 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -499,7 +499,7 @@
to_chat(trappeduser, "With your leg missing, you slip out of the bear trap.")
trapped = 0
unlock_atom(trappeduser)
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
trappeduser = null
anchored = FALSE
return
@@ -514,7 +514,7 @@
playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
trapped = 0
unlock_atom(trappeduser)
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
trappeduser = null
anchored = FALSE
return
@@ -588,7 +588,7 @@
trapped = 0
anchored = FALSE
unlock_atom(trappeduser)
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
trappeduser = null
else
to_chat(user, "You begin to pry the bear trap off of [trappeduser.name].")
@@ -597,7 +597,7 @@
trapped = 0
anchored = FALSE
unlock_atom(trappeduser)
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
trappeduser = null
else if (istype(trappedbear))
to_chat(user, "You begin to pry the bear trap off of [trappedbear.name].")
@@ -666,7 +666,7 @@
playsound(src, 'sound/effects/snap.ogg', 60, 1)
H.audible_scream()
lock_atom(H, /datum/locking_category/beartrap)
- H.lazy_register_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ H.register_event(/event/moved, src, .proc/forcefully_remove)
if(trappedorgan.take_damage(15, 0, 25, SERRATED_BLADE & SHARP_BLADE))
H.UpdateDamageIcon()
@@ -675,7 +675,7 @@
if(!H.pick_usable_organ(trappedorgan)) //check if they lost their leg, and get them out of the trap
to_chat(H, "With your leg missing, you slip out of the bear trap!")
trapped = 0
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
trappeduser = null
unlock_atom(H)
anchored = FALSE
@@ -717,7 +717,7 @@
to_chat(trappeduser, "With your leg missing, you slip out of the bear trap.")
trapped = 0
unlock_atom(trappeduser)
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
trappeduser = null
anchored = FALSE
@@ -744,7 +744,7 @@
visible_message("The wound on [mover]'s leg worsens terribly as the trap let go of them.")
trapped = 0
unlock_atom(trappeduser)
- trappeduser.lazy_unregister_event(/lazy_event/on_moved, src, .proc/forcefully_remove)
+ trappeduser.unregister_event(/event/moved, src, .proc/forcefully_remove)
anchored = FALSE
trappeduser.update_canmove()
trappeduser = null
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 40aa41535ad..1f44495e84f 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -198,7 +198,7 @@ var/global/list/ghdel_profiling = list()
densityChanged()
/atom/proc/densityChanged()
- lazy_invoke_event(/lazy_event/on_density_change, list("atom" = src))
+ invoke_event(/event/density_change, list("atom" = src))
if(beams && beams.len) // If beams is not a list something bad happened and we want to have a runtime to lynch whomever is responsible.
beams.len = 0
if(!isturf(src))
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 3cfb5d90e29..cac7de34973 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -75,7 +75,7 @@
qdel(materials)
materials = null
- lazy_invoke_event(/lazy_event/on_destroyed, list("thing" = src))
+ invoke_event(/event/destroyed, list("thing" = src))
for (var/atom/movable/AM in locked_atoms)
unlock_atom(AM)
@@ -127,7 +127,7 @@
/atom/movable/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, var/glide_size_override = 0)
if(!loc || !NewLoc)
return 0
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
if(current_tethers && current_tethers.len)
for(var/datum/tether/master_slave/T in current_tethers)
@@ -137,7 +137,7 @@
break
if(get_exact_dist(T.effective_master, NewLoc) > T.tether_distance)
change_dir(Dir)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return 0
for(var/datum/tether/equal/restrictive/R in current_tethers)
var/atom/movable/AM
@@ -150,11 +150,11 @@
break
if(get_exact_dist(AM, NewLoc) > R.tether_distance)
change_dir(Dir)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return 0
if(timestopped)
if(!pulledby || pulledby.timestopped) //being moved by our wizard maybe?
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return 0
var/can_pull_tether = 0
@@ -162,7 +162,7 @@
if(tether.attempt_to_follow(src,NewLoc))
can_pull_tether = 1
else
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return 0
if(glide_size_override > 0)
@@ -173,7 +173,7 @@
. = ..()
update_dir()
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return
//We always split up movements into cardinals for issues with diagonal movements.
@@ -215,7 +215,7 @@
if(!loc || (loc == oldloc && oldloc != NewLoc))
last_move = 0
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return
update_client_hook(loc)
@@ -233,8 +233,8 @@
last_moved = world.time
src.move_speed = world.timeofday - src.l_move_time
src.l_move_time = world.timeofday
- lazy_invoke_event(/lazy_event/on_moved, list("mover" = src))
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/moved, list("mover" = src))
+ invoke_event(/event/after_move)
/atom/movable/search_contents_for(path,list/filter_path=null) // For vehicles
var/list/found = ..()
@@ -409,7 +409,7 @@
// harderforce is for things like lighting overlays which should only be moved in EXTREMELY specific sitations.
/atom/movable/proc/forceMove(atom/destination,var/no_tp=0, var/harderforce = FALSE, glide_size_override = 0)
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
if(glide_size_override)
glide_size = glide_size_override
var/atom/old_loc = loc
@@ -439,11 +439,11 @@
update_client_hook(loc)
- lazy_invoke_event(/lazy_event/on_moved, list("mover" = src))
+ invoke_event(/event/moved, list("mover" = src))
var/turf/T = get_turf(destination)
if(old_loc && T && old_loc.z != T.z)
- lazy_invoke_event(/lazy_event/on_z_transition, list("user" = src, "from_z" = old_loc.z, "to_z" = T.z))
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/z_transition, list("user" = src, "from_z" = old_loc.z, "to_z" = T.z))
+ invoke_event(/event/after_move)
return 1
/atom/movable/proc/update_client_hook(atom/destination)
@@ -675,7 +675,7 @@
AM.lock_atom(src, /datum/locking_category/overlay)
if (istype(master, /atom/movable))
var/atom/movable/AM = master
- AM.lazy_register_event(/lazy_event/on_destroyed, src, .proc/qdel_self)
+ AM.register_event(/event/destroyed, src, .proc/qdel_self)
verbs.len = 0
/atom/movable/overlay/proc/qdel_self(datum/thing)
@@ -685,7 +685,7 @@
if(istype(master, /atom/movable))
var/atom/movable/AM = master
AM.unlock_atom(src)
- AM.lazy_unregister_event(/lazy_event/on_destroyed, src, .proc/qdel_self)
+ AM.unregister_event(/event/destroyed, src, .proc/qdel_self)
master = null
return ..()
@@ -1157,7 +1157,7 @@
// -- trackers
/atom/movable/proc/add_tracker(var/datum/tracker/T)
- lazy_register_event(T, /datum/tracker/proc/recieve_position)
+ register_event(T, /datum/tracker/proc/recieve_position)
/datum/tracker
var/name = "Tracker"
diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm
index c72be0f63ae..a157aadda9d 100644
--- a/code/game/dna/genes/goon_powers.dm
+++ b/code/game/dna/genes/goon_powers.dm
@@ -53,13 +53,13 @@
/datum/dna/gene/basic/stealth/chameleon/activate(var/mob/M, var/connected, var/flags)
..()
- M.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ M.register_event(/event/moved, src, .proc/mob_moved)
return 1
/datum/dna/gene/basic/stealth/chameleon/deactivate(var/mob/M, var/connected, var/flags)
if(!..())
return 0
- M.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ M.unregister_event(/event/moved, src, .proc/mob_moved)
return 1
/datum/dna/gene/basic/stealth/chameleon/proc/mob_moved(var/mob/mover)
@@ -477,7 +477,7 @@
var/prevLayer = target.layer
target.plane = EFFECTS_PLANE
-
+
target.flying = 1
for(var/i=0, i maxjumprange) //to avoid going in an infinite loop
break
- lazy_invoke_event(/lazy_event/on_moved, list("mover" = src))
+ invoke_event(/event/moved, list("mover" = src))
return 0
- lazy_invoke_event(/lazy_event/on_moved, list("mover" = src))
+ invoke_event(/event/moved, list("mover" = src))
diff --git a/code/game/gamemodes/events/powercreeper.dm b/code/game/gamemodes/events/powercreeper.dm
index f38583dadae..04d2685ed21 100644
--- a/code/game/gamemodes/events/powercreeper.dm
+++ b/code/game/gamemodes/events/powercreeper.dm
@@ -179,9 +179,9 @@
else
P.growdirs &= ~get_dir(P, src)
if(dying)
- T.lazy_unregister_event(/lazy_event/on_density_change, src, .proc/proxDensityChange)
+ T.unregister_event(/event/density_change, src, .proc/proxDensityChange)
else
- T.lazy_register_event(/lazy_event/on_density_change, src, .proc/proxDensityChange)
+ T.register_event(/event/density_change, src, .proc/proxDensityChange)
/obj/structure/cable/powercreeper/proc/proxDensityChange(atom/atom)
var/turf/T = get_turf(atom)
diff --git a/code/game/gamemodes/wizard/apprentice_contract.dm b/code/game/gamemodes/wizard/apprentice_contract.dm
index c7c6efee3d5..19e15579753 100644
--- a/code/game/gamemodes/wizard/apprentice_contract.dm
+++ b/code/game/gamemodes/wizard/apprentice_contract.dm
@@ -149,27 +149,23 @@ var/list/wizard_apprentice_setups_by_name = list()
recruiter.jobban_roles = list("Syndicate")
recruiter.recruitment_timeout = 30 SECONDS
// Role set to Yes or Always
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// Role set to No or Never
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
recruiter.request_player()
-/obj/item/wizard_apprentice_contract/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\A [src] is looking for candidates. You have been added to the list of potential ghosts. ([controls])")
+/obj/item/wizard_apprentice_contract/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\A [src] is looking for candidates. You have been added to the list of potential ghosts. ([controls])")
-/obj/item/wizard_apprentice_contract/proc/recruiter_not_recruiting(var/list/args)
+/obj/item/wizard_apprentice_contract/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
to_chat(O, "\A [src] is looking for candidates. ([controls])")
-/obj/item/wizard_apprentice_contract/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/ghost = args["player"]
- if(!ghost)
+/obj/item/wizard_apprentice_contract/proc/recruiter_recruited(mob/dead/observer/player)
+ if(!player)
chosen_setup = null
polling_ghosts = FALSE
set_light(0)
@@ -180,7 +176,7 @@ var/list/wizard_apprentice_setups_by_name = list()
var/mob/living/carbon/human/apprentice = new(this_turf)
apprentice.setGender(forced_apprentice_gender || pick(MALE,FEMALE))
apprentice.randomise_appearance_for(apprentice.gender)
- apprentice.ckey = ghost.ckey
+ apprentice.ckey = player.ckey
chosen_setup.give_spells(apprentice)
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index b3484a88082..4d2e8df923a 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -120,12 +120,12 @@
user.update_inv_hands()
if(wielded)
user.visible_message("\The [user] throws \the [src] over \himself and disappears!","You throw \the [src] over yourself and disappear.")
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
user.alpha = 1 //to cloak immediately instead of on the next Life() tick
user.alphas[CLOAKINGCLOAK] = 1
else
user.visible_message("\The [user] appears out of thin air!","You take \the [src] off and become visible again.")
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
user.alpha = initial(user.alpha)
user.alphas.Remove(CLOAKINGCLOAK)
@@ -219,8 +219,8 @@
/obj/item/phylactery/Destroy()
if(bound_soul)
- bound_soul.lazy_unregister_event(/lazy_event/on_death, src, .proc/revive_soul)
- bound_soul.lazy_unregister_event(/lazy_event/on_z_transition, src, .proc/z_block)
+ bound_soul.unregister_event(/event/death, src, .proc/revive_soul)
+ bound_soul.unregister_event(/event/z_transition, src, .proc/z_block)
to_chat(bound_soul, "You feel your form begin to unwind!")
spawn(rand(5 SECONDS, 15 SECONDS))
bound_soul.dust()
@@ -284,23 +284,23 @@
/obj/item/phylactery/proc/unbind()
if(bound_soul)
- bound_soul.lazy_unregister_event(/lazy_event/on_z_transition, src, .proc/z_block)
- bound_soul.lazy_unregister_event(/lazy_event/on_death, src, .proc/revive_soul)
+ bound_soul.unregister_event(/event/z_transition, src, .proc/z_block)
+ bound_soul.unregister_event(/event/death, src, .proc/revive_soul)
bound_soul = null
update_icon()
/obj/item/phylactery/proc/bind(var/mob/to_bind)
- to_bind.lazy_register_event(/lazy_event/on_death, src, .proc/revive_soul)
- to_bind.lazy_register_event(/lazy_event/on_z_transition, src, .proc/z_block)
+ to_bind.register_event(/event/death, src, .proc/revive_soul)
+ to_bind.register_event(/event/z_transition, src, .proc/z_block)
bound_soul = to_bind
/obj/item/phylactery/proc/unbind_mind()
if(bound_mind)
- bound_mind.lazy_unregister_event(/lazy_event/after_mind_transfer, src, .proc/follow_mind)
+ bound_mind.unregister_event(/event/after_mind_transfer, src, .proc/follow_mind)
bound_mind = null
/obj/item/phylactery/proc/bind_mind(var/datum/mind/to_bind)
- to_bind.lazy_register_event(/lazy_event/after_mind_transfer, src, .proc/follow_mind)
+ to_bind.register_event(/event/after_mind_transfer, src, .proc/follow_mind)
bound_mind = to_bind
/obj/item/phylactery/proc/follow_mind(datum/mind/mind)
@@ -417,14 +417,14 @@
equip_cooldown = initial(equip_cooldown)
var/spell/fuckup/F = new
H.add_spell(/spell/fuckup)
- H.lazy_register_event(/lazy_event/on_spellcast, F, /spell/fuckup/proc/on_spellcast)
+ H.register_event(/event/spellcast, F, /spell/fuckup/proc/on_spellcast)
return ..()
/obj/item/clothing/shoes/fuckup/unequipped(mob/living/carbon/human/H, equipped_slot)
equip_cooldown = initial(equip_cooldown)
for (var/spell/fuckup/F in H.spell_list)
H.remove_spell(F)
- H.lazy_unregister_event(/lazy_event/on_spellcast, F, /spell/fuckup/proc/on_spellcast)
+ H.unregister_event(/event/spellcast, F, /spell/fuckup/proc/on_spellcast)
return ..()
// -- Fuckup boot spell
diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm
index 90e358c3b31..c0f7e6ee2b4 100644
--- a/code/game/machinery/camera/motion.dm
+++ b/code/game/machinery/camera/motion.dm
@@ -34,13 +34,13 @@
detectTime = world.time // start the clock
if (!(target in motionTargets))
motionTargets += target
- target.lazy_register_event(/lazy_event/on_destroyed, src, .proc/clearDeletedTarget)
+ target.register_event(/event/destroyed, src, .proc/clearDeletedTarget)
return 1
/obj/machinery/camera/proc/lostTarget(var/mob/target)
if (target in motionTargets)
motionTargets -= target
- target.lazy_unregister_event(/lazy_event/on_destroyed, src, .proc/clearDeletedTarget)
+ target.unregister_event(/event/destroyed, src, .proc/clearDeletedTarget)
if (motionTargets.len == 0)
cancelAlarm()
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index d6d93ff7bdb..e410e25b02d 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -100,7 +100,7 @@ var/list/obj/machinery/camera/cyborg_cams = list(
for(var/datum/action/action_datum in user_actions)
action_datum.Grant(user)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/user_moved)
+ user.register_event(/event/moved, src, .proc/user_moved)
/obj/machinery/computer/security/proc/stop_watching(mob/user)
user.cancel_camera()
@@ -108,7 +108,7 @@ var/list/obj/machinery/camera/cyborg_cams = list(
action_datum.Remove(user)
qdel(action_datum)
our_actions -= user
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/user_moved)
+ user.unregister_event(/event/moved, src, .proc/user_moved)
/obj/machinery/computer/security/proc/user_moved(mob/mover)
if(is_in_range(mover))
diff --git a/code/game/machinery/station_map.dm b/code/game/machinery/station_map.dm
index cf1581aaa7b..fb5cb1d260a 100644
--- a/code/game/machinery/station_map.dm
+++ b/code/game/machinery/station_map.dm
@@ -106,7 +106,7 @@ var/list/station_holomaps = list()
watching_mob = user
flick("station_map_activate", src)
watching_mob.client.images |= holomap_datum.station_map
- watching_mob.lazy_register_event(/lazy_event/on_face, src, /obj/machinery/station_map/proc/checkPosition)
+ watching_mob.register_event(/event/face, src, /obj/machinery/station_map/proc/checkPosition)
if(bogus)
to_chat(user, "The holomap failed to initialize. This area of space cannot be mapped.")
else
@@ -143,7 +143,7 @@ var/list/station_holomaps = list()
var/mob/M = watching_mob
spawn(5)//we give it time to fade out
M.client.images -= holomap_datum.station_map
- watching_mob.lazy_unregister_event(/lazy_event/on_face, src, /obj/machinery/station_map/proc/checkPosition)
+ watching_mob.unregister_event(/event/face, src, /obj/machinery/station_map/proc/checkPosition)
watching_mob = null
animate(holomap_datum.station_map, alpha = 0, time = 5, easing = LINEAR_EASING)
@@ -417,7 +417,7 @@ var/list/station_holomaps = list()
animate(watcher_maps["\ref[user]"], alpha = 255, time = 5, easing = LINEAR_EASING)
watching_mobs |= user
user.client.images |= watcher_maps["\ref[user]"]
- user.lazy_register_event(/lazy_event/on_face, src, /obj/machinery/station_map/proc/checkPosition)
+ user.register_event(/event/face, src, /obj/machinery/station_map/proc/checkPosition)
to_chat(user, "A hologram of the station appears before your eyes.")
@@ -432,7 +432,7 @@ var/list/station_holomaps = list()
if(M.client)
spawn(5)//we give it time to fade out
M.client.images -= watcher_maps["\ref[M]"]
- M.lazy_unregister_event(/lazy_event/on_face, src, /obj/machinery/station_map/proc/checkPosition)
+ M.unregister_event(/event/face, src, /obj/machinery/station_map/proc/checkPosition)
animate(watcher_maps["\ref[M]"], alpha = 0, time = 5, easing = LINEAR_EASING)
watching_mobs = list()
@@ -442,7 +442,7 @@ var/list/station_holomaps = list()
if(!(user in watching_mobs))
user.client.images -= watcher_maps["\ref[user]"]
watcher_maps -= "\ref[user]"
- user.lazy_unregister_event(/lazy_event/on_face, src, /obj/machinery/station_map/proc/checkPosition)
+ user.unregister_event(/event/face, src, /obj/machinery/station_map/proc/checkPosition)
animate(watcher_maps["\ref[user]"], alpha = 0, time = 5, easing = LINEAR_EASING)
watching_mobs -= user
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index ff582afb7a7..0daa1313643 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -271,14 +271,14 @@
/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/attach()
..()
- chassis.lazy_register_event(/lazy_event/on_moved, src, .proc/layCable)
+ chassis.register_event(/event/moved, src, .proc/layCable)
/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/detach()
- chassis.lazy_unregister_event(/lazy_event/on_moved, src, .proc/layCable)
+ chassis.unregister_event(/event/moved, src, .proc/layCable)
return ..()
/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/Destroy()
- chassis.lazy_unregister_event(/lazy_event/on_moved, src, .proc/layCable)
+ chassis.unregister_event(/event/moved, src, .proc/layCable)
return ..()
/obj/item/mecha_parts/mecha_equipment/tool/cable_layer/action(var/obj/item/stack/cable_coil/target)
diff --git a/code/game/objects/effects/beam.dm b/code/game/objects/effects/beam.dm
index b411a322dab..f0f8ca48e55 100644
--- a/code/game/objects/effects/beam.dm
+++ b/code/game/objects/effects/beam.dm
@@ -129,7 +129,7 @@
else
icon_state = "emitter_double_mouse_end"
-// Listener for /lazy_event/on_moved
+// Listener for /event/moved
/obj/effect/beam/proc/target_moved(atom/movable/mover)
if(master)
beam_testing("Child got target_moved! Feeding to master.")
@@ -150,7 +150,7 @@
if(A && !(A in sources) && Cross(A)) //If there is a dense atom, we're not being emitted by it, and it can cross us
Crossed(A)
-// Listener for /lazy_event/on_density_change
+// Listener for /event/density_change
/obj/effect/beam/proc/target_density_change(atom/atom)
if(master)
beam_testing("Child got target_density_change! Feeding to master.")
@@ -161,7 +161,7 @@
// Disconnect and re-emit.
disconnect()
-// Listener for /lazy_event/on_destroyed
+// Listener for /event/destroyed
/obj/effect/beam/proc/target_destroyed(datum/thing)
if(master)
beam_testing("Child got target_destroyed! Feeding to master.")
@@ -226,9 +226,9 @@
BM.target=AM
BM.update_end_icon()
if(istype(AM))
- AM.lazy_register_event(/lazy_event/on_moved, BM, .proc/target_moved)
- AM.lazy_register_event(/lazy_event/on_destroyed, BM, .proc/target_destroyed)
- AM.lazy_register_event(/lazy_event/on_density_change, BM, .proc/target_density_change)
+ AM.register_event(/event/moved, BM, .proc/target_moved)
+ AM.register_event(/event/destroyed, BM, .proc/target_destroyed)
+ AM.register_event(/event/density_change, BM, .proc/target_density_change)
BM.targetContactLoc = AM.loc
beam_testing("\ref[BM] - Connected to [AM]")
AM.beam_connect(BM)
@@ -269,8 +269,8 @@
var/obj/effect/beam/_master=get_master()
if(_master.target)
if(ismovable(_master.target))
- _master.target.lazy_unregister_event(/lazy_event/on_moved, _master, .proc/target_moved)
- _master.target.lazy_unregister_event(/lazy_event/on_destroyed, src, .proc/target_destroyed)
+ _master.target.unregister_event(/event/moved, _master, .proc/target_moved)
+ _master.target.unregister_event(/event/destroyed, src, .proc/target_destroyed)
_master.target.beam_disconnect(_master)
_master.target=null
//if(_master.next)
@@ -382,7 +382,7 @@
var/turf/T = get_turf(src)
if(T)
- T.lazy_register_event(/lazy_event/on_density_change, src, .proc/turf_density_change)
+ T.register_event(/event/density_change, src, .proc/turf_density_change)
next = spawn_child()
if(next)
@@ -428,11 +428,11 @@
/obj/effect/beam/Destroy()
var/turf/T = get_turf(src)
if(T)
- T.lazy_unregister_event(/lazy_event/on_density_change, src, .proc/turf_density_change)
+ T.unregister_event(/event/density_change, src, .proc/turf_density_change)
var/obj/effect/beam/ourselves = src
var/obj/effect/beam/ourmaster = get_master()
if(target)
- target.lazy_unregister_event(/lazy_event/on_density_change, src, .proc/target_density_change)
+ target.unregister_event(/event/density_change, src, .proc/target_density_change)
if(target.beams)
target.beams -= ourselves
for(var/obj/machinery/mirror/M in mirror_list)
diff --git a/code/game/objects/items/devices/geiger.dm b/code/game/objects/items/devices/geiger.dm
index 77379a63add..d1e1c615863 100644
--- a/code/game/objects/items/devices/geiger.dm
+++ b/code/game/objects/items/devices/geiger.dm
@@ -16,10 +16,10 @@
update_icon()
/obj/item/device/geiger_counter/pickup(mob/user)
- user.lazy_register_event(/lazy_event/on_irradiate, src, .proc/measure_rad)
+ user.register_event(/event/irradiate, src, .proc/measure_rad)
/obj/item/device/geiger_counter/dropped(mob/user)
- user.lazy_unregister_event(/lazy_event/on_irradiate, src, .proc/measure_rad)
+ user.unregister_event(/event/irradiate, src, .proc/measure_rad)
/obj/item/device/geiger_counter/proc/measure_rad(mob/living/carbon/human/user, rads)
diff --git a/code/game/objects/items/devices/holomap.dm b/code/game/objects/items/devices/holomap.dm
index fe2cde90846..9c9574f2b7a 100644
--- a/code/game/objects/items/devices/holomap.dm
+++ b/code/game/objects/items/devices/holomap.dm
@@ -22,7 +22,7 @@
//delayer = null
if (viewing)
- viewing.mob.lazy_unregister_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ viewing.mob.unregister_event(/event/logout, src, .proc/mob_logout)
..()
@@ -36,7 +36,7 @@
viewing.images -= showing
showing.Cut()
to_chat(user, "You turn off \the [src].")
- viewing.mob.lazy_unregister_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ viewing.mob.unregister_event(/event/logout, src, .proc/mob_logout)
viewing = null
return
@@ -47,14 +47,14 @@
showing = get_images(get_turf(user), viewing.view)
viewing.images |= showing
//delayer.addDelay(2 SECONDS) // Should be enough to prevent lag due to spam.
- user.lazy_register_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ user.register_event(/event/logout, src, .proc/mob_logout)
/obj/item/device/holomap/proc/mob_logout(mob/user)
if (viewing)
viewing.images -= showing
viewing = null
- user.lazy_unregister_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ user.unregister_event(/event/logout, src, .proc/mob_logout)
visible_message("\The [src] turns off.")
showing.Cut()
diff --git a/code/game/objects/items/devices/maracas.dm b/code/game/objects/items/devices/maracas.dm
index cead1669d5d..4f3e37c4753 100644
--- a/code/game/objects/items/devices/maracas.dm
+++ b/code/game/objects/items/devices/maracas.dm
@@ -21,7 +21,7 @@
src.pixel_y = rand(-5, 5) * PIXEL_MULTIPLIER
/obj/item/device/maracas/pickup(mob/user)
- user.lazy_register_event(/lazy_event/on_face, src, /obj/item/device/maracas/proc/chickchicky)
+ user.register_event(/event/face, src, /obj/item/device/maracas/proc/chickchicky)
chickchicky()
/obj/item/device/maracas/throw_impact(atom/hit_atom)
@@ -30,7 +30,7 @@
qdel(src)
/obj/item/device/maracas/dropped(mob/user)
- user.lazy_unregister_event(/lazy_event/on_face, src, /obj/item/device/maracas/proc/chickchicky)
+ user.unregister_event(/event/face, src, /obj/item/device/maracas/proc/chickchicky)
spawn(3)
chickchicky()
diff --git a/code/game/objects/items/misc_items.dm b/code/game/objects/items/misc_items.dm
index 33bd8093207..c392c8fdd38 100644
--- a/code/game/objects/items/misc_items.dm
+++ b/code/game/objects/items/misc_items.dm
@@ -17,7 +17,7 @@
stop_using(mover)
/obj/item/seeing_stone/proc/start_using(mob/user)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
user.visible_message("\The [user] holds \the [src] up to \his eye.","You hold \the [src] up to your eye.")
user.see_invisible = INVISIBILITY_MAXIMUM
user.see_invisible_override = INVISIBILITY_MAXIMUM
@@ -30,7 +30,7 @@
using = TRUE
/obj/item/seeing_stone/proc/stop_using(mob/user)
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
user.visible_message("\The [user] lowers \the [src].","You lower \the [src].")
user.see_invisible = initial(user.see_invisible)
user.see_invisible_override = 0
diff --git a/code/game/objects/items/robot/robot_items/robot_binoculars.dm b/code/game/objects/items/robot/robot_items/robot_binoculars.dm
index c2d5085d77d..78244d4447e 100644
--- a/code/game/objects/items/robot/robot_items/robot_binoculars.dm
+++ b/code/game/objects/items/robot/robot_items/robot_binoculars.dm
@@ -19,11 +19,11 @@
if(R.client)
var/client/C = R.client
if(zoom && R.is_component_functioning("camera"))
- R.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ R.register_event(/event/moved, src, .proc/mob_moved)
R.visible_message("[R]'s camera lens focuses loudly.","Your camera lens focuses loudly.")
R.regenerate_icons()
C.changeView(C.view + 4)
else
- R.lazy_unregister_event(/lazy_event/on_moved, src, .proc/moved)
+ R.unregister_event(/event/moved, src, .proc/moved)
R.regenerate_icons()
C.changeView(C.view - 4)
diff --git a/code/game/objects/items/robot/robot_items/robot_spawner.dm b/code/game/objects/items/robot/robot_items/robot_spawner.dm
index 0d5a13b5b57..e34ead75fd6 100644
--- a/code/game/objects/items/robot/robot_items/robot_spawner.dm
+++ b/code/game/objects/items/robot/robot_items/robot_spawner.dm
@@ -51,33 +51,28 @@
recruiter.role = role
recruiter.jobban_roles = jobban_roles
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
recruiter.request_player()
-/obj/item/weapon/robot_spawner/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
+/obj/item/weapon/robot_spawner/proc/recruiter_recruiting(mob/dead/observer/player, controls)
var/area/A = get_area(src)
- to_chat(O, "\The [name] activated at \the [A.name]. Get ready. ([controls])")
+ to_chat(player, "\The [name] activated at \the [A.name]. Get ready. ([controls])")
-/obj/item/weapon/robot_spawner/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
+/obj/item/weapon/robot_spawner/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
var/area/A = get_area(src)
- to_chat(O, "\The [name] activated at \the [A.name]. ([controls])")
+ to_chat(player, "\The [name] activated at \the [A.name]. ([controls])")
-/obj/item/weapon/robot_spawner/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
- if(O)
+/obj/item/weapon/robot_spawner/proc/recruiter_recruited(mob/dead/observer/player)
+ if(player)
qdel(recruiter)
recruiter = null
busy = FALSE
charge--
spark(src, 4)
var/mob/living/silicon/robot/R = new borg_type(get_turf(loc))
- R.key = O.key
+ R.key = player.key
post_recruited(R)
if(!charge && autoqdel)
qdel(src)
@@ -149,4 +144,4 @@
return attack_self(user)
/obj/item/weapon/robot_spawner/strange/egg/attack_paw(mob/user)
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/items/trader.dm b/code/game/objects/items/trader.dm
index 169e07efb95..b0e8f22c364 100644
--- a/code/game/objects/items/trader.dm
+++ b/code/game/objects/items/trader.dm
@@ -1025,10 +1025,10 @@ var/global/list/alcatraz_stuff = list(
/obj/item/vachandle/pickup(mob/user)
..()
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
/obj/item/vachandle/dropped(mob/user)
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
if(loc != myvac)
retract()
@@ -1158,11 +1158,11 @@ var/global/list/alcatraz_stuff = list(
/obj/item/pedometer/pickup(mob/user)
..()
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
/obj/item/pedometer/dropped(mob/user)
..()
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
/obj/item/pedometer/proc/mob_moved(atom/movable/mover)
var/turf/T = get_turf(src)
diff --git a/code/game/objects/items/weapons/RCL.dm b/code/game/objects/items/weapons/RCL.dm
index ba6b6769efe..a768690bf02 100644
--- a/code/game/objects/items/weapons/RCL.dm
+++ b/code/game/objects/items/weapons/RCL.dm
@@ -102,9 +102,9 @@
if(user)
if(active)
trigger(user)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/holder_moved)
+ user.register_event(/event/moved, src, .proc/holder_moved)
return
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/holder_moved)
+ user.unregister_event(/event/moved, src, .proc/holder_moved)
/obj/item/weapon/rcl/attack_self(mob/user as mob)
active = !active
diff --git a/code/game/objects/items/weapons/glowstick.dm b/code/game/objects/items/weapons/glowstick.dm
index f0b7bda8703..05d2652c6a1 100644
--- a/code/game/objects/items/weapons/glowstick.dm
+++ b/code/game/objects/items/weapons/glowstick.dm
@@ -104,11 +104,11 @@
update_icon()
/obj/item/clothing/accessory/glowstick/phazon/pickup(mob/user)
- user.lazy_register_event(/lazy_event/on_face, src, /obj/item/clothing/accessory/glowstick/phazon/proc/colorchange)
+ user.register_event(/event/face, src, /obj/item/clothing/accessory/glowstick/phazon/proc/colorchange)
/obj/item/clothing/accessory/glowstick/phazon/dropped(mob/user)
..()
- user.lazy_unregister_event(/lazy_event/on_face, src, /obj/item/clothing/accessory/glowstick/phazon/proc/colorchange)
+ user.unregister_event(/event/face, src, /obj/item/clothing/accessory/glowstick/phazon/proc/colorchange)
/obj/item/clothing/accessory/glowstick/phazon/attack_self()
colorchange()
diff --git a/code/game/objects/items/weapons/implants/exile2.dm b/code/game/objects/items/weapons/implants/exile2.dm
index c80c3bf5081..82a81db9a18 100644
--- a/code/game/objects/items/weapons/implants/exile2.dm
+++ b/code/game/objects/items/weapons/implants/exile2.dm
@@ -37,7 +37,7 @@
siteOfImplant = get_turf(theExile)
zlevels -= illegalZ
to_chat(theExile, "You shiver as you feel a weak, unsettling film surround you.")
- theExile.lazy_register_event(/lazy_event/on_moved, src, .proc/zBan)
+ theExile.register_event(/event/moved, src, .proc/zBan)
return 1
/obj/item/weapon/implant/exile/proc/zBan(atom/movable/mover)
@@ -116,7 +116,7 @@
playsound(theExile, "sound/machines/notify.ogg", 100, 1)
to_chat(theExile, "You feel a sudden shooting pain. The film-like sensation fades. Your implant has jaunted out of your body." )
imp_in = null
- theExile.lazy_unregister_event(/lazy_event/on_moved, src, .proc/zBan)
+ theExile.unregister_event(/event/moved, src, .proc/zBan)
src.forceMove(siteOfImplant)
theExile = null
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index de7a2f50898..3f8133136e6 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -371,7 +371,7 @@
armor_penetration = 100
to_chat(user, " [src] starts vibrating.")
playsound(user, 'sound/weapons/hfmachete1.ogg', 40, 0)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
else
force = initial(force)
sterility = initial(sterility)
@@ -382,11 +382,11 @@
armor_penetration = initial(armor_penetration)
to_chat(user, " [src] stops vibrating.")
playsound(user, 'sound/weapons/hfmachete0.ogg', 40, 0)
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
update_icon()
/obj/item/weapon/melee/energy/hfmachete/dropped(mob/user)
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
/obj/item/weapon/melee/energy/hfmachete/throw_at(atom/target, range, speed, override = 1)
if(!usr)
diff --git a/code/game/objects/items/weapons/null_rod.dm b/code/game/objects/items/weapons/null_rod.dm
index 6d000e04a28..e7767468f2a 100644
--- a/code/game/objects/items/weapons/null_rod.dm
+++ b/code/game/objects/items/weapons/null_rod.dm
@@ -355,28 +355,23 @@
recruiter.jobban_roles = list("pAI") // pAI/Borers share the same jobban check so here we go too.
// Role set to Yes or Always
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// Role set to No or Never
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
recruiter.request_player()
-/obj/item/weapon/nullrod/sword/chaos/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\The [name] is awakening. You have been added to the list of potential ghosts. ([controls])")
+/obj/item/weapon/nullrod/sword/chaos/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\The [name] is awakening. You have been added to the list of potential ghosts. ([controls])")
-/obj/item/weapon/nullrod/sword/chaos/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\The [src] is awakening. ([controls])")
+/obj/item/weapon/nullrod/sword/chaos/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\The [src] is awakening. ([controls])")
-/obj/item/weapon/nullrod/sword/chaos/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
- if(O)
+/obj/item/weapon/nullrod/sword/chaos/proc/recruiter_recruited(mob/dead/observer/player)
+ if(player)
possessed = TRUE
qdel(recruiter)
recruiter = null
@@ -385,7 +380,7 @@
var/mob/living/simple_animal/shade/sword/S = new(src)
S.real_name = name
S.name = name
- S.ckey = O.ckey
+ S.ckey = player.ckey
S.universal_speak = TRUE
S.universal_understand = TRUE
S.status_flags |= GODMODE //Make sure they can NEVER EVER leave the blade.
diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm
index d274b9f99f2..5756e54c4c9 100644
--- a/code/game/objects/items/weapons/scrolls.dm
+++ b/code/game/objects/items/weapons/scrolls.dm
@@ -90,12 +90,12 @@
if(!success)
tempL.Remove(attempt)
else
- user.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = user, "to_z" = user.z, "from_z" = prev_z))
+ user.invoke_event(/event/z_transition, list("user" = user, "to_z" = user.z, "from_z" = prev_z))
break
if(!success)
user.forceMove(pick(L))
- user.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = user, "to_z" = user.z, "from_z" = prev_z))
+ user.invoke_event(/event/z_transition, list("user" = user, "to_z" = user.z, "from_z" = prev_z))
smoke.start()
src.uses -= 1
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 263dc25aff7..d03a82701fd 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -132,9 +132,9 @@ obj/item/weapon/storage/bag/plasticbag/quick_store(var/obj/item/I)
to_chat(user, "You turn \the [T.name] [T.handling? "on":"off"].")
if(T.handling == TRUE)
- user.lazy_register_event(/lazy_event/on_moved, T, /obj/item/weapon/storage/bag/ore/auto/proc/mob_moved)
+ user.register_event(/event/moved, T, /obj/item/weapon/storage/bag/ore/auto/proc/mob_moved)
else
- user.lazy_unregister_event(/lazy_event/on_moved, T, /obj/item/weapon/storage/bag/ore/auto/proc/mob_moved)
+ user.unregister_event(/event/moved, T, /obj/item/weapon/storage/bag/ore/auto/proc/mob_moved)
/obj/item/weapon/storage/bag/ore/auto/proc/auto_collect(var/turf/collect_loc)
for(var/obj/item/stack/ore/ore in collect_loc.contents)
@@ -165,10 +165,10 @@ obj/item/weapon/storage/bag/plasticbag/quick_store(var/obj/item/I)
/obj/item/weapon/storage/bag/ore/auto/pickup(mob/user)
if(handling)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
/obj/item/weapon/storage/bag/ore/auto/dropped(mob/user)
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
// -----------------------------
// Plant bag
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 0ec5bcc6f55..b5624cb4332 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -201,7 +201,7 @@
/obj/item/binoculars/update_wield(mob/user)
if(wielded)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
user.visible_message("\The [user] holds \the [src] up to \his eyes.","You hold \the [src] up to your eyes.")
item_state = "binoculars_wielded"
user.regenerate_icons()
@@ -210,7 +210,7 @@
var/client/C = user.client
C.changeView(C.view + 7)
else
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
user.visible_message("\The [user] lowers \the [src].","You lower \the [src].")
item_state = "binoculars"
user.regenerate_icons()
@@ -249,9 +249,9 @@
if(user)
user.update_inv_hands()
if(wielded)
- user.lazy_register_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.register_event(/event/moved, src, .proc/mob_moved)
else
- user.lazy_unregister_event(/lazy_event/on_moved, src, .proc/mob_moved)
+ user.unregister_event(/event/moved, src, .proc/mob_moved)
/obj/item/weapon/bloodlust/attack(target as mob, mob/living/user)
if(isliving(target))
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 57b06811bd8..d36f2f12420 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -348,14 +348,14 @@ var/global/list/reagents_to_log = list(FUEL, PLASMA, PACID, SACID, AMUTATIONTOXI
return FALSE
/obj/singularity_pull(S, current_size)
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
if(anchored)
if(current_size >= STAGE_FIVE)
anchored = 0
step_towards(src, S)
else
step_towards(src, S)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
/obj/proc/multitool_menu(var/mob/user,var/obj/item/device/multitool/P)
return "NO MULTITOOL_MENU!"
diff --git a/code/game/objects/structures/ancient_cryopod.dm b/code/game/objects/structures/ancient_cryopod.dm
index d82c57cbb77..5b634f689bb 100644
--- a/code/game/objects/structures/ancient_cryopod.dm
+++ b/code/game/objects/structures/ancient_cryopod.dm
@@ -36,28 +36,23 @@
recruiter.display_name = name
recruiter.role = ROLE_MINOR
// Role set to Yes or Always
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// Role set to No or Never
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
recruiter.request_player()
else
visible_message("\The [name] flickers to life and displays an error message: 'Unable to revive occupant, enviromental pressure inadequate for sustaining human life.'")
-/obj/machinery/cryopod/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\The [name] has been activated. You have been added to the list of potential ghosts. ([controls])")
+/obj/machinery/cryopod/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\The [name] has been activated. You have been added to the list of potential ghosts. ([controls])")
-/obj/machinery/cryopod/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\The [src] has been activated. ([controls])")
+/obj/machinery/cryopod/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\The [src] has been activated. ([controls])")
-/obj/machinery/cryopod/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
- if(O)
+/obj/machinery/cryopod/proc/recruiter_recruited(mob/dead/observer/player, controls)
+ if(player)
qdel(recruiter)
recruiter = null
visible_message("\The [name] opens with a hiss of frigid air!")
@@ -68,7 +63,7 @@
var/mob/living/carbon/human/S = new(get_turf(src))
var/roll = pick(possible_roles)
role = new roll
- S.ckey = O.ckey
+ S.ckey = player.ckey
S.randomise_appearance_for()
role.gear_occupant(S)
role.special_behavior(S)
@@ -95,7 +90,7 @@
M.generate_name()
else
M.fully_replace_character_name(null,pick(preset_names))
-
+
mob_rename_self(M,title,"Pick your name")
message_admins("[key_name_admin(M)] has spawned as a [title] from an ancient cryopod.")
@@ -205,4 +200,4 @@
M.update_mutantrace()
M.update_mutations()
M.regenerate_icons()
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm
index 7d428fbd2b7..51adbe18e86 100644
--- a/code/game/objects/structures/flora/flora.dm
+++ b/code/game/objects/structures/flora/flora.dm
@@ -115,15 +115,15 @@
for(var/turf/T in circlerange(src,2))
if(T.y > y)
- T.lazy_register_event(/lazy_event/on_entered, src, .proc/give_transparency)
- T.lazy_register_event(/lazy_event/on_exited, src, .proc/remove_transparency)
+ T.register_event(/event/entered, src, .proc/give_transparency)
+ T.register_event(/event/exited, src, .proc/remove_transparency)
/obj/structure/flora/tree/Destroy()
for(var/turf/T in circlerange(src,2))
if(T.y > y)
- T.lazy_unregister_event(/lazy_event/on_entered, src, .proc/give_transparency)
- T.lazy_unregister_event(/lazy_event/on_exited, src, .proc/remove_transparency)
+ T.unregister_event(/event/entered, src, .proc/give_transparency)
+ T.unregister_event(/event/exited, src, .proc/remove_transparency)
..()
/obj/structure/flora/tree/proc/update_transparency()
diff --git a/code/game/objects/structures/mannequin.dm b/code/game/objects/structures/mannequin.dm
index 652a8f4c6e3..82d1157434c 100644
--- a/code/game/objects/structures/mannequin.dm
+++ b/code/game/objects/structures/mannequin.dm
@@ -903,9 +903,9 @@
/obj/structure/mannequin/proc/spin()
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
change_dir(turn(dir, 90))
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
/obj/structure/mannequin/verb/rotate_mannequin()
set name = "Rotate Mannequin"
diff --git a/code/game/objects/structures/vehicles/adminbus.dm b/code/game/objects/structures/vehicles/adminbus.dm
index 36523433504..298f9554c95 100644
--- a/code/game/objects/structures/vehicles/adminbus.dm
+++ b/code/game/objects/structures/vehicles/adminbus.dm
@@ -650,7 +650,7 @@
var/obj/structure/bed/chair/vehicle/adminbus/bus = owner
M.flags |= INVULNERABLE
bus.add_HUD(M)
- M.lazy_register_event(/lazy_event/on_living_login, bus, /obj/structure/bed/chair/vehicle/adminbus/proc/add_HUD)
+ M.register_event(/event/living_login, bus, /obj/structure/bed/chair/vehicle/adminbus/proc/add_HUD)
/datum/locking_category/adminbus/unlock(var/atom/movable/AM)
. = ..()
@@ -659,7 +659,7 @@
var/obj/structure/bed/chair/vehicle/adminbus/bus = owner
M.flags &= ~INVULNERABLE
bus.remove_HUD(M)
- M.lazy_unregister_event(/lazy_event/on_living_login, bus, /obj/structure/bed/chair/vehicle/adminbus/proc/add_HUD)
+ M.unregister_event(/event/living_login, bus, /obj/structure/bed/chair/vehicle/adminbus/proc/add_HUD)
/obj/structure/bed/chair/vehicle/adminbus/acidable()
return 0
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index fa66b710a12..4f7edcc131a 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -127,7 +127,7 @@
/turf/Exited(atom/movable/mover, atom/newloc)
..()
- lazy_invoke_event(/lazy_event/on_exited, list("mover" = mover, "location" = src, "newloc" = newloc))
+ invoke_event(/event/exited, list("mover" = mover, "location" = src, "newloc" = newloc))
/turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area)
if (!mover)
@@ -177,7 +177,7 @@
A.inertia_dir = 0
..()
- lazy_invoke_event(/lazy_event/on_entered, list("mover" = A, "location" = src, "oldloc" = OldLoc))
+ invoke_event(/event/entered, list("mover" = A, "location" = src, "oldloc" = OldLoc))
var/objects = 0
if(A && A.flags & PROXMOVE)
for(var/atom/Obj in range(1, src))
@@ -251,9 +251,9 @@
if(!move_to_z)
return
- A.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = A, "from_z" = A.z, "to_z" = move_to_z))
+ A.invoke_event(/event/z_transition, list("user" = A, "from_z" = A.z, "to_z" = move_to_z))
for(var/atom/movable/AA in contents_brought)
- AA.lazy_invoke_event(/lazy_event/on_z_transition, list("user" = AA, "from_z" = AA.z, "to_z" = move_to_z))
+ AA.invoke_event(/event/z_transition, list("user" = AA, "from_z" = AA.z, "to_z" = move_to_z))
A.z = move_to_z
if(src.x <= TRANSITIONEDGE)
@@ -283,9 +283,9 @@
var/obj/item/projectile/P = A
P.reset()//fixing linear projectile movement
- A.lazy_invoke_event(/lazy_event/on_post_z_transition, list("user" = A, "from_z" = A.z, "to_z" = move_to_z))
+ A.invoke_event(/event/post_z_transition, list("user" = A, "from_z" = A.z, "to_z" = move_to_z))
for(var/atom/movable/AA in contents_brought)
- AA.lazy_invoke_event(/lazy_event/on_post_z_transition, list("user" = AA, "from_z" = AA.z, "to_z" = move_to_z))
+ AA.invoke_event(/event/post_z_transition, list("user" = AA, "from_z" = AA.z, "to_z" = move_to_z))
if(A && A.opacity)
has_opaque_atom = TRUE // Make sure to do this before reconsider_lights(), incase we're on instant updates. Guaranteed to be on in this case.
diff --git a/code/modules/RCD/RPD.dm b/code/modules/RCD/RPD.dm
index 6bfb79a243b..b4cb413c23c 100644
--- a/code/modules/RCD/RPD.dm
+++ b/code/modules/RCD/RPD.dm
@@ -82,11 +82,11 @@
/obj/item/device/rcd/rpd/pickup(var/mob/living/L)
..()
- L.lazy_register_event(/lazy_event/on_clickon, src, .proc/mob_onclickon)
+ L.register_event(/event/clickon, src, .proc/mob_onclickon)
/obj/item/device/rcd/rpd/dropped(var/mob/living/L)
..()
- L.lazy_unregister_event(/lazy_event/on_clickon, src, .proc/mob_onclickon)
+ L.unregister_event(/event/clickon, src, .proc/mob_onclickon)
hook_key = null
// If the RPD is held, some modifiers are removed.
diff --git a/code/modules/clothing/accessories/accessory.dm b/code/modules/clothing/accessories/accessory.dm
index f50da4a0262..783832481fd 100644
--- a/code/modules/clothing/accessories/accessory.dm
+++ b/code/modules/clothing/accessories/accessory.dm
@@ -391,11 +391,11 @@
_color = "jinglebells"
/obj/item/clothing/accessory/jinglebells/pickup(mob/user)
- user.lazy_register_event(/lazy_event/on_face, src, /obj/item/clothing/accessory/jinglebells/proc/jingle)
+ user.register_event(/event/face, src, /obj/item/clothing/accessory/jinglebells/proc/jingle)
jingle()
/obj/item/clothing/accessory/jinglebells/dropped(mob/user)
- user.lazy_unregister_event(/lazy_event/on_face, src, /obj/item/clothing/accessory/jinglebells/proc/jingle)
+ user.unregister_event(/event/face, src, /obj/item/clothing/accessory/jinglebells/proc/jingle)
/obj/item/clothing/accessory/jinglebells/proc/jingle()
var/turf/T = get_turf(src)
@@ -437,17 +437,17 @@
update_icon()
to_chat(user, "You hear \the [src] tick!")
- user.lazy_unregister_event(/lazy_event/on_irradiate, src, .proc/check_rads)
+ user.unregister_event(/event/irradiate, src, .proc/check_rads)
/obj/item/clothing/accessory/rad_patch/on_attached(obj/item/clothing/C)
..()
if(ismob(C.loc) && !triggered)
var/mob/user = C.loc
- user.lazy_register_event(/lazy_event/on_irradiate, src, .proc/check_rads)
+ user.register_event(/event/irradiate, src, .proc/check_rads)
/obj/item/clothing/accessory/rad_patch/on_removed(mob/user)
..()
- user?.lazy_unregister_event(/lazy_event/on_irradiate, src, .proc/check_rads)
+ user?.unregister_event(/event/irradiate, src, .proc/check_rads)
/obj/item/clothing/accessory/rad_patch/examine(mob/user)
..(user)
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index fc9a3f0f7fe..2db75a07bf3 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -646,8 +646,8 @@ var/list/science_goggles_wearers = list()
/obj/item/clothing/glasses/emitter/proc/enable()
if (istype(emitter))
- emitter.lazy_register_event(/lazy_event/on_before_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_start)
- emitter.lazy_register_event(/lazy_event/on_after_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_end)
+ emitter.register_event(/event/before_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_start)
+ emitter.register_event(/event/after_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_end)
update_emitter()
/obj/item/clothing/glasses/emitter/proc/disable()
@@ -655,8 +655,8 @@ var/list/science_goggles_wearers = list()
qdel(beam)
beam = null
if (emitter)
- emitter.lazy_unregister_event(/lazy_event/on_before_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_start)
- emitter.lazy_unregister_event(/lazy_event/on_after_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_end)
+ emitter.unregister_event(/event/before_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_start)
+ emitter.unregister_event(/event/after_move, src, /obj/item/clothing/glasses/emitter/proc/update_emitter_end)
emitter = null
/obj/item/clothing/glasses/emitter/process()
diff --git a/code/modules/clothing/glasses/scanners.dm b/code/modules/clothing/glasses/scanners.dm
index 86a917da1f1..3faa8406ba1 100644
--- a/code/modules/clothing/glasses/scanners.dm
+++ b/code/modules/clothing/glasses/scanners.dm
@@ -226,11 +226,11 @@
clear()
if (viewing)
- viewing.lazy_unregister_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ viewing.unregister_event(/event/logout, src, .proc/mob_logout)
viewing = null
if (new_mob)
- new_mob.lazy_register_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ new_mob.register_event(/event/logout, src, .proc/mob_logout)
viewing = new_mob
/obj/item/clothing/glasses/scanner/material/proc/mob_logout(mob/user)
@@ -238,7 +238,7 @@
return
clear()
- viewing.lazy_unregister_event(/lazy_event/on_logout, src, .proc/mob_logout)
+ viewing.unregister_event(/event/logout, src, .proc/mob_logout)
viewing = null
/obj/item/clothing/glasses/scanner/material/proc/get_images(var/turf/T, var/view)
diff --git a/code/modules/clothing/spacesuits/rig_modules/rig_modules.dm b/code/modules/clothing/spacesuits/rig_modules/rig_modules.dm
index 571d938a713..d86dcda7e50 100644
--- a/code/modules/clothing/spacesuits/rig_modules/rig_modules.dm
+++ b/code/modules/clothing/spacesuits/rig_modules/rig_modules.dm
@@ -232,7 +232,7 @@
rig.armor["rad"] = 100
say_to_wearer("[src] enabled.")
- rig.wearer.lazy_register_event(/lazy_event/on_irradiate, src, .proc/absorb_rads)
+ rig.wearer.register_event(/event/irradiate, src, .proc/absorb_rads)
..()
/obj/item/rig_module/rad_shield/deactivate()
@@ -244,12 +244,12 @@
rig?.armor["rad"] = initial_suit
say_to_wearer("[src] disabled.")
- rig.wearer?.lazy_unregister_event(/lazy_event/on_irradiate, src, .proc/absorb_rads)
+ rig.wearer?.unregister_event(/event/irradiate, src, .proc/absorb_rads)
..()
/obj/item/rig_module/rad_shield/proc/absorb_rads(mob/living/carbon/human/user, rads)
if(rig?.wearer != user) //Well lad.
- user.lazy_unregister_event(/lazy_event/on_irradiate, src, .proc/absorb_rads)
+ user.unregister_event(/event/irradiate, src, .proc/absorb_rads)
return
if(rig.H)
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 03adc783921..89fe1f9521a 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -927,16 +927,6 @@ obj/item/clothing/suit/cassock
body_parts_covered = FULL_TORSO|IGNORE_INV
actions_types = list(/datum/action/item_action/toggle_bomber_vest)
var/active = 0
- //That's right, we're using events for this vest to avoid hardcoding it everywhere
- var/event_key_touched
- var/event_key_bumping
- var/event_key_bumped
-
-/obj/item/clothing/suit/bomber_vest/Destroy()
- ..()
- event_key_touched = null
- event_key_bumping = null
- event_key_bumped = null
/obj/item/clothing/suit/bomber_vest/proc/activate_vest()
var/mob/living/carbon/human/H = loc
@@ -947,18 +937,39 @@ obj/item/clothing/suit/cassock
if(!(H.wear_suit == src))
return
active = 1
- event_key_touched = H.on_touched.Add(src, "detonate")
- event_key_bumping = H.on_bumping.Add(src, "detonate")
- event_key_bumped = H.on_bumped.Add(src, "detonate")
+ H.register_event(/event/touched, src, .proc/on_touched)
+ H.register_event(/event/hitby, src, .proc/on_hitby)
+ H.register_event(/event/attacked_by, src, .proc/on_attacked_by)
+ H.register_event(/event/unarmed_attack, src, .proc/on_unarmed_attack)
+ H.register_event(/event/to_bump, src, .proc/on_to_bump)
+ H.register_event(/event/bumped, src, .proc/on_bumped)
canremove = 0
+/obj/item/clothing/suit/bomber_vest/proc/on_touched(mob/toucher, mob/touched)
+ if(toucher == touched) //No bombing ourselves by checking ourselves
+ return
+ detonate()
+/obj/item/clothing/suit/bomber_vest/proc/on_hitby(mob/victim, obj/item/item)
+ detonate()
+/obj/item/clothing/suit/bomber_vest/proc/on_attacked_by(mob/attacker, mob/attacked, mob/item)
+ detonate()
+/obj/item/clothing/suit/bomber_vest/proc/on_unarmed_attack(mob/attacker, mob/attacked)
+ detonate()
+/obj/item/clothing/suit/bomber_vest/proc/on_to_bump(atom/movable/bumper, atom/bumped)
+ detonate()
+/obj/item/clothing/suit/bomber_vest/proc/on_bumped(atom/movable/bumper, atom/bumped)
+ detonate()
+
/obj/item/clothing/suit/bomber_vest/proc/deactivate_vest()
active = 0
var/mob/living/carbon/human/H = loc
if(H)
- H.on_touched.Remove(event_key_touched)
- H.on_bumping.Remove(event_key_bumping)
- H.on_bumped.Remove(event_key_bumped)
+ H.unregister_event(/event/touched, src, .proc/on_touched)
+ H.unregister_event(/event/hitby, src, .proc/on_hitby)
+ H.unregister_event(/event/unarmed_attack, src, .proc/on_attacked_by)
+ H.unregister_event(/event/unarmed_attack, src, .proc/on_unarmed_attack)
+ H.unregister_event(/event/to_bump, src, .proc/on_to_bump)
+ H.unregister_event(/event/bumped, src, .proc/on_bumped)
/obj/item/clothing/suit/bomber_vest/examine(mob/user)
..()
@@ -968,7 +979,7 @@ obj/item/clothing/suit/cassock
/obj/item/clothing/suit/bomber_vest/suicide_act(var/mob/living/user)
if (!active) //no explosion with no active vest, dummy
return
-
+
var/message_say = user.handle_suicide_bomb_cause()
to_chat(viewers(user), "[user] activates the [src]! It looks like \he's going out with a bang!")
user.say(message_say)
@@ -977,13 +988,10 @@ obj/item/clothing/suit/cassock
qdel(src) //Just in case
return SUICIDE_ACT_CUSTOM
-/obj/item/clothing/suit/bomber_vest/proc/detonate(list/arguments)
+/obj/item/clothing/suit/bomber_vest/proc/detonate()
var/mob/living/carbon/human/H = loc
- var/whitelist = arguments["has been touched by"]
if(!ishuman(H) || !active)
return
- if(whitelist == H) //No bombing ourselves by checking ourselves
- return
explosion(H, 1, 3, 6)
message_admins("[H] has detonated \the [src]!")
qdel(src) //Just in case
diff --git a/code/modules/clothing/suits/plate_carrier.dm b/code/modules/clothing/suits/plate_carrier.dm
index 85fa0588b25..312a47a2893 100644
--- a/code/modules/clothing/suits/plate_carrier.dm
+++ b/code/modules/clothing/suits/plate_carrier.dm
@@ -26,12 +26,12 @@
/obj/item/clothing/suit/armor/plate_carrier/equipped(var/mob/user, var/slot)
..()
if(slot == slot_wear_suit)
- user.lazy_register_event(/lazy_event/on_damaged, src, .proc/handle_user_damage)
+ user.register_event(/event/damaged, src, .proc/handle_user_damage)
/obj/item/clothing/suit/armor/plate_carrier/unequipped(mob/user, var/from_slot = null)
if(from_slot == slot_wear_suit)
- user.lazy_unregister_event(/lazy_event/on_damaged, src, .proc/handle_user_damage)
+ user.unregister_event(/event/damaged, src, .proc/handle_user_damage)
..()
/obj/item/clothing/suit/armor/plate_carrier/attack_self(mob/user)
diff --git a/code/modules/events/prisonershipment.dm b/code/modules/events/prisonershipment.dm
index 8000d246ce4..727b3c02a62 100644
--- a/code/modules/events/prisonershipment.dm
+++ b/code/modules/events/prisonershipment.dm
@@ -6,7 +6,7 @@ var/list/current_prisoners = list()
/datum/event/prisontransfer
var/datum/recruiter/recruiter = null //for prisoner shit
-/datum/event/prisontransfer/can_start(var/list/active_with_role)
+/datum/event/prisontransfer/can_start(var/list/active_with_role)
if(active_with_role["Security"] > 2)
return 15
return 0
@@ -21,30 +21,25 @@ var/list/current_prisoners = list()
recruiter.jobban_roles = list("minor roles") //has anyone even been banned from minor roles?
// Role set to Yes or Always
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// Role set to No or Never
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
recruiter.request_player()
-
-
-/datum/event/prisontransfer/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "A prisoner is about to be sent to the station. You have been added to the list of potential ghosts. ([controls])")
-
-/datum/event/prisontransfer/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "A prisoner is about to be sent to the station. ([controls])")
-/datum/event/prisontransfer/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
+/datum/event/prisontransfer/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "A prisoner is about to be sent to the station. You have been added to the list of potential ghosts. ([controls])")
+
+/datum/event/prisontransfer/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "A prisoner is about to be sent to the station. ([controls])")
+
+
+/datum/event/prisontransfer/proc/recruiter_recruited(mob/dead/observer/player)
can_request_prisoner = TRUE //This is set to false by the prisoner role if we exceed the limit.
- if(O)
+ if(player)
qdel(recruiter)
recruiter = null
@@ -52,7 +47,7 @@ var/list/current_prisoners = list()
//Make the prisoner
var/mob/living/carbon/human/H = new /mob/living/carbon/human
- H.ckey = O.ckey
+ H.ckey = player.ckey
H.client.changeView()
var/species = pickweight(list(
"Human" = 4,
@@ -119,17 +114,17 @@ var/list/current_prisoners = list()
sleep(150)
if(!can_move_shuttle())
continue
-
+
sleep(50) //everyone is off, wait 5 more seconds so people don't get ZAS'd out the airlock
- if(!can_move_shuttle())
+ if(!can_move_shuttle())
continue
if(!transport_shuttle.move_to_dock(centcomdock))
message_admins("The transport shuttle couldn't return to centcomm for some reason.")
return
-
+
//putting it in a proc like this just cleans things up, this is identical to the checks for the cargo shuttle except mimics arent allowed
-/datum/event/prisontransfer/proc/can_move_shuttle()
- var/contents = get_contents_in_object(transport_shuttle.linked_area)
+/datum/event/prisontransfer/proc/can_move_shuttle()
+ var/contents = get_contents_in_object(transport_shuttle.linked_area)
if (locate(/mob/living) in contents)
return FALSE
if (locate(/obj/item/weapon/disk/nuclear) in contents)
diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm
index ea8570d594f..673d065952e 100644
--- a/code/modules/hydroponics/spreading/spreading.dm
+++ b/code/modules/hydroponics/spreading/spreading.dm
@@ -42,20 +42,20 @@
var/mob/V = locate(/mob) in get_locked(/datum/locking_category/plantsegment)
unlock_atom(V)
- lazy_unregister_event(/lazy_event/on_before_move, src, /obj/effect/plantsegment/proc/before_moving)
- lazy_unregister_event(/lazy_event/on_after_move, src, /obj/effect/plantsegment/proc/after_moving)
+ unregister_event(/event/before_move, src, /obj/effect/plantsegment/proc/before_moving)
+ unregister_event(/event/after_move, src, /obj/effect/plantsegment/proc/after_moving)
before_moving()
..()
/obj/effect/plantsegment/proc/before_moving()
for(var/direc in cardinal)
var/turf/T = get_step(src, direc)
- T.lazy_unregister_event(/lazy_event/on_density_change, src, .proc/proxDensityChange)
+ T.unregister_event(/event/density_change, src, .proc/proxDensityChange)
/obj/effect/plantsegment/proc/after_moving()
for(var/direc in cardinal)
var/turf/T = get_step(src, direc)
- T.lazy_register_event(/lazy_event/on_density_change, src, .proc/proxDensityChange)
+ T.register_event(/event/density_change, src, .proc/proxDensityChange)
/obj/effect/plantsegment/New(var/newloc, var/datum/seed/newseed, var/turf/newepicenter, var/start_fully_mature = 0)
..()
@@ -91,8 +91,8 @@
health = max_health
mature_time = 0
- lazy_register_event(/lazy_event/on_before_move, src, /obj/effect/plantsegment/proc/before_moving)
- lazy_register_event(/lazy_event/on_after_move, src, /obj/effect/plantsegment/proc/after_moving)
+ register_event(/event/before_move, src, /obj/effect/plantsegment/proc/before_moving)
+ register_event(/event/after_move, src, /obj/effect/plantsegment/proc/after_moving)
after_moving()
spawn(1) // Plants will sometimes be spawned in the turf adjacent to the one they need to end up in, for the sake of correct dir/etc being set.
diff --git a/code/modules/hydroponics/spreading/spreading_response.dm b/code/modules/hydroponics/spreading/spreading_response.dm
index b8f616b8f05..a263bf7fe49 100644
--- a/code/modules/hydroponics/spreading/spreading_response.dm
+++ b/code/modules/hydroponics/spreading/spreading_response.dm
@@ -145,7 +145,7 @@
if(!istype(M))
return
- M.lazy_register_event(/lazy_event/on_resist, src, .proc/manual_unbuckle)
+ M.register_event(/event/resist, src, .proc/manual_unbuckle)
last_special = world.time
@@ -157,7 +157,7 @@
if(!istype(M))
return
- M.lazy_unregister_event(/lazy_event/on_resist, src, .proc/manual_unbuckle)
+ M.unregister_event(/event/resist, src, .proc/manual_unbuckle)
/obj/effect/plantsegment/proc/entangle_mob(var/mob/living/victim)
if(!victim || victim.locked_to || !seed || seed.spread != 2 || is_locking(/datum/locking_category/plantsegment)) //How much of this is actually necessary, I wonder
diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm
index 69c2d9a6c5f..f166b65025b 100644
--- a/code/modules/mob/death.dm
+++ b/code/modules/mob/death.dm
@@ -33,7 +33,7 @@
/mob/proc/death(gibbed)
timeofdeath = world.time
- lazy_invoke_event(/lazy_event/on_death, list("user" = src, "body_destroyed" = gibbed))
+ invoke_event(/event/death, list("user" = src, "body_destroyed" = gibbed))
living_mob_list -= src
dead_mob_list += src
stat_collection.add_death_stat(src)
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 9820e0e6330..89cac16e85b 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -378,7 +378,7 @@
update_inv_wear_mask()
else
return 0
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
if(success)
if(client)
client.screen -= W
diff --git a/code/modules/mob/living/carbon/alien/humanoid/inventory.dm b/code/modules/mob/living/carbon/alien/humanoid/inventory.dm
index eaafc774bfe..47c6914bb43 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/inventory.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/inventory.dm
@@ -52,13 +52,13 @@
success = 1
slot = slot_r_store
update_inv_pockets()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else if (W == l_store)
l_store = null
success = 1
slot = slot_l_store
update_inv_pockets()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else
success = ..()
diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm
index 3b6b51a5298..8b1d2a2044f 100644
--- a/code/modules/mob/living/carbon/brain/posibrain.dm
+++ b/code/modules/mob/living/carbon/brain/posibrain.dm
@@ -42,31 +42,26 @@
recruiter.logging = TRUE
// A player has their role set to Yes or Always
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// ", but No or Never
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
recruiter.request_player()
-/obj/item/device/mmi/posibrain/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "You are a possible candidate for \a [src]. Get ready. ([controls])")
- investigation_log(I_GHOST, "|| had a ghost automatically sign up to become its personality: [key_name(O)][O.locked_to ? ", who was haunting [O.locked_to]" : ""]")
+/obj/item/device/mmi/posibrain/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "You are a possible candidate for \a [src]. Get ready. ([controls])")
+ investigation_log(I_GHOST, "|| had a ghost automatically sign up to become its personality: [key_name(player)][player.locked_to ? ", who was haunting [player.locked_to]" : ""]")
-/obj/item/device/mmi/posibrain/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- if(O.client && get_role_desire_str(O.client.prefs.roles[ROLE_POSIBRAIN]) != "Never")
- to_chat(O, "Someone is requesting a personality for \a [src]. ([controls])")
+/obj/item/device/mmi/posibrain/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
+ if(player.client && get_role_desire_str(player.client.prefs.roles[ROLE_POSIBRAIN]) != "Never")
+ to_chat(player, "Someone is requesting a personality for \a [src]. ([controls])")
-/obj/item/device/mmi/posibrain/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
- if(O)
- transfer_personality(O)
+/obj/item/device/mmi/posibrain/proc/recruiter_recruited(mob/dead/observer/player)
+ if(player)
+ transfer_personality(player)
reset_search()
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 3ed0d4163cb..8c33cf2061d 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -23,13 +23,13 @@
if(istype(AM, /mob/living/carbon))
var/mob/living/carbon/C = AM
C.handle_symptom_on_touch(src, AM, BUMP)
- INVOKE_EVENT(on_bumping, list("user" = src, "bumped" = AM))
+ invoke_event(/event/to_bump, list("bumper" = src, "bumped" = AM))
/mob/living/carbon/Bumped(var/atom/movable/AM)
..()
if(!istype(AM, /mob/living/carbon))
handle_symptom_on_touch(AM, src, BUMP)
- INVOKE_EVENT(on_bumped, list("user" = src, "bumping" = AM))
+ invoke_event(/event/bumped, list("bumper" = AM, "bumped" = src))
/mob/living/carbon/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0)
. = ..()
@@ -104,7 +104,7 @@
to_chat(M, "You can't use your [temp.display_name]")
return
handle_symptom_on_touch(M, src, HAND)
- INVOKE_EVENT(on_touched, list("user" = src, "has been touched by" = M))
+ invoke_event(/event/touched, list("toucher" = M, "touched" = src))
/mob/living/carbon/electrocute_act(const/shock_damage, const/obj/source, const/siemens_coeff = 1.0, var/def_zone = null, var/incapacitation_duration = 20 SECONDS)
if(incapacitation_duration <= 0)
diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm
index 2f0e8eeb383..ea00f0855f0 100644
--- a/code/modules/mob/living/carbon/carbon_defines.dm
+++ b/code/modules/mob/living/carbon/carbon_defines.dm
@@ -32,10 +32,10 @@
/mob/living/carbon/New(var/new_loc, var/new_species_name = null, var/delay_ready_dna=0)
..()
hud_list[CONVERSION_HUD] = image('icons/mob/hud.dmi', src, "hudblank")
- lazy_register_event(/lazy_event/on_after_move, src, /mob/living/carbon/proc/update_holomaps)
+ register_event(/event/after_move, src, /mob/living/carbon/proc/update_holomaps)
/mob/living/carbon/Destroy()
- lazy_unregister_event(/lazy_event/on_after_move, src, /mob/living/carbon/proc/update_holomaps)
+ unregister_event(/event/after_move, src, /mob/living/carbon/proc/update_holomaps)
if (mutual_handcuffs && mutual_handcuffed_to)
mutual_handcuffs.remove_mutual_cuff_events(mutual_handcuffed_to)
. = ..()
diff --git a/code/modules/mob/living/carbon/combat.dm b/code/modules/mob/living/carbon/combat.dm
index 01246690d26..c6fdaa973a8 100644
--- a/code/modules/mob/living/carbon/combat.dm
+++ b/code/modules/mob/living/carbon/combat.dm
@@ -7,7 +7,7 @@
return TRUE
else
to_chat(src, "You fail to catch \the [I]!")
- INVOKE_EVENT(on_touched, list("user" = src, "hit by" = I))
+ invoke_event(/event/hitby, list("victim" = src, "item" = I))
return ..()
/mob/living/carbon/proc/can_catch(var/obj/item/I, var/speed)
@@ -74,7 +74,7 @@
add_logs(user, src, "damaged", admin=1, object=I, addition="DMG: [max(damage - armor, 0)]")
apply_damage(damage, I.damtype, affecting, armor , I.is_sharp(), used_weapon = I)
- INVOKE_EVENT(on_touched, list("user" = src, "attacked by" = I))
+ invoke_event(/event/attacked_by, list("attacked" = src, "attacker" = user, "item" = I))
return TRUE
/mob/living/carbon/proc/check_shields(var/damage = 0, var/atom/A)
diff --git a/code/modules/mob/living/carbon/complex/martian/inventory.dm b/code/modules/mob/living/carbon/complex/martian/inventory.dm
index 9d07a9efa27..e5899c9eabb 100644
--- a/code/modules/mob/living/carbon/complex/martian/inventory.dm
+++ b/code/modules/mob/living/carbon/complex/martian/inventory.dm
@@ -85,7 +85,7 @@
head = null
success = 1
update_inv_head()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else
success = ..()
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 5c1db1605b2..079631c5ed9 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -232,8 +232,8 @@
update_mutantrace()
- lazy_register_event(/lazy_event/on_equipped, src, .proc/update_name)
- lazy_register_event(/lazy_event/on_unequipped, src, .proc/update_name)
+ register_event(/event/equipped, src, .proc/update_name)
+ register_event(/event/unequipped, src, .proc/update_name)
/mob/living/carbon/human/proc/update_name()
name = get_visible_name()
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index 7330a557e5e..415d4780149 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -56,7 +56,7 @@
amount = amount * brute_damage_modifier
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRUTE, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BRUTE, "amount" = amount)))
return 0
if(amount > 0)
@@ -68,7 +68,7 @@
/mob/living/carbon/human/adjustFireLoss(var/amount)
amount = amount * burn_damage_modifier
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BURN, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BURN, "amount" = amount)))
return 0
if(amount > 0)
@@ -83,7 +83,7 @@
/mob/living/carbon/human/proc/adjustBruteLossByPart(var/amount, var/organ_name, var/obj/damage_source = null)
amount = amount * brute_damage_modifier
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRUTE, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BRUTE, "amount" = amount)))
return 0
if (organ_name in organs_by_name)
@@ -100,7 +100,7 @@
/mob/living/carbon/human/proc/adjustFireLossByPart(var/amount, var/organ_name, var/obj/damage_source = null)
amount = amount * burn_damage_modifier
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BURN, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BURN, "amount" = amount)))
return 0
if (organ_name in organs_by_name)
@@ -137,7 +137,7 @@
if(isslimeperson(src))
amount = 0
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = CLONE, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = CLONE, "amount" = amount)))
return 0
var/heal_prob = max(0, 80 - getCloneLoss())
@@ -375,7 +375,7 @@ This function restores all organs.
if(blocked)
damage = (damage/100)*(100-blocked)
- if(!ignore_events && lazy_invoke_event(/lazy_event/on_damaged, list("kind" = damagetype, "amount" = damage)))
+ if(!ignore_events && invoke_event(/event/damaged, list("kind" = damagetype, "amount" = damage)))
return 0
switch(damagetype)
@@ -494,7 +494,7 @@ This function restores all organs.
if(species.flags & RAD_IMMUNE)
return
if(application == RAD_EXTERNAL)
- lazy_invoke_event(/lazy_event/on_irradiate, list("user" = src, "rads" = rads))
+ invoke_event(/event/irradiate, list("user" = src, "rads" = rads))
if(reagents)
if(reagents.has_reagent(LITHOTORCRAZINE))
rads /= 2
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 274b9e374ed..030d02b6786 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -484,8 +484,8 @@ emp_act
var/damage_blocked = 0
//INVOKE_EVENT may return null sometimes - this doesn't work nice with bitflags (which is what's being done here). Hence the !! operator - it turns a null into a 0.
- var/brute_resolved = !!lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRUTE, "amount" = b_loss))
- var/burn_resolved = !!lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BURN, "amount" = f_loss))
+ var/brute_resolved = !!invoke_event(/event/damaged, list("kind" = BRUTE, "amount" = b_loss))
+ var/burn_resolved = !!invoke_event(/event/damaged, list("kind" = BURN, "amount" = f_loss))
damage_blocked |= (brute_resolved | burn_resolved)
if(damage_blocked)
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index b502788846e..9f95a4e6fb2 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -348,7 +348,7 @@
else
return 0
// Call update_name AFTER the inventory gets updated.
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
if(success)
update_hidden_item_icons(W)
@@ -500,7 +500,7 @@
W.equipped(src, slot)
if(client)
client.screen |= W
- lazy_invoke_event(/lazy_event/on_equipped, list(W, slot))
+ invoke_event(/event/equipped, list(W, slot))
/mob/living/carbon/human/get_multitool(var/active_only=0)
if(istype(get_active_hand(),/obj/item/device/multitool))
diff --git a/code/modules/mob/living/carbon/monkey/inventory.dm b/code/modules/mob/living/carbon/monkey/inventory.dm
index a79995acf40..ea77878aaea 100644
--- a/code/modules/mob/living/carbon/monkey/inventory.dm
+++ b/code/modules/mob/living/carbon/monkey/inventory.dm
@@ -102,19 +102,19 @@
success = 1
slot = slot_head
update_inv_hat()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else if(W == glasses)
glasses = null
success = 1
slot = slot_glasses
update_inv_glasses()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else if(W == uniform)
uniform = null
success = 1
slot = slot_w_uniform
update_inv_uniform()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else
success = ..()
if(success)
diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm
index 20133578f9f..cf363a2ec30 100644
--- a/code/modules/mob/living/carbon/monkey/life.dm
+++ b/code/modules/mob/living/carbon/monkey/life.dm
@@ -82,9 +82,9 @@
if(prob(33) && canmove && isturf(loc) && !pulledby && !(grabbed_by?.len)) //won't move if being pulled
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
step(src, pick(cardinal))
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
if(prob(1))
passive_emote()
diff --git a/code/modules/mob/living/combat.dm b/code/modules/mob/living/combat.dm
index 9ae5f655545..2972bd2f966 100644
--- a/code/modules/mob/living/combat.dm
+++ b/code/modules/mob/living/combat.dm
@@ -130,7 +130,8 @@
target.unarmed_attacked(src, damage, damage_type, zone)
after_unarmed_attack(target, damage, damage_type, affecting, armor_block)
- INVOKE_EVENT(on_touched, list("user" = target, "unarmed attacked by" = src))
+ invoke_event(/event/unarmed_attack, list("attacker" = target, "attacked" = src))
+
add_logs(src, target, "attacked ([damage_done]dmg)", admin = (src.ckey && target.ckey) ? TRUE : FALSE) //Only add this to the server logs if both mobs were controlled by player
return damage_done
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index a1b7589065d..fb8d935b371 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -245,7 +245,7 @@
if(status_flags & GODMODE)
return 0 //godmode
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRUTE, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BRUTE, "amount" = amount)))
return 0
bruteloss = min(max(bruteloss + (amount * brute_damage_modifier), 0),(maxHealth*2))
@@ -257,7 +257,7 @@
if(status_flags & GODMODE)
return 0 //godmode
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = OXY, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = OXY, "amount" = amount)))
return 0
oxyloss = min(max(oxyloss + (amount * oxy_damage_modifier), 0),(maxHealth*2))
@@ -274,7 +274,7 @@
if(status_flags & GODMODE)
return 0 //godmode
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = TOX, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = TOX, "amount" = amount)))
return 0
var/mult = 1
@@ -298,7 +298,7 @@
return 0 //godmode
if(mutations.Find(M_RESIST_HEAT))
return 0
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BURN, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BURN, "amount" = amount)))
return 0
fireloss = min(max(fireloss + (amount * burn_damage_modifier), 0),(maxHealth*2))
@@ -310,7 +310,7 @@
if(status_flags & GODMODE)
return 0 //godmode
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = CLONE, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = CLONE, "amount" = amount)))
return 0
if(ishuman(src))
@@ -332,7 +332,7 @@
if(status_flags & GODMODE)
return 0 //godmode
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRAIN, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BRAIN, "amount" = amount)))
return 0
brainloss = min(max(brainloss + (amount * brain_damage_modifier), 0),(maxHealth*2))
@@ -719,9 +719,9 @@ Thanks.
if (ok)
var/atom/movable/secondarypull = M.pulling
M.stop_pulling()
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
pulling.Move(T, get_dir(pulling, T), glide_size_override = src.glide_size)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
if(M && secondarypull)
M.start_pulling(secondarypull)
else
@@ -789,7 +789,7 @@ Thanks.
var/turf/T = get_turf(src)
- lazy_invoke_event(/lazy_event/on_resist, list("user" = src))
+ invoke_event(/event/resist, list("user" = src))
delayNextSpecial(10) // Special delay, a cooldown to prevent spamming too much.
@@ -1429,9 +1429,9 @@ Thanks.
AM.set_glide_size(src.glide_size)
if (ismob(AM))
var/mob/M = AM
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
step(M, t)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
else
step(AM, t)
now_pushing = 0
diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm
index f73563c8b94..a124293639e 100644
--- a/code/modules/mob/living/login.dm
+++ b/code/modules/mob/living/login.dm
@@ -8,7 +8,7 @@
mind.active = 1 //indicates that the mind is currently synced with a client
ResendAllUIs() // Re-sends mind UIs
- lazy_invoke_event(/lazy_event/on_living_login, list("user" = src))
+ invoke_event(/event/living_login, list("user" = src))
//login during ventcrawl
if(is_ventcrawling && istype(loc, /obj/machinery/atmospherics)) //attach us back into the pipes
diff --git a/code/modules/mob/living/silicon/mommi/mommi_inventory.dm b/code/modules/mob/living/silicon/mommi/mommi_inventory.dm
index 9882ca2dffc..0706e9cd934 100644
--- a/code/modules/mob/living/silicon/mommi/mommi_inventory.dm
+++ b/code/modules/mob/living/silicon/mommi/mommi_inventory.dm
@@ -53,7 +53,7 @@
head_state = null
// Update the MoMMI's head inventory icons
update_inv_head()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
// Override the default /mob version since we only have one hand slot.
/mob/living/silicon/robot/mommi/put_in_active_hand(var/obj/item/W)
diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm
index d50fb69f50c..b5efb0cca7b 100644
--- a/code/modules/mob/living/silicon/robot/robot_damage.dm
+++ b/code/modules/mob/living/silicon/robot/robot_damage.dm
@@ -39,7 +39,7 @@
return amount
/mob/living/silicon/robot/adjustBruteLoss(var/amount)
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRUTE, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BRUTE, "amount" = amount)))
return FALSE
if(amount > 0)
take_overall_damage(amount, 0)
@@ -47,7 +47,7 @@
heal_overall_damage(-amount, 0)
/mob/living/silicon/robot/adjustFireLoss(var/amount)
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BURN, "amount" = amount)))
+ if(invoke_event(/event/damaged, list("kind" = BURN, "amount" = amount)))
return FALSE
if(amount > 0)
take_overall_damage(0, amount)
diff --git a/code/modules/mob/living/simple_animal/borer/egg.dm b/code/modules/mob/living/simple_animal/borer/egg.dm
index 200da85734f..22e0bab70db 100644
--- a/code/modules/mob/living/simple_animal/borer/egg.dm
+++ b/code/modules/mob/living/simple_animal/borer/egg.dm
@@ -40,11 +40,11 @@
recruiter.jobban_roles = list("pAI")
// A player has their role set to Yes or Always
- recruiter.player_volunteering.Add(src, "recruiter_recruiting")
+ recruiter.player_volunteering = new /callback(src, .proc/recruiter_recruiting)
// ", but No or Never
- recruiter.player_not_volunteering.Add(src, "recruiter_not_recruiting")
+ recruiter.player_not_volunteering = new /callback(src, .proc/recruiter_not_recruiting)
- recruiter.recruited.Add(src, "recruiter_recruited")
+ recruiter.recruited = new /callback(src, .proc/recruiter_recruited)
/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/Hatch()
if(hatching)
@@ -55,25 +55,20 @@
src.visible_message("The [name] pulsates and quivers!")
recruiter.request_player()
-/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/recruiter_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\The [src] is starting to hatch. You have been added to the list of potential ghosts. ([controls])")
+/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/recruiter_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\The [src] is starting to hatch. You have been added to the list of potential ghosts. ([controls])")
-/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/recruiter_not_recruiting(var/list/args)
- var/mob/dead/observer/O = args["player"]
- var/controls = args["controls"]
- to_chat(O, "\The [src] is starting to hatch. ([controls])")
+/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/recruiter_not_recruiting(mob/dead/observer/player, controls)
+ to_chat(player, "\The [src] is starting to hatch. ([controls])")
-/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/recruiter_recruited(var/list/args)
- var/mob/dead/observer/O = args["player"]
- if(O)
+/obj/item/weapon/reagent_containers/food/snacks/borer_egg/proc/recruiter_recruited(mob/dead/observer/player)
+ if(player)
var/turf/T = get_turf(src)
src.visible_message("\The [name] bursts open!")
//Adds the chance for a "special" borer to be born
var/borer_type = pick_type()
var/mob/living/simple_animal/borer/B = new borer_type(T, child_prefix_index)
- B.transfer_personality(O.client)
+ B.transfer_personality(player.client)
// Play hatching noise here.
new /obj/item/trash/egg/borer(T)
playsound(src.loc, 'sound/items/borer_hatch.ogg', 50, 1)
diff --git a/code/modules/mob/living/simple_animal/hologram/hologram_inventory.dm b/code/modules/mob/living/simple_animal/hologram/hologram_inventory.dm
index 5a05c059ce5..fe3593b4787 100644
--- a/code/modules/mob/living/simple_animal/hologram/hologram_inventory.dm
+++ b/code/modules/mob/living/simple_animal/hologram/hologram_inventory.dm
@@ -8,17 +8,17 @@
head = null
success = 1
update_inv_head()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
if (W == w_uniform)
w_uniform = null
success = 1
update_inv_w_uniform()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
if (W == wear_suit)
wear_suit = null
success = 1
update_inv_wear_suit()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else
success = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/grinch.dm b/code/modules/mob/living/simple_animal/hostile/grinch.dm
index cd4e2ebd635..2e1234a8a13 100644
--- a/code/modules/mob/living/simple_animal/hostile/grinch.dm
+++ b/code/modules/mob/living/simple_animal/hostile/grinch.dm
@@ -44,7 +44,7 @@
back = null
success = 1
update_inv_back()
- lazy_invoke_event(/lazy_event/on_unequipped, list(W))
+ invoke_event(/event/unequipped, list(W))
else
success = ..()
diff --git a/code/modules/mob/living/simple_animal/shade_powers.dm b/code/modules/mob/living/simple_animal/shade_powers.dm
index 92734a38e5d..6792c59dccd 100644
--- a/code/modules/mob/living/simple_animal/shade_powers.dm
+++ b/code/modules/mob/living/simple_animal/shade_powers.dm
@@ -16,7 +16,7 @@
if (!istype(loc, /obj/item/weapon/melee/soulblade))
return
DisplayUI("Soulblade")
- lazy_register_event(/lazy_event/on_living_login, src, /mob/living/simple_animal/shade/proc/add_HUD)
+ register_event(/event/living_login, src, /mob/living/simple_animal/shade/proc/add_HUD)
if (client)
client.CAN_MOVE_DIAGONALLY = 1
client.screen += list(
@@ -44,7 +44,7 @@
healths2,
)
HideUI("Soulblade")
- lazy_unregister_event(/lazy_event/on_living_login, src, /mob/living/simple_animal/shade/proc/add_HUD)
+ unregister_event(/event/living_login, src, /mob/living/simple_animal/shade/proc/add_HUD)
for(var/spell/soulblade/spell_to_remove in spell_list)
remove_spell(spell_to_remove)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 7632a40c2ec..221d8ded69c 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -240,11 +240,11 @@ var/global/list/animal_count = list() //Stores types, and amount of animals of t
turns_since_move++
if(turns_since_move >= turns_per_move)
if(!(stop_automated_movement_when_pulled && pulledby)) //Some animals don't move when pulled
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
var/destination = get_step(src, pick(cardinal))
wander_move(destination)
turns_since_move = 0
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
handle_automated_speech()
@@ -594,7 +594,7 @@ var/global/list/animal_count = list() //Stores types, and amount of animals of t
/mob/living/simple_animal/adjustBruteLoss(damage)
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BRUTE, "amount" = damage)))
+ if(invoke_event(/event/damaged, list("kind" = BRUTE, "amount" = damage)))
return 0
if (damage > 0)
damageoverlaytemp = 20
@@ -612,7 +612,7 @@ var/global/list/animal_count = list() //Stores types, and amount of animals of t
return 0
if(mutations.Find(M_RESIST_HEAT))
return 0
- if(lazy_invoke_event(/lazy_event/on_damaged, list("kind" = BURN, "amount" = damage)))
+ if(invoke_event(/event/damaged, list("kind" = BURN, "amount" = damage)))
return 0
if(skinned())
damage = damage * 2
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index a4039bf3af1..ea95bb9b1a5 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -56,6 +56,6 @@
send2adminirc("[key_name(src, showantag = FALSE)] logged out - no more non-AFK admins online. - [admin_number_afk] AFK.")
send2admindiscord("[key_name(src, showantag = FALSE)] logged out. **No more non-AFK admins online.** - **[admin_number_afk]** AFK", TRUE)
- lazy_invoke_event(/lazy_event/on_logout, list("user" = src))
+ invoke_event(/event/logout, list("user" = src))
..()
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index e9a08282931..e761f767c1a 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -27,12 +27,6 @@
for(var/M in mind.heard_before)
if(mind.heard_before[M] == src)
mind.heard_before[M] = null
- if(on_bumping)
- on_bumping.holder = null
- if(on_bumped)
- on_bumped.holder = null
- if(on_touched)
- on_touched.holder = null
unset_machine()
if(mind && mind.current == src)
mind.current = null
@@ -66,13 +60,6 @@
hud_used = null
for(var/atom/movable/leftovers in src)
qdel(leftovers)
- qdel(on_bumping)
- qdel(on_bumped)
- qdel(on_touched)
-
- on_bumping = null
- on_bumped = null
- on_touched = null
if(transmogged_from)
qdel(transmogged_from)
@@ -248,9 +235,6 @@
living_mob_list += src
store_position()
- on_bumping = new(owner = src)
- on_bumped = new(owner = src)
- on_touched = new(owner = src)
forceMove(loc) //Without this, area.Entered() isn't called when a mob is spawned inside area
@@ -1577,10 +1561,10 @@ Use this proc preferably at the end of an equipment loadout
if(!canface())
return 0
if (dir!=direction)
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
dir = direction
- lazy_invoke_event(/lazy_event/on_face)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/face)
+ invoke_event(/event/after_move)
delayNextMove(movement_delay(),additive=1)
return 1
@@ -1602,9 +1586,9 @@ Use this proc preferably at the end of an equipment loadout
//Like forceMove(), but for dirs! used in atoms_movable.dm, mainly with chairs and vehicles
/mob/change_dir(new_dir, var/changer)
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
..()
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
/mob/proc/isGoodPickpocket() //If the mob gets bonuses when pickpocketing and such. Currently only used for humans with the Pickpocket's Gloves.
return 0
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 8e34b5eb10a..df2c53184b6 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -270,9 +270,6 @@
penetration_dampening = 7
var/list/languages[0]
- var/event/on_bumping //We bumped someone
- var/event/on_bumped //We got bumped
- var/event/on_touched // We got touched by anything
var/list/alphas = list()
var/spell/spell_channeling // The spell that's currently being channeled
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index c63a52a7736..010872bb2c9 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -348,7 +348,7 @@
mob.last_move_intent = world.time + 10
mob.set_glide_size(DELAY2GLIDESIZE(move_delay)) //Since we're moving OUT OF OUR OWN VOLITION AND BY OURSELVES we can update our glide_size here!
- mob.lazy_invoke_event(/lazy_event/on_before_move)
+ mob.invoke_event(/event/before_move)
// Something with pulling things
var/obj/item/weapon/grab/Findgrab = locate() in mob
if(Findgrab)
@@ -360,7 +360,7 @@
if(M)
if ((mob.Adjacent(M) || M.loc == mob.loc))
var/turf/T = mob.loc
- M.lazy_invoke_event(/lazy_event/on_before_move)
+ M.invoke_event(/event/before_move)
step(mob, Dir)
if (isturf(M.loc))
var/diag = get_dir(mob, M)
@@ -368,7 +368,7 @@
diag = null
if ((get_dist(mob, M) > 1 || diag))
step(M, get_dir(M.loc, T))
- M.lazy_invoke_event(/lazy_event/on_after_move)
+ M.invoke_event(/event/after_move)
else
for(var/mob/M in L)
M.other_mobs = 1
@@ -376,9 +376,9 @@
M.animate_movement = 3
for(var/mob/M in L)
spawn( 0 )
- M.lazy_invoke_event(/lazy_event/on_before_move)
+ M.invoke_event(/event/before_move)
step(M, dir)
- M.lazy_invoke_event(/lazy_event/on_after_move)
+ M.invoke_event(/event/after_move)
return
spawn( 1 )
M.other_mobs = null
@@ -395,8 +395,8 @@
mob.last_movement=world.time
if(mob.dir != old_dir)
- mob.lazy_invoke_event(/lazy_event/on_face)
- mob.lazy_invoke_event(/lazy_event/on_after_move)
+ mob.invoke_event(/event/face)
+ mob.invoke_event(/event/after_move)
/mob/proc/process_confused(var/Dir)
if (confused <= 0)
@@ -404,12 +404,12 @@
. = TRUE
var/old_dir = dir
if (confused_intensity == CONFUSED_MAGIC)
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
step_rand(src)
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
return
- lazy_invoke_event(/lazy_event/on_before_move)
+ invoke_event(/event/before_move)
switch(Dir)
if(NORTH)
step(src, pick(NORTHEAST, NORTHWEST))
@@ -427,11 +427,11 @@
step(src, pick(SOUTH, EAST))
if(SOUTHWEST)
step(src, pick(SOUTH, WEST))
- lazy_invoke_event(/lazy_event/on_after_move)
+ invoke_event(/event/after_move)
last_movement=world.time
if(dir != old_dir)
- lazy_invoke_event(/lazy_event/on_face)
+ invoke_event(/event/face)
///Process_Grab()
///Called by client/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0)
@@ -513,7 +513,7 @@
mob.dir = direct
else
to_chat(mob, "Some strange aura is blocking the way!")
- mob.lazy_invoke_event(/lazy_event/on_moved)
+ mob.invoke_event(/event/moved)
mob.delayNextMove(movedelay)
return 1
// Crossed is always a bit iffy
@@ -574,15 +574,15 @@
var/mob/mobpulled = target
var/atom/movable/secondarypull = mobpulled.pulling
mobpulled.stop_pulling()
- mobpulled.lazy_invoke_event(/lazy_event/on_before_move)
+ mobpulled.invoke_event(/event/before_move)
step(mobpulled, get_dir(mobpulled.loc, dest))
- mobpulled.lazy_invoke_event(/lazy_event/on_after_move)
+ mobpulled.invoke_event(/event/after_move)
if(mobpulled && secondarypull)
mobpulled.start_pulling(secondarypull)
else
- target.lazy_invoke_event(/lazy_event/on_before_move)
+ target.invoke_event(/event/before_move)
step(target, get_dir(target.loc, dest))
- target.lazy_invoke_event(/lazy_event/on_after_move)
+ target.invoke_event(/event/after_move)
target.add_fingerprint(src)
/mob/proc/movement_delay()
diff --git a/code/modules/optics/mirrors/mirror.dm b/code/modules/optics/mirrors/mirror.dm
index be40d0d6fc9..e79fa4ad628 100644
--- a/code/modules/optics/mirrors/mirror.dm
+++ b/code/modules/optics/mirrors/mirror.dm
@@ -18,8 +18,6 @@ var/global/list/obj/machinery/mirror/mirror_list = list()
machine_flags = WRENCHMOVE | SCREWTOGGLE | CROWDESTROY
- var/list/powerchange_hooks=list()
-
/obj/machinery/mirror/New()
..()
mirror_list += src
@@ -103,7 +101,7 @@ var/global/list/obj/machinery/mirror/mirror_list = list()
if(B.HasSource(src))
return // Prevent infinite loops.
..()
- powerchange_hooks[B]=B.power_change.Add(src,"on_power_change")
+ B.register_event(/event/beam_power_change, src, .proc/on_power_change)
update_beams()
/obj/machinery/mirror/beam_disconnect(var/obj/effect/beam/emitter/B)
@@ -111,13 +109,11 @@ var/global/list/obj/machinery/mirror/mirror_list = list()
if(B.HasSource(src))
return // Prevent infinite loops.
..()
- B.power_change.Remove(powerchange_hooks[B])
- powerchange_hooks.Remove(B)
+ B.unregister_event(/event/beam_power_change, src, .proc/on_power_change)
update_beams()
// When beam power changes
-/obj/machinery/mirror/proc/on_power_change(var/list/args)
- //Don't care about args, just update beam.
+/obj/machinery/mirror/proc/on_power_change(obj/effect/beam/beam)
update_beams()
/obj/machinery/mirror/proc/kill_all_beams()
diff --git a/code/modules/optics/prism.dm b/code/modules/optics/prism.dm
index 256f1cb41f9..429d5e0f44f 100644
--- a/code/modules/optics/prism.dm
+++ b/code/modules/optics/prism.dm
@@ -14,8 +14,6 @@ var/list/obj/machinery/prism/prism_list = list()
machine_flags = WRENCHMOVE | SCREWTOGGLE | CROWDESTROY
- var/list/powerchange_hooks=list()
-
/obj/machinery/prism/New()
..()
@@ -75,7 +73,7 @@ var/list/obj/machinery/prism/prism_list = list()
if(B.HasSource(src))
return // Prevent infinite loops.
..()
- powerchange_hooks[B]=B.power_change.Add(src,"on_power_change")
+ B.register_event(/event/beam_power_change, src, .proc/on_power_change)
update_beams(B)
/obj/machinery/prism/beam_disconnect(var/obj/effect/beam/emitter/B)
@@ -83,13 +81,11 @@ var/list/obj/machinery/prism/prism_list = list()
if(B.HasSource(src))
return // Prevent infinite loops.
..()
- B.power_change.Remove(powerchange_hooks[B])
- powerchange_hooks.Remove(B)
+ B.unregister_event(/event/beam_power_change, src, .proc/on_power_change)
update_beams(B)
// When beam power changes
-/obj/machinery/prism/proc/on_power_change(var/list/args)
- //Don't care about args, just update beam.
+/obj/machinery/prism/proc/on_power_change(obj/effect/beam/beam)
update_beams()
/obj/machinery/prism/proc/update_beams(var/obj/effect/beam/emitter/touching_beam)
diff --git a/code/modules/power/components.dm b/code/modules/power/components.dm
index 579a7e745f7..59bc8b53c15 100644
--- a/code/modules/power/components.dm
+++ b/code/modules/power/components.dm
@@ -23,7 +23,7 @@
power_machines |= src
// Used for updating turf power_connection lists when moved.
- parent.lazy_register_event(/lazy_event/on_moved, src, .proc/parent_moved)
+ parent.register_event(/event/moved, src, .proc/parent_moved)
addToTurf()
/datum/power_connection/Destroy()
@@ -32,10 +32,10 @@
// Remember to tell our turf that we're gone.
removeFromTurf()
- parent.lazy_unregister_event(/lazy_event/on_moved, src, .proc/parent_moved)
+ parent.unregister_event(/event/moved, src, .proc/parent_moved)
..()
-// CALLBACK from /lazy_event/on_moved.
+// CALLBACK from /event/moved.
// This should never happen, except when Singuloth is doing its shenanigans, as rebuilding
// powernets is extremely slow.
/datum/power_connection/proc/parent_moved(atom/movable/mover)
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 103b7492c5c..7e7d0c8d540 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -333,9 +333,6 @@
var/base_state = "emitter"
var/power = 1
- //Notify prisms of power change.
- var/event/power_change = new
-
/obj/effect/beam/emitter/proc/set_power(var/newpower = 1)
power = newpower
if(next)
@@ -343,7 +340,7 @@
next_beam.set_power(power)
update_icon()
if(!master)
- INVOKE_EVENT(power_change,list("beam" = src))
+ invoke_event(/event/beam_power_change, list("beam" = src))
/obj/effect/beam/emitter/spawn_child()
var/obj/effect/beam/emitter/beam = ..()
diff --git a/code/modules/projectiles/guns/projectile/constructable/tomahawk.dm b/code/modules/projectiles/guns/projectile/constructable/tomahawk.dm
index 8d59459f469..ed40ff865e3 100644
--- a/code/modules/projectiles/guns/projectile/constructable/tomahawk.dm
+++ b/code/modules/projectiles/guns/projectile/constructable/tomahawk.dm
@@ -160,7 +160,7 @@
/obj/item/weapon/hatchet/tomahawk/pipe/Destroy()
if(current_blunt)
- current_blunt.lazy_unregister_event(/lazy_event/on_destroyed, src, .proc/burnout)
+ current_blunt.unregister_event(/event/destroyed, src, .proc/burnout)
qdel(current_blunt)
current_blunt = null
..()
@@ -179,7 +179,7 @@
return
to_chat(user, "You crush \the [W] into \the [src].")
var/obj/item/clothing/mask/cigarette/blunt/rolled/B = new/obj/item/clothing/mask/cigarette/blunt/rolled(src)
- B.lazy_register_event(/lazy_event/on_destroyed, src, .proc/burnout)
+ B.register_event(/event/destroyed, src, .proc/burnout)
B.inside_item = 1
W.reagents.trans_to(B, (W.reagents.total_volume))
B.update_brightness()
@@ -322,7 +322,7 @@
return
to_chat(user, "You crush \the [W] into \the [src].")
var/obj/item/clothing/mask/cigarette/blunt/rolled/B = new/obj/item/clothing/mask/cigarette/blunt/rolled(src)
- B.lazy_register_event(/lazy_event/on_destroyed, src, .proc/burnout)
+ B.register_event(/event/destroyed, src, .proc/burnout)
B.inside_item = 1
W.reagents.trans_to(B, (W.reagents.total_volume))
B.update_brightness()
diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_essenceprinter.dm b/code/modules/research/xenoarchaeology/artifact/artifact_essenceprinter.dm
index f9e53d980aa..1ed9af0d53f 100644
--- a/code/modules/research/xenoarchaeology/artifact/artifact_essenceprinter.dm
+++ b/code/modules/research/xenoarchaeology/artifact/artifact_essenceprinter.dm
@@ -14,7 +14,7 @@
/obj/structure/essence_printer/Destroy()
new /datum/artifact_postmortem_data(src)
if(bound_soul)
- bound_soul.lazy_unregister_event(/lazy_event/on_death, src, .proc/print)
+ bound_soul.unregister_event(/event/death, src, .proc/print)
bound_soul = null
..()
@@ -34,9 +34,9 @@
R.languages = H.languages.Copy()
R.name=R.dna.real_name
if(bound_soul)
- bound_soul.lazy_unregister_event(/lazy_event/on_death, src, .proc/print)
+ bound_soul.unregister_event(/event/death, src, .proc/print)
bound_soul = H
- H.lazy_register_event(/lazy_event/on_death, src, .proc/print)
+ H.register_event(/event/death, src, .proc/print)
/obj/structure/essence_printer/attack_ghost(mob/user)
if(!ready)
diff --git a/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm b/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm
index f39be22920a..1a9989d6b1d 100644
--- a/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm
+++ b/code/modules/research/xenoarchaeology/artifact/artifact_unknown.dm
@@ -18,10 +18,6 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
var/artifact_id = ""
anchored = 0
layer = ABOVE_OBJ_LAYER
- var/event/on_attackby
- var/event/on_explode
- var/event/on_projectile
- var/event/on_beam
var/analyzed = 0 //set to 1 after having been analyzed successfully
var/safe_delete = FALSE
@@ -33,11 +29,6 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
artifact_id = generate_artifact_id()
excavated_large_artifacts[artifact_id] = src
-
- on_attackby = new(owner = src)
- on_explode = new(owner = src)
- on_projectile = new(owner = src)
- on_beam = new(owner = src)
//event arguement list format (user, "context", item)
if(generate_effect)
@@ -151,7 +142,7 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
src.add_fingerprint(user)
to_chat(user, "You touch [src].")
- lazy_invoke_event(/lazy_event/on_attackhand, list("user" = user, "target" = src))
+ invoke_event(/event/attackhand, list("user" = user, "target" = src))
/obj/machinery/artifact/attackby(obj/item/weapon/W as obj, mob/living/user as mob)
@@ -164,17 +155,17 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
visible_message("\The [user] [pick(W.attack_verb)] \the [src] with \the [W].")
else
visible_message("\The [user] hits \the [src] with \the [W].")
- on_attackby.Invoke(list(user, "MELEE", W))
+ invoke_event(/event/attackby, list("attacker" = user, "item" = W))
/obj/machinery/artifact/Bumped(var/atom/A)
if (istype(A,/obj))
- on_attackby.Invoke(list(usr, "THROW", A))
+ invoke_event(/event/bumped, list("bumper" = A, "bumped" = src))
else if (isliving(A))
var/mob/living/L = A
if (!ishuman(L) || !istype(L:gloves,/obj/item/clothing/gloves))
if (prob(50))
to_chat(L, "You accidentally touch [src].")
- lazy_invoke_event(/lazy_event/on_bumped, list("user" = L, "target" = src))
+ invoke_event(/event/bumped, list("bumper" = L, "bumped" = src))
..()
/obj/machinery/artifact/to_bump(var/atom/A)
@@ -183,16 +174,16 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
if (!ishuman(L) || !istype(L:gloves,/obj/item/clothing/gloves))
if (prob(50))
to_chat(L, "\The [src] bumps into you.")
- lazy_invoke_event(/lazy_event/on_bumped, list("user" = L, "target" = src))
+ invoke_event(/event/bumped, list("bumper" = L, "bumped" = src))
..()
/obj/machinery/artifact/bullet_act(var/obj/item/projectile/P)
- on_projectile.Invoke(list(P.firer, "PROJECTILE",P))
+ invoke_event(/event/projectile, list("projectile" = P))
return ..()
/obj/machinery/artifact/beam_connect(var/obj/effect/beam/B)
..()
- on_beam.Invoke(list(B, "BEAMCONNECT"))
+ invoke_event(/event/beam_connect, list("beam" = B))
/obj/machinery/artifact/ex_act(severity)
switch(severity)
@@ -206,10 +197,9 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
ArtifactRepercussion(src, null, "an explosion", "[type]")
qdel(src)
else
- on_explode.Invoke(list("", "EXPLOSION"))
+ invoke_event(/event/explosion, list("severity" = severity))
if(3.0)
- on_explode.Invoke(list("", "EXPLOSION"))
- return
+ invoke_event(/event/explosion, list("severity" = severity))
/obj/machinery/artifact/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0)
..()
@@ -223,10 +213,6 @@ var/list/razed_large_artifacts = list()//destroyed while still inside a rock wal
qdel(primary_effect); primary_effect = null
qdel(secondary_effect); secondary_effect = null
- qdel(on_attackby); on_attackby = null
- qdel(on_explode); on_explode = null
- qdel(on_projectile); on_projectile = null
- qdel(on_beam); on_beam = null
..()
/proc/ArtifactRepercussion(var/atom/source, var/mob/mob_cause = null, var/other_cause = "", var/artifact_type = "")
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_energy.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_energy.dm
index 532967f3496..3caa5cd5549 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_energy.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_energy.dm
@@ -1,47 +1,44 @@
/datum/artifact_trigger/energy
triggertype = TRIGGER_ENERGY
scanned_trigger = SCAN_PHYSICAL_ENERGETIC
- var/key_attackby
- var/key_projectile
- var/key_beam
/datum/artifact_trigger/energy/New()
..()
- key_attackby = my_artifact.on_attackby.Add(src, "owner_attackby")
- key_projectile = my_artifact.on_projectile.Add(src, "owner_projectile")
- key_beam = my_artifact.on_beam.Add(src, "owner_beam")
+ my_artifact.register_event(/event/attackby, src, .proc/owner_attackby)
+ my_artifact.register_event(/event/projectile, src, .proc/owner_projectile)
+ my_artifact.register_event(/event/beam_connect, src, .proc/owner_beam)
-/datum/artifact_trigger/energy/proc/owner_attackby(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/context = event_args[2]
- var/obj/item/weapon/item = event_args[3]
+/datum/artifact_trigger/energy/proc/owner_attackby(mob/living/attacker, obj/item/item)
+ var/static/list/energy_weapons = list(
+ /obj/item/weapon/melee/energy,
+ /obj/item/weapon/melee/legacy_cultblade,
+ /obj/item/weapon/card/emag,
+ /obj/item/device/multitool,
+ )
+ if(istype(item, /obj/item/weapon/melee/baton))
+ var/obj/item/weapon/melee/baton/stick = item
+ if(!stick.status)
+ return
+ if(!is_type_in_list(item, energy_weapons))
+ return
+ Triggered(attacker, "MELEE", item)
- if(istype(item,/obj/item/weapon/melee/baton) && item:status ||\
- istype(item,/obj/item/weapon/melee/energy) ||\
- istype(item,/obj/item/weapon/melee/legacy_cultblade) ||\
- istype(item,/obj/item/weapon/card/emag) ||\
- istype(item,/obj/item/device/multitool))
- Triggered(toucher, context, item)
+/datum/artifact_trigger/energy/proc/owner_projectile(obj/item/projectile/projectile)
+ var/list/energy_projectiles = list(
+ /obj/item/projectile/beam,
+ /obj/item/projectile/ion,
+ /obj/item/projectile/energy,
+ )
+ if(!is_type_in_list(projectile, energy_projectiles))
+ return
+ Triggered(projectile.firer, "PROJECTILE", projectile)
-/datum/artifact_trigger/energy/proc/owner_projectile(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/context = event_args[2]
- var/item = event_args[3]
-
- if(istype(item,/obj/item/projectile/beam) ||\
- istype(item,/obj/item/projectile/ion) ||\
- istype(item,/obj/item/projectile/energy))
- Triggered(toucher, context, item)
-
-/datum/artifact_trigger/energy/proc/owner_beam(var/list/event_args, var/source)
- var/obj/effect/beam/B = event_args[1]
- var/context = event_args[2]
-
- if (B?.get_damage())
- Triggered(null, context, B)
+/datum/artifact_trigger/energy/proc/owner_beam(obj/effect/beam/beam)
+ if (beam?.get_damage())
+ Triggered(null, "BEAMCONNECT", beam)
/datum/artifact_trigger/energy/Destroy()
- my_artifact.on_attackby.Remove(key_attackby)
- my_artifact.on_projectile.Remove(key_projectile)
- my_artifact.on_beam.Remove(key_beam)
+ my_artifact.unregister_event(/event/attackby, src, .proc/owner_attackby)
+ my_artifact.unregister_event(/event/projectile, src, .proc/owner_projectile)
+ my_artifact.unregister_event(/event/beam_connect, src, .proc/owner_beam)
..()
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_force.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_force.dm
index 7dd545be8fa..0f2467a436b 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_force.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_force.dm
@@ -9,35 +9,39 @@
/datum/artifact_trigger/force/New()
..()
- key_attackby = my_artifact.on_attackby.Add(src, "owner_attackby")
- key_explode = my_artifact.on_explode.Add(src, "owner_explode")
- key_projectile = my_artifact.on_projectile.Add(src, "owner_projectile")
+ my_artifact.register_event(/event/attackby, src, .proc/owner_attackby)
+ my_artifact.register_event(/event/explosion, src, .proc/owner_explode)
+ my_artifact.register_event(/event/projectile, src, .proc/owner_projectile)
+ my_artifact.register_event(/event/bumped, src, .proc/owner_bumped)
-/datum/artifact_trigger/force/proc/owner_attackby(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/context = event_args[2]
- var/obj/item/weapon/item = event_args[3]
+/datum/artifact_trigger/force/proc/owner_attackby(mob/living/attacker, obj/item/item)
+ if(item.force < FORCE_THRESHOLD)
+ return
+ Triggered(attacker, "MELEE", item)
- if(context == "THROW" && item:throwforce >= FORCE_THRESHOLD)
- Triggered(toucher, context, item)
- else if(item.force >= FORCE_THRESHOLD)
- Triggered(toucher, context, item)
+/datum/artifact_trigger/force/proc/owner_explode(severity)
+ Triggered(null, "EXPLOSION", null)
-/datum/artifact_trigger/force/proc/owner_explode(var/list/event_args, var/source)
- var/context = event_args[2]
- Triggered(0, context, 0)
+/datum/artifact_trigger/force/proc/owner_projectile(obj/item/projectile/projectile)
+ var/static/list/valid_projectiles = list(
+ /obj/item/projectile/bullet,
+ /obj/item/projectile/hivebotbullet,
+ )
+ if(!is_type_in_list(projectile, valid_projectiles))
+ return
+ Triggered(projectile.firer, "PROJECTILE", projectile)
-/datum/artifact_trigger/force/proc/owner_projectile(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/context = event_args[2]
- var/item = event_args[3]
-
- if(istype(item,/obj/item/projectile/bullet) ||\
- istype(item,/obj/item/projectile/hivebotbullet))
- Triggered(toucher, context, item)
+/datum/artifact_trigger/force/proc/owner_bumped(atom/movable/bumper, atom/bumped)
+ var/obj/item/thrown_item = bumper
+ if(!istype(thrown_item))
+ return
+ if(thrown_item.throwforce < FORCE_THRESHOLD)
+ return
+ Triggered(usr, "THROW", thrown_item)
/datum/artifact_trigger/force/Destroy()
- my_artifact.on_attackby.Remove(key_attackby)
- my_artifact.on_explode.Remove(key_explode)
- my_artifact.on_projectile.Remove(key_projectile)
- ..()
\ No newline at end of file
+ my_artifact.unregister_event(/event/attackby, src, .proc/owner_attackby)
+ my_artifact.unregister_event(/event/explosion, src, .proc/owner_explode)
+ my_artifact.unregister_event(/event/projectile, src, .proc/owner_projectile)
+ my_artifact.unregister_event(/event/bumped, src, .proc/owner_bumped)
+ ..()
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pay2use.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pay2use.dm
index 651e7a9b1a5..196de4dd8f2 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pay2use.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pay2use.dm
@@ -6,15 +6,13 @@
triggertype = TRIGGER_PAY2USE
scanned_trigger = SCAN_PHYSICAL
var/mode
- var/key_attackhand
- var/key_attackby
var/time_left = 0
var/obj/machinery/account_database/linked_db
/datum/artifact_trigger/pay2use/New()
..()
- my_artifact.lazy_register_event(/lazy_event/on_attackhand, src, .proc/owner_attackhand)
- key_attackby = my_artifact.on_attackby.Add(src, "owner_attackby")
+ my_artifact.register_event(/event/attackhand, src, .proc/owner_attackhand)
+ my_artifact.register_event(/event/attackhand, src, .proc/owner_attackby)
mode = rand(0,2)
var/where = pick("on one of its sides","at the top","hidden underneath", "on the front")
switch(mode)
@@ -47,6 +45,7 @@
Triggered(0, "NOMONEY", 0)
+// unused?
/datum/artifact_trigger/pay2use/proc/owner_bumped(mob/user, atom/target)
activate(user, "BUMPED")
@@ -81,50 +80,45 @@
popup.set_content(dat)
popup.open()
-/datum/artifact_trigger/pay2use/proc/owner_attackby(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/context = event_args[2]
- var/obj/item/weapon/item = event_args[3]
+/datum/artifact_trigger/pay2use/proc/owner_attackby(mob/living/attacker, obj/item/item)
+ if(iscoin(item))
+ if(mode == COIN)
+ my_artifact.investigation_log(I_ARTIFACT, "|| effect [my_effect.artifact_id]([my_effect]) || [item] inserted to ([my_effect.trigger]) || used by [key_name(attacker)].")
+ my_artifact.visible_message("[attacker] inserts a coin into [my_artifact].")
+ if(istype(item, /obj/item/weapon/coin/clown))
+ playsound(my_artifact, 'sound/items/bikehorn.ogg', 50, 1)
+ time_left += 150
+ else if(istype(item, /obj/item/weapon/coin/iron))
+ time_left += 10
+ else if(istype(item, /obj/item/weapon/coin/silver))
+ time_left += 30
+ else if(istype(item, /obj/item/weapon/coin/gold))
+ time_left += 60
+ else if(istype(item, /obj/item/weapon/coin/plasma))
+ time_left += 45
+ else if(istype(item, /obj/item/weapon/coin/uranium))
+ time_left += 50
+ else if(istype(item, /obj/item/weapon/coin/diamond))
+ time_left += 100
+ else if(istype(item, /obj/item/weapon/coin/phazon))
+ time_left += 150
+ else if(istype(item, /obj/item/weapon/coin/adamantine))
+ time_left += 150
+ else if(istype(item, /obj/item/weapon/coin/mythril))
+ time_left += 150
+ qdel(item)
+ else
+ to_chat(attacker, "[bicon(my_artifact)][my_artifact] does not accept coins!")
- if(context == "MELEE")
- if(iscoin(item))
- if(mode == COIN)
- my_artifact.investigation_log(I_ARTIFACT, "|| effect [my_effect.artifact_id]([my_effect]) || [item] inserted to ([my_effect.trigger]) || used by [key_name(toucher)].")
- my_artifact.visible_message("[toucher] inserts a coin into [my_artifact].")
- if(istype(item, /obj/item/weapon/coin/clown))
- playsound(my_artifact, 'sound/items/bikehorn.ogg', 50, 1)
- time_left += 150
- else if(istype(item, /obj/item/weapon/coin/iron))
- time_left += 10
- else if(istype(item, /obj/item/weapon/coin/silver))
- time_left += 30
- else if(istype(item, /obj/item/weapon/coin/gold))
- time_left += 60
- else if(istype(item, /obj/item/weapon/coin/plasma))
- time_left += 45
- else if(istype(item, /obj/item/weapon/coin/uranium))
- time_left += 50
- else if(istype(item, /obj/item/weapon/coin/diamond))
- time_left += 100
- else if(istype(item, /obj/item/weapon/coin/phazon))
- time_left += 150
- else if(istype(item, /obj/item/weapon/coin/adamantine))
- time_left += 150
- else if(istype(item, /obj/item/weapon/coin/mythril))
- time_left += 150
- qdel(item)
- else
- to_chat(toucher, "[bicon(my_artifact)][my_artifact] does not accept coins!")
-
- else if(istype(item, /obj/item/weapon/spacecash))
- if(mode == CREDIT)
- var/obj/item/weapon/spacecash/dosh = item
- my_artifact.visible_message("[toucher] inserts a credit chip into [my_artifact].")
- my_artifact.investigation_log(I_ARTIFACT, "|| effect [my_effect.artifact_id]([my_effect]) || $[dosh.get_total()] [dosh] inserted to ([my_effect.trigger]) || used by [key_name(toucher)].")
- time_left += (dosh.get_total() * 3) //6 seconds per credit
- qdel(dosh)
- else
- to_chat(toucher, "[bicon(my_artifact)][my_artifact] does not accept credits!")
+ else if(istype(item, /obj/item/weapon/spacecash))
+ if(mode == CREDIT)
+ var/obj/item/weapon/spacecash/dosh = item
+ my_artifact.visible_message("[attacker] inserts a credit chip into [my_artifact].")
+ my_artifact.investigation_log(I_ARTIFACT, "|| effect [my_effect.artifact_id]([my_effect]) || $[dosh.get_total()] [dosh] inserted to ([my_effect.trigger]) || used by [key_name(attacker)].")
+ time_left += (dosh.get_total() * 3) //6 seconds per credit
+ qdel(dosh)
+ else
+ to_chat(attacker, "[bicon(my_artifact)][my_artifact] does not accept credits!")
/datum/artifact_trigger/pay2use/proc/payviacard(var/dosh = 0, var/time = 0, var/mob)
@@ -202,7 +196,7 @@
payviacard(500, 3600, usr)
/datum/artifact_trigger/pay2use/Destroy()
- my_artifact.lazy_unregister_event(/lazy_event/on_attackhand, src, .proc/owner_attackhand)
- my_artifact.on_attackby.Remove(key_attackby)
+ my_artifact.unregister_event(/event/attackhand, src, .proc/owner_attackhand)
+ my_artifact.unregister_event(/event/attackby, src, .proc/owner_attackby)
linked_db = null
..()
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pressure.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pressure.dm
index 9debfe886fd..44cbaf3f5d7 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pressure.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_pressure.dm
@@ -6,12 +6,11 @@
scanned_trigger = SCAN_ATMOS
var/high_triggered = 0
//possibly make the required pressure random in the futurem, when better facilities are added
- var/key_explode
/datum/artifact_trigger/pressure/New()
..()
high_triggered = prob(50)
- key_explode = my_artifact.on_explode.Add(src, "owner_explode")
+ my_artifact.register_event(/event/explosion, src, .proc/owner_explode)
/datum/artifact_trigger/pressure/CheckTrigger()
var/turf/T = get_turf(my_artifact)
@@ -28,10 +27,9 @@
else if(high_triggered && env.pressure < HIGH_PRESSURE_TRIGGER)
Triggered(0, "LOWPRESSURE", 0)
-/datum/artifact_trigger/pressure/proc/owner_explode(var/list/event_args, var/source)
- var/context = event_args[2]
- Triggered(0, context, 0)
+/datum/artifact_trigger/pressure/proc/owner_explode(severity)
+ Triggered(0, "EXPLOSION", 0)
/datum/artifact_trigger/pressure/Destroy()
- my_artifact.on_explode.Remove(key_explode)
- ..()
\ No newline at end of file
+ my_artifact.register_event(/event/explosion, src, .proc/owner_explode)
+ ..()
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_reagent.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_reagent.dm
index 9befa544b82..04163386600 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_reagent.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_reagent.dm
@@ -2,28 +2,24 @@
triggertype = TRIGGER_REAGENT
scanned_trigger = SCAN_PHYSICAL
var/reagent_group = 0
- var/key_attackby
/datum/artifact_trigger/reagent/New()
..()
reagent_group = pick("WATER", "ACID", "VOLATILE", "TOXIN")
- key_attackby = my_artifact.on_attackby.Add(src, "owner_attackby")
-
-/datum/artifact_trigger/reagent/proc/owner_attackby(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/obj/item = event_args[3]
+ my_artifact.register_event(/event/attackby, src, .proc/owner_attackby)
+/datum/artifact_trigger/reagent/proc/owner_attackby(mob/living/attacker, obj/item/item)
if (istype(item, /obj/item/weapon/reagent_containers/glass) && item.is_open_container() ||\
istype(item, /obj/item/weapon/reagent_containers/dropper))
if(reagent_group == "WATER" && (item.reagents.has_reagent(HYDROGEN, 1) || item.reagents.has_reagent(WATER, 1)))
- Triggered(toucher, reagent_group, item)
+ Triggered(attacker, reagent_group, item)
else if(reagent_group == "ACID" && (item.reagents.has_reagent(SACID, 1) || item.reagents.has_reagent(PACID, 1) || item.reagents.has_reagent(DIETHYLAMINE, 1)))
- Triggered(toucher, reagent_group, item)
+ Triggered(attacker, reagent_group, item)
else if(reagent_group == "VOLATILE" && (item.reagents.has_reagent(PLASMA, 1) || item.reagents.has_reagent(THERMITE, 1)))
- Triggered(toucher, reagent_group, item)
+ Triggered(attacker, reagent_group, item)
else if(reagent_group == "TOXIN" && (item.reagents.has_reagent(TOXIN, 1) || item.reagents.has_reagent(CYANIDE, 1) || item.reagents.has_reagent(AMATOXIN, 1) || item.reagents.has_reagent(NEUROTOXIN, 1)))
- Triggered(toucher, reagent_group, item)
+ Triggered(attacker, reagent_group, item)
/datum/artifact_trigger/reagent/Destroy()
- my_artifact.on_attackby.Remove(key_attackby)
- ..()
\ No newline at end of file
+ my_artifact.unregister_event(/event/attackby, src, .proc/owner_attackby)
+ ..()
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_temperature.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_temperature.dm
index baebd737959..2c39492dbbd 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_temperature.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_temperature.dm
@@ -5,15 +5,13 @@
triggertype = TRIGGER_TEMPERATURE
scanned_trigger = SCAN_ATMOS
var/heat_triggered = 0
- var/key_attackby
- var/key_explode
/datum/artifact_trigger/temperature/New()
..()
heat_triggered = prob(50)
- key_attackby = my_artifact.on_attackby.Add(src, "owner_attackby")
- key_explode = my_artifact.on_explode.Add(src, "owner_explode")
+ my_artifact.register_event(/event/attackby, src, .proc/owner_attackby)
+ my_artifact.register_event(/event/explosion, src, .proc/owner_explode)
/datum/artifact_trigger/temperature/CheckTrigger()
var/turf/T = get_turf(my_artifact)
@@ -30,19 +28,14 @@
else if(heat_triggered && env.temperature < HOT_TRIGGER)
Triggered(0, "HOTAIR", 0)
-/datum/artifact_trigger/temperature/proc/owner_attackby(var/list/event_args, var/source)
- var/toucher = event_args[1]
- var/context = event_args[2]
- var/obj/item = event_args[3]
-
+/datum/artifact_trigger/temperature/proc/owner_attackby(mob/living/attacker, obj/item/item)
if(heat_triggered && item.is_hot())
- Triggered(toucher, context, item)
+ Triggered(attacker, "MELEE", item)
-/datum/artifact_trigger/temperature/proc/owner_explode(var/list/event_args, var/source)
- var/context = event_args[2]
- Triggered(0, context, 0)
+/datum/artifact_trigger/temperature/proc/owner_explode(severity)
+ Triggered(0, "EXPLOSION", 0)
/datum/artifact_trigger/temperature/Destroy()
- my_artifact.on_attackby.Remove(key_attackby)
- my_artifact.on_explode.Remove(key_explode)
- ..()
\ No newline at end of file
+ my_artifact.unregister_event(/event/attackby, src, .proc/owner_attackby)
+ my_artifact.unregister_event(/event/explosion, src, .proc/owner_explode)
+ ..()
diff --git a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_touch.dm b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_touch.dm
index a4fe1bc5b79..2628800149a 100644
--- a/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_touch.dm
+++ b/code/modules/research/xenoarchaeology/artifact/triggers/unknown_trigger_touch.dm
@@ -4,8 +4,8 @@
/datum/artifact_trigger/touch/New()
..()
- my_artifact.lazy_register_event(/lazy_event/on_attackhand, src, .proc/owner_attackhand)
- my_artifact.lazy_register_event(/lazy_event/on_bumped, src, .proc/owner_bumped)
+ my_artifact.register_event(/event/attackhand, src, .proc/owner_attackhand)
+ my_artifact.register_event(/event/bumped, src, .proc/owner_bumped)
/datum/artifact_trigger/touch/proc/activate(mob/user, context)
Triggered(user, "TOUCH", 0)
@@ -17,13 +17,15 @@
my_effect.DoEffectTouch(user)
my_artifact.investigation_log(I_ARTIFACT, "|| effect [my_effect.artifact_id]([my_effect]) triggered by [context] ([my_effect.trigger]) || touched by [key_name(user)].")
-/datum/artifact_trigger/touch/proc/owner_bumped(mob/user, atom/target)
- activate(user, "BUMPED")
+/datum/artifact_trigger/touch/proc/owner_bumped(atom/movable/bumper, atom/bumped)
+ if(!isliving(bumper))
+ return
+ activate(bumper, "BUMPED")
/datum/artifact_trigger/touch/proc/owner_attackhand(mob/user, atom/target)
activate(user, "TOUCH")
/datum/artifact_trigger/touch/Destroy()
- my_artifact.lazy_unregister_event(/lazy_event/on_attackhand, src, .proc/owner_attackhand)
- my_artifact.lazy_unregister_event(/lazy_event/on_bumped, src, .proc/owner_bumped)
+ my_artifact.unregister_event(/event/attackhand, src, .proc/owner_attackhand)
+ my_artifact.unregister_event(/event/bumped, src, .proc/owner_bumped)
..()
diff --git a/code/modules/spells/aoe_turf/conjure/arcane_golem.dm b/code/modules/spells/aoe_turf/conjure/arcane_golem.dm
index ca73a0953ea..b720554c8a4 100644
--- a/code/modules/spells/aoe_turf/conjure/arcane_golem.dm
+++ b/code/modules/spells/aoe_turf/conjure/arcane_golem.dm
@@ -33,7 +33,7 @@
/spell/aoe_turf/conjure/arcane_golem/cast(list/targets, mob/user)
//Link the golem to its master
newVars = list("master_spell" = src)
- user.lazy_register_event(/lazy_event/on_spellcast, src, .proc/copy_spellcast)
+ user.register_event(/event/spellcast, src, .proc/copy_spellcast)
check_golems()
diff --git a/code/modules/spells/aoe_turf/fall.dm b/code/modules/spells/aoe_turf/fall.dm
index 194ccb194af..9de49328f5a 100644
--- a/code/modules/spells/aoe_turf/fall.dm
+++ b/code/modules/spells/aoe_turf/fall.dm
@@ -113,7 +113,7 @@ var/global/list/falltempoverlays = list()
if(C.mob)
C.mob.see_fall()
- user.lazy_invoke_event(/lazy_event/on_spellcast, list("spell" = src, "user" = user, "targets" = targets))
+ user.invoke_event(/event/spellcast, list("spell" = src, "user" = user, "targets" = targets))
//animate(aoe_underlay, transform = null, time = 2)
//var/oursound = (invocation == "ZA WARUDO" ? 'sound/effects/theworld.ogg' :'sound/effects/fall.ogg')
diff --git a/code/modules/spells/general/reflect_pain.dm b/code/modules/spells/general/reflect_pain.dm
index 79e2f548dee..3a75f757d29 100644
--- a/code/modules/spells/general/reflect_pain.dm
+++ b/code/modules/spells/general/reflect_pain.dm
@@ -39,13 +39,13 @@
for(var/mob/living/T in view(L))
if(!T.isDead() && (T != L))
to_chat(T, "An unholy charm binds your life to [L]. While the spell is active, any pain \he receive\s will be redirected to you.")
- L.lazy_register_event(/lazy_event/on_damaged, src, .proc/reflect)
+ L.register_event(/event/damaged, src, .proc/reflect)
L.overlays.Add(user_overlay)
playsound(L, 'sound/effects/vampire_intro.ogg', 80, 1, "vary" = 0)
spawn(duration)
to_chat(L, "Your life essence is no longer bound to this plane. You won't reflect received damage to your enemies anymore.")
- L.lazy_unregister_event(/lazy_event/on_damaged, src, .proc/reflect)
+ L.unregister_event(/event/damaged, src, .proc/reflect)
L.overlays.Remove(user_overlay)
/spell/mirror_of_pain/proc/reflect(kind, amount)
diff --git a/code/modules/spells/spell_code.dm b/code/modules/spells/spell_code.dm
index 355665b9485..b0870549feb 100644
--- a/code/modules/spells/spell_code.dm
+++ b/code/modules/spells/spell_code.dm
@@ -195,7 +195,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now
invocation(user, targets)
user.attack_log += text("\[[time_stamp()]\] [user.real_name] ([user.ckey]) cast the spell [name].")
- user.lazy_invoke_event(/lazy_event/on_spellcast, list("spell" = src, "user" = user, "targets" = targets))
+ user.invoke_event(/event/spellcast, list("spell" = src, "user" = user, "targets" = targets))
if(prob(critfailchance))
critfail(targets, user)
@@ -213,17 +213,17 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now
if(!cast_check(skipcharge, user))
return 0
user.remove_spell_channeling() //In case we're swapping from an older spell to this new one
- user.lazy_register_event(/lazy_event/on_uattack, src, .proc/channeled_spell)
+ user.register_event(/event/uattack, src, .proc/channeled_spell)
user.spell_channeling = src
if(spell_flags & CAN_CHANNEL_RESTRAINED)
- user.lazy_register_event(/lazy_event/on_ruattack, src, .proc/channeled_spell)
+ user.register_event(/event/ruattack, src, .proc/channeled_spell)
user.spell_channeling = src
connected_button.name = "(Ready) [name]"
currently_channeled = 1
connected_button.add_channeling()
else
- user.lazy_unregister_event(/lazy_event/on_uattack, src, .proc/channeled_spell)
- user.lazy_unregister_event(/lazy_event/on_ruattack, src, .proc/channeled_spell)
+ user.unregister_event(/event/uattack, src, .proc/channeled_spell)
+ user.unregister_event(/event/ruattack, src, .proc/channeled_spell)
user.spell_channeling = null
currently_channeled = 0
connected_button.remove_channeling()
@@ -242,7 +242,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now
invocation(user, target)
user.attack_log += text("\[[time_stamp()]\] [user.real_name] ([user.ckey]) cast the spell [name].")
- user.lazy_invoke_event(/lazy_event/on_spellcast, list("spell" = src, "user" = user, "targets" = target))
+ user.invoke_event(/event/spellcast, list("spell" = src, "user" = user, "targets" = target))
if(prob(critfailchance))
critfail(target, holder)
diff --git a/code/modules/spells/targeted/ethereal_jaunt.dm b/code/modules/spells/targeted/ethereal_jaunt.dm
index 265141fc3f8..08974b5201f 100644
--- a/code/modules/spells/targeted/ethereal_jaunt.dm
+++ b/code/modules/spells/targeted/ethereal_jaunt.dm
@@ -120,9 +120,9 @@
if(target.client)
for(var/A in jaunts)
target.client.images += jaunts[A]
- target.lazy_register_event(/lazy_event/on_moved, jaunts[target], /proc/update_dir_on_moved_callback)
+ target.register_event(/event/moved, jaunts[target], /proc/update_dir_on_moved_callback)
ethereal_jaunt(target, duration, enteranim, exitanim, mist)
- target.lazy_unregister_event(/lazy_event/on_moved, jaunts[target], /proc/update_dir_on_moved_callback)
+ target.unregister_event(/event/moved, jaunts[target], /proc/update_dir_on_moved_callback)
if(target.client)
for(var/A in jaunts)
target.client.images -= jaunts[A]
diff --git a/code/modules/unit_tests/__unit_test_includes.dm b/code/modules/unit_tests/__unit_test_includes.dm
index cb782da9a07..d41c17691ab 100644
--- a/code/modules/unit_tests/__unit_test_includes.dm
+++ b/code/modules/unit_tests/__unit_test_includes.dm
@@ -9,7 +9,7 @@
#include "highscores.dm"
#include "human.dm"
#include "icons.dm"
-#include "lazy_events.dm"
+#include "events.dm"
#include "names.dm"
#include "reagent_recipe_collisions.dm"
#include "turretid.dm"
diff --git a/code/modules/unit_tests/events.dm b/code/modules/unit_tests/events.dm
new file mode 100644
index 00000000000..be9207cc805
--- /dev/null
+++ b/code/modules/unit_tests/events.dm
@@ -0,0 +1,38 @@
+/event/demo_event
+/datum/unit_test
+ var/did_something = FALSE
+/datum/unit_test/event_does_stuff/start()
+ var/datum/demo_datum = new
+ demo_datum.register_event(/event/demo_event, src, .proc/do_something)
+ demo_datum.invoke_event(/event/demo_event)
+ if(!did_something)
+ fail("lazy event did nothing")
+/datum/unit_test/event_does_stuff/proc/do_something()
+ did_something = TRUE
+
+/datum/unit_test/event_cleanup/start()
+ var/datum/demo_datum = new
+ if(!isnull(demo_datum.registered_events))
+ fail("registered_events is not null by default")
+ demo_datum.register_event(/event/demo_event, src, .proc/do_nothing)
+ assert_eq(demo_datum.registered_events.len, 1)
+ assert_eq(demo_datum.registered_events[/event/demo_event].len, 1)
+ demo_datum.unregister_event(/event/demo_event, src, .proc/do_nothing)
+ if(!isnull(demo_datum.registered_events))
+ fail("registered_events is not null after removing the last handler")
+/datum/unit_test/event_cleanup/proc/do_nothing()
+
+/datum/unit_test/event_arguments/start()
+ var/datum/demo_datum = new
+ demo_datum.register_event(/event/demo_event, src, .proc/do_stuff_with_args)
+ demo_datum.invoke_event(/event/demo_event, list("abc", 123))
+ demo_datum.unregister_event(/event/demo_event, src, .proc/do_stuff_with_args)
+
+ demo_datum.register_event(/event/demo_event, src, .proc/do_something_with_named_args)
+ demo_datum.invoke_event(/event/demo_event, list("second_parameter"=1))
+/datum/unit_test/event_arguments/proc/do_stuff_with_args(string, number)
+ assert_eq(string, "abc")
+ assert_eq(number, 123)
+/datum/unit_test/event_arguments/proc/do_something_with_named_args(first_parameter, second_parameter)
+ assert_eq(first_parameter, null)
+ assert_eq(second_parameter, 1)
diff --git a/code/modules/unit_tests/lazy_events.dm b/code/modules/unit_tests/lazy_events.dm
deleted file mode 100644
index e87b3f330d4..00000000000
--- a/code/modules/unit_tests/lazy_events.dm
+++ /dev/null
@@ -1,38 +0,0 @@
-/lazy_event/demo_event
-/datum/unit_test
- var/did_something = FALSE
-/datum/unit_test/lazy_event_does_stuff/start()
- var/datum/demo_datum = new
- demo_datum.lazy_register_event(/lazy_event/demo_event, src, .proc/do_something)
- demo_datum.lazy_invoke_event(/lazy_event/demo_event)
- if(!did_something)
- fail("lazy event did nothing")
-/datum/unit_test/lazy_event_does_stuff/proc/do_something()
- did_something = TRUE
-
-/datum/unit_test/lazy_event_cleanup/start()
- var/datum/demo_datum = new
- if(!isnull(demo_datum.registered_events))
- fail("registered_events is not null by default")
- demo_datum.lazy_register_event(/lazy_event/demo_event, src, .proc/do_nothing)
- assert_eq(demo_datum.registered_events.len, 1)
- assert_eq(demo_datum.registered_events[/lazy_event/demo_event].len, 1)
- demo_datum.lazy_unregister_event(/lazy_event/demo_event, src, .proc/do_nothing)
- if(!isnull(demo_datum.registered_events))
- fail("registered_events is not null after removing the last handler")
-/datum/unit_test/lazy_event_cleanup/proc/do_nothing()
-
-/datum/unit_test/lazy_event_arguments/start()
- var/datum/demo_datum = new
- demo_datum.lazy_register_event(/lazy_event/demo_event, src, .proc/do_stuff_with_args)
- demo_datum.lazy_invoke_event(/lazy_event/demo_event, list("abc", 123))
- demo_datum.lazy_unregister_event(/lazy_event/demo_event, src, .proc/do_stuff_with_args)
-
- demo_datum.lazy_register_event(/lazy_event/demo_event, src, .proc/do_something_with_named_args)
- demo_datum.lazy_invoke_event(/lazy_event/demo_event, list("second_parameter"=1))
-/datum/unit_test/lazy_event_arguments/proc/do_stuff_with_args(string, number)
- assert_eq(string, "abc")
- assert_eq(number, 123)
-/datum/unit_test/lazy_event_arguments/proc/do_something_with_named_args(first_parameter, second_parameter)
- assert_eq(first_parameter, null)
- assert_eq(second_parameter, 1)
diff --git a/code/modules/virus2/effect/stage_4.dm b/code/modules/virus2/effect/stage_4.dm
index aa3ae3292b7..44fd83b719b 100644
--- a/code/modules/virus2/effect/stage_4.dm
+++ b/code/modules/virus2/effect/stage_4.dm
@@ -828,8 +828,8 @@
/datum/disease2/effect/emitter/activate(var/mob/living/mob)
if (istype(mob) && !emitter)
emitter = mob
- emitter.lazy_register_event(/lazy_event/on_before_move, src, /datum/disease2/effect/emitter/proc/update_emitter_start)
- emitter.lazy_register_event(/lazy_event/on_after_move, src, /datum/disease2/effect/emitter/proc/update_emitter_end)
+ emitter.register_event(/event/before_move, src, /datum/disease2/effect/emitter/proc/update_emitter_start)
+ emitter.register_event(/event/after_move, src, /datum/disease2/effect/emitter/proc/update_emitter_end)
if(ishuman(mob))
var/mob/living/carbon/human/H = mob
@@ -896,8 +896,8 @@
qdel(beam)
beam = null
if (emitter)
- emitter.lazy_unregister_event(/lazy_event/on_before_move, src, /datum/disease2/effect/emitter/proc/update_emitter_start)
- emitter.lazy_unregister_event(/lazy_event/on_after_move, src, /datum/disease2/effect/emitter/proc/update_emitter_end)
+ emitter.unregister_event(/event/before_move, src, /datum/disease2/effect/emitter/proc/update_emitter_start)
+ emitter.unregister_event(/event/after_move, src, /datum/disease2/effect/emitter/proc/update_emitter_end)
emitter = null
previous_dir = null
previous_loc = null
diff --git a/maps/randomvaults/sokoban.dm b/maps/randomvaults/sokoban.dm
index a24edb3be9c..440889f0c52 100644
--- a/maps/randomvaults/sokoban.dm
+++ b/maps/randomvaults/sokoban.dm
@@ -114,12 +114,12 @@
for(var/obj/structure/closet/crate/sokoban/crate in objects)
//check_cheat performs some additional checks first, and only then marks the user as a cheater
- crate.lazy_register_event(/lazy_event/on_moved, crate, /obj/structure/closet/crate/sokoban/proc/check_cheat)
+ crate.register_event(/event/moved, crate, /obj/structure/closet/crate/sokoban/proc/check_cheat)
crate.parent = src.parent
for(var/obj/structure/sokoban_teleporter/teleporter in objects)
//Teleporters are supposed to be unmovable, so if they're moved or deleted - it's guaranteed cheating
- teleporter.lazy_register_event(/lazy_event/on_moved, parent, /datum/map_element/vault/sokoban/proc/on_cheat)
+ teleporter.register_event(/event/moved, parent, /datum/map_element/vault/sokoban/proc/on_cheat)
if(parent)
parent.teleporters.Add(teleporter)
@@ -137,7 +137,7 @@
reward = track_atom(locate(/obj/item/clothing/suit/armor/laserproof/advanced) in objects)
if(reward)
reward_turf = get_turf(reward)
- reward.lazy_register_event(/lazy_event/on_moved, parent, /datum/map_element/vault/sokoban/proc/mark_winner)
+ reward.register_event(/event/moved, parent, /datum/map_element/vault/sokoban/proc/mark_winner)
/*
This ladder stuff looks confusing, so here's an illustration!!!
diff --git a/maps/randomvaults/spessmart.dm b/maps/randomvaults/spessmart.dm
index bb97ec7f264..be0ce6ae317 100644
--- a/maps/randomvaults/spessmart.dm
+++ b/maps/randomvaults/spessmart.dm
@@ -266,7 +266,7 @@ var/list/clothing_prices = list() //gets filled on initialize()
for(var/atom/movable/AM in (src.contents + E.contents))
if(!is_type_in_list(AM, protected_objects)) continue
- AM.lazy_register_event(/lazy_event/on_destroyed, src, .proc/item_destroyed)
+ AM.register_event(/event/destroyed, src, .proc/item_destroyed)
/area/vault/supermarket/shop/Exited(atom/movable/AM, atom/newloc)
..()
@@ -739,7 +739,7 @@ var/list/clothing_prices = list() //gets filled on initialize()
var/price = to_spawn[new_item_type]
I.name = "[I.name] ($[price])"
- I.lazy_register_event(/lazy_event/on_destroyed, S, /area/vault/supermarket/shop/proc/item_destroyed) //Only trigger alarm when an item for sale is destroyed
+ I.register_event(/event/destroyed, S, /area/vault/supermarket/shop/proc/item_destroyed) //Only trigger alarm when an item for sale is destroyed
S.items[I] = price