mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Pulls apart the vestiges of components still hanging onto signals (#75914)
## About The Pull Request Signals were initially only usable with component listeners, which while no longer the case has lead to outdated documentation, names, and a similar location in code. This pr pulls the two apart. Partially because mso thinks we should, but also because they really aren't directly linked anymore, and having them in this midstate just confuses people. [Renames comp_lookup to listen_lookup, since that's what it does](https://github.com/tgstation/tgstation/commit/102b79694fa8eb57ecf7b36032616a9e368ccced) [Moves signal procs over to their own file](https://github.com/tgstation/tgstation/commit/33d07d01fd336726b4f6f6f1b61bb0b3f11a00dc) [Renames the PREQDELETING and QDELETING comsigs to drop the parent bit since they can hook to more then just comps now](https://github.com/tgstation/tgstation/commit/335ea4ad081ec63c42cfa05856e582cca833af6e) [Does something similar to the attackby comsigs (PARENT -> ATOM)](https://github.com/tgstation/tgstation/commit/210e57051df63f88dac3dd83321236da825aae5e) [And finally passes over the examine signals](https://github.com/tgstation/tgstation/commit/65917658fb8a1e7d28ae23c9437a583d646f0302) ## Why It's Good For The Game Code makes more sense, things are better teased apart, s just good imo ## Changelog 🆑 refactor: Pulled apart the last vestiges of names/docs directly linking signals to components /🆑
This commit is contained in:
@@ -53,7 +53,7 @@
|
||||
/// Links the passed target to our action, registering any relevant signals
|
||||
/datum/action/proc/link_to(Target)
|
||||
target = Target
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clear_ref), override = TRUE)
|
||||
RegisterSignal(target, COMSIG_QDELETING, PROC_REF(clear_ref), override = TRUE)
|
||||
|
||||
if(isatom(target))
|
||||
RegisterSignal(target, COMSIG_ATOM_UPDATED_ICON, PROC_REF(on_target_icon_update))
|
||||
@@ -89,7 +89,7 @@
|
||||
SEND_SIGNAL(src, COMSIG_ACTION_GRANTED, grant_to)
|
||||
SEND_SIGNAL(grant_to, COMSIG_MOB_GRANTED_ACTION, src)
|
||||
owner = grant_to
|
||||
RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(clear_ref), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_QDELETING, PROC_REF(clear_ref), override = TRUE)
|
||||
|
||||
// Register some signals based on our check_flags
|
||||
// so that our button icon updates when relevant
|
||||
@@ -121,7 +121,7 @@
|
||||
if(owner)
|
||||
SEND_SIGNAL(src, COMSIG_ACTION_REMOVED, owner)
|
||||
SEND_SIGNAL(owner, COMSIG_MOB_REMOVED_ACTION, src)
|
||||
UnregisterSignal(owner, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(owner, COMSIG_QDELETING)
|
||||
|
||||
// Clean up our check_flag signals
|
||||
UnregisterSignal(owner, list(
|
||||
@@ -133,7 +133,7 @@
|
||||
))
|
||||
|
||||
if(target == owner)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clear_ref))
|
||||
RegisterSignal(target, COMSIG_QDELETING, PROC_REF(clear_ref))
|
||||
owner = null
|
||||
|
||||
/// Actually triggers the effects of the action.
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
return
|
||||
RegisterSignal(new_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(pre_move))
|
||||
RegisterSignal(new_loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(post_move))
|
||||
RegisterSignal(new_loop, COMSIG_PARENT_QDELETING, PROC_REF(charge_end))
|
||||
RegisterSignal(new_loop, COMSIG_QDELETING, PROC_REF(charge_end))
|
||||
if(ismob(charger))
|
||||
RegisterSignal(charger, COMSIG_MOB_STATCHANGE, PROC_REF(stat_changed))
|
||||
|
||||
|
||||
@@ -363,7 +363,7 @@ multiple modular subtrees with behaviors
|
||||
else if(isdatum(tracked_datum)) { \
|
||||
var/datum/_tracked_datum = tracked_datum; \
|
||||
if(!HAS_TRAIT_FROM(_tracked_datum, TRAIT_AI_TRACKING, "[REF(src)]_[key]")) { \
|
||||
RegisterSignal(_tracked_datum, COMSIG_PARENT_QDELETING, PROC_REF(sig_remove_from_blackboard), override = TRUE); \
|
||||
RegisterSignal(_tracked_datum, COMSIG_QDELETING, PROC_REF(sig_remove_from_blackboard), override = TRUE); \
|
||||
ADD_TRAIT(_tracked_datum, TRAIT_AI_TRACKING, "[REF(src)]_[key]"); \
|
||||
}; \
|
||||
}; \
|
||||
@@ -380,7 +380,7 @@ multiple modular subtrees with behaviors
|
||||
var/datum/_tracked_datum = tracked_datum; \
|
||||
REMOVE_TRAIT(_tracked_datum, TRAIT_AI_TRACKING, "[REF(src)]_[key]"); \
|
||||
if(!HAS_TRAIT(_tracked_datum, TRAIT_AI_TRACKING)) { \
|
||||
UnregisterSignal(_tracked_datum, COMSIG_PARENT_QDELETING); \
|
||||
UnregisterSignal(_tracked_datum, COMSIG_QDELETING); \
|
||||
}; \
|
||||
}; \
|
||||
} while(FALSE)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
if(!ishostile(new_pawn))
|
||||
return AI_CONTROLLER_INCOMPATIBLE
|
||||
|
||||
RegisterSignal(new_pawn, COMSIG_PARENT_EXAMINE, PROC_REF(on_examined))
|
||||
RegisterSignal(new_pawn, COMSIG_ATOM_EXAMINE, PROC_REF(on_examined))
|
||||
RegisterSignal(new_pawn, COMSIG_CLICK_ALT, PROC_REF(check_altclicked))
|
||||
RegisterSignal(new_pawn, COMSIG_RIDDEN_DRIVER_MOVE, PROC_REF(on_ridden_driver_move))
|
||||
RegisterSignal(new_pawn, COMSIG_MOVABLE_PREBUCKLE, PROC_REF(on_prebuckle))
|
||||
@@ -35,10 +35,10 @@
|
||||
/datum/ai_controller/hostile_friend/UnpossessPawn(destroy)
|
||||
UnregisterSignal(pawn, list(
|
||||
COMSIG_ATOM_ATTACK_HAND,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_CLICK_ALT,
|
||||
COMSIG_LIVING_DEATH,
|
||||
COMSIG_PARENT_QDELETING
|
||||
COMSIG_QDELETING
|
||||
))
|
||||
unfriend()
|
||||
return ..() //Run parent at end
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
if(!istype(new_pawn, /mob/living/simple_animal/robot_customer))
|
||||
return AI_CONTROLLER_INCOMPATIBLE
|
||||
new_pawn.AddElement(/datum/element/relay_attackers)
|
||||
RegisterSignal(new_pawn, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(new_pawn, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(new_pawn, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(on_attacked))
|
||||
RegisterSignal(new_pawn, COMSIG_LIVING_GET_PULLED, PROC_REF(on_get_pulled))
|
||||
RegisterSignal(new_pawn, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_get_punched))
|
||||
return ..() //Run parent at end
|
||||
|
||||
/datum/ai_controller/robot_customer/UnpossessPawn(destroy)
|
||||
UnregisterSignal(pawn, list(COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_WAS_ATTACKED, COMSIG_LIVING_GET_PULLED, COMSIG_ATOM_ATTACK_HAND))
|
||||
UnregisterSignal(pawn, list(COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_WAS_ATTACKED, COMSIG_LIVING_GET_PULLED, COMSIG_ATOM_ATTACK_HAND))
|
||||
return ..() //Run parent at end
|
||||
|
||||
/datum/ai_controller/robot_customer/proc/on_attackby(datum/source, obj/item/I, mob/living/user)
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
var/list/cameras = source_area.cameras
|
||||
if(optional_camera)
|
||||
cameras = list(optional_camera) // This will cause harddels, so we need to clear manually
|
||||
RegisterSignal(optional_camera, COMSIG_PARENT_QDELETING, PROC_REF(clear_camera_ref), override = TRUE) //It's just fine to override, cause we clear all refs in the proc
|
||||
RegisterSignal(optional_camera, COMSIG_QDELETING, PROC_REF(clear_camera_ref), override = TRUE) //It's just fine to override, cause we clear all refs in the proc
|
||||
|
||||
//This does mean that only the first alarm of that camera type in the area will send a ping, but jesus what else can ya do
|
||||
alarms_of_our_type[source_area.name] = list(source_area, cameras, list(handler))
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/datum/browser/New(nuser, nwindow_id, ntitle = 0, nwidth = 0, nheight = 0, atom/nref = null)
|
||||
user = nuser
|
||||
RegisterSignal(user, COMSIG_PARENT_QDELETING, PROC_REF(user_deleted))
|
||||
RegisterSignal(user, COMSIG_QDELETING, PROC_REF(user_deleted))
|
||||
window_id = nwindow_id
|
||||
if (ntitle)
|
||||
title = format_text(ntitle)
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
// Register client who owns this message
|
||||
owned_by = owner.client
|
||||
RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_qdel))
|
||||
RegisterSignal(owned_by, COMSIG_QDELETING, PROC_REF(on_parent_qdel))
|
||||
|
||||
// Remove spans in the message from things like the recorder
|
||||
var/static/regex/span_check = new(@"<\/?span[^>]*>", "gi")
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
watching += watching_client
|
||||
watching_mob.overlay_fullscreen("cinematic", /atom/movable/screen/fullscreen/cinematic_backdrop)
|
||||
watching_client.screen += screen
|
||||
RegisterSignal(watching_client, COMSIG_PARENT_QDELETING, PROC_REF(remove_watcher))
|
||||
RegisterSignal(watching_client, COMSIG_QDELETING, PROC_REF(remove_watcher))
|
||||
|
||||
/// Simple helper for playing sounds from the cinematic.
|
||||
/datum/cinematic/proc/play_cinematic_sound(sound_to_play)
|
||||
@@ -161,7 +161,7 @@
|
||||
if(!(no_longer_watching in watching))
|
||||
CRASH("cinematic remove_watcher was passed a client which wasn't watching.")
|
||||
|
||||
UnregisterSignal(no_longer_watching, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(no_longer_watching, COMSIG_QDELETING)
|
||||
// We'll clear the cinematic if they have a mob which has one,
|
||||
// but we won't remove notransform. Wait for the cinematic end to do that.
|
||||
no_longer_watching.mob?.clear_fullscreen("cinematic")
|
||||
|
||||
@@ -189,109 +189,6 @@
|
||||
if(!LAZYLEN(sources))
|
||||
qdel(src)
|
||||
|
||||
/**
|
||||
* Register to listen for a signal from the passed in target
|
||||
*
|
||||
* This sets up a listening relationship such that when the target object emits a signal
|
||||
* the source datum this proc is called upon, will receive a callback to the given proctype
|
||||
* Use PROC_REF(procname), TYPE_PROC_REF(type,procname) or GLOBAL_PROC_REF(procname) macros to validate the passed in proc at compile time.
|
||||
* PROC_REF for procs defined on current type or it's ancestors, TYPE_PROC_REF for procs defined on unrelated type and GLOBAL_PROC_REF for global procs.
|
||||
* Return values from procs registered must be a bitfield
|
||||
*
|
||||
* Arguments:
|
||||
* * datum/target The target to listen for signals from
|
||||
* * signal_type A signal name
|
||||
* * proctype The proc to call back when the signal is emitted
|
||||
* * override If a previous registration exists you must explicitly set this
|
||||
*/
|
||||
/datum/proc/RegisterSignal(datum/target, signal_type, proctype, override = FALSE)
|
||||
if(QDELETED(src) || QDELETED(target))
|
||||
return
|
||||
|
||||
if (islist(signal_type))
|
||||
var/static/list/known_failures = list()
|
||||
var/list/signal_type_list = signal_type
|
||||
var/message = "([target.type]) is registering [signal_type_list.Join(", ")] as a list, the older method. Change it to RegisterSignals."
|
||||
|
||||
if (!(message in known_failures))
|
||||
known_failures[message] = TRUE
|
||||
stack_trace("[target] [message]")
|
||||
|
||||
RegisterSignals(target, signal_type, proctype, override)
|
||||
return
|
||||
|
||||
var/list/procs = (_signal_procs ||= list())
|
||||
var/list/target_procs = (procs[target] ||= list())
|
||||
var/list/lookup = (target._comp_lookup ||= list())
|
||||
|
||||
if(!override && target_procs[signal_type])
|
||||
var/override_message = "[signal_type] overridden. Use override = TRUE to suppress this warning.\nTarget: [target] ([target.type]) Proc: [proctype]"
|
||||
log_signal(override_message)
|
||||
stack_trace(override_message)
|
||||
|
||||
target_procs[signal_type] = proctype
|
||||
var/list/looked_up = lookup[signal_type]
|
||||
|
||||
if(isnull(looked_up)) // Nothing has registered here yet
|
||||
lookup[signal_type] = src
|
||||
else if(looked_up == src) // We already registered here
|
||||
return
|
||||
else if(!length(looked_up)) // One other thing registered here
|
||||
lookup[signal_type] = list((looked_up) = TRUE, (src) = TRUE)
|
||||
else // Many other things have registered here
|
||||
looked_up[src] = TRUE
|
||||
|
||||
/// Registers multiple signals to the same proc.
|
||||
/datum/proc/RegisterSignals(datum/target, list/signal_types, proctype, override = FALSE)
|
||||
for (var/signal_type in signal_types)
|
||||
RegisterSignal(target, signal_type, proctype, override)
|
||||
|
||||
/**
|
||||
* Stop listening to a given signal from target
|
||||
*
|
||||
* Breaks the relationship between target and source datum, removing the callback when the signal fires
|
||||
*
|
||||
* Doesn't care if a registration exists or not
|
||||
*
|
||||
* Arguments:
|
||||
* * datum/target Datum to stop listening to signals from
|
||||
* * sig_typeor_types Signal string key or list of signal keys to stop listening to specifically
|
||||
*/
|
||||
/datum/proc/UnregisterSignal(datum/target, sig_type_or_types)
|
||||
var/list/lookup = target._comp_lookup
|
||||
if(!_signal_procs || !_signal_procs[target] || !lookup)
|
||||
return
|
||||
if(!islist(sig_type_or_types))
|
||||
sig_type_or_types = list(sig_type_or_types)
|
||||
for(var/sig in sig_type_or_types)
|
||||
if(!_signal_procs[target][sig])
|
||||
if(!istext(sig))
|
||||
stack_trace("We're unregistering with something that isn't a valid signal \[[sig]\], you fucked up")
|
||||
continue
|
||||
switch(length(lookup[sig]))
|
||||
if(2)
|
||||
lookup[sig] = (lookup[sig]-src)[1]
|
||||
if(1)
|
||||
stack_trace("[target] ([target.type]) somehow has single length list inside _comp_lookup")
|
||||
if(src in lookup[sig])
|
||||
lookup -= sig
|
||||
if(!length(lookup))
|
||||
target._comp_lookup = null
|
||||
break
|
||||
if(0)
|
||||
if(lookup[sig] != src)
|
||||
continue
|
||||
lookup -= sig
|
||||
if(!length(lookup))
|
||||
target._comp_lookup = null
|
||||
break
|
||||
else
|
||||
lookup[sig] -= src
|
||||
|
||||
_signal_procs[target] -= sig_type_or_types
|
||||
if(!_signal_procs[target].len)
|
||||
_signal_procs -= target
|
||||
|
||||
/**
|
||||
* Called on a component when a component of the same type was added to the same parent
|
||||
*
|
||||
@@ -344,29 +241,7 @@
|
||||
//and since most components are root level + 1, this won't even have to run
|
||||
while (current_type != /datum/component)
|
||||
current_type = type2parent(current_type)
|
||||
. += current_type
|
||||
|
||||
/**
|
||||
* Internal proc to handle most all of the signaling procedure
|
||||
*
|
||||
* Will runtime if used on datums with an empty comp_lookup list
|
||||
*
|
||||
* Use the [SEND_SIGNAL] define instead
|
||||
*/
|
||||
/datum/proc/_SendSignal(sigtype, list/arguments)
|
||||
var/target = _comp_lookup[sigtype]
|
||||
if(!length(target))
|
||||
var/datum/listening_datum = target
|
||||
return NONE | call(listening_datum, listening_datum._signal_procs[src][sigtype])(arglist(arguments))
|
||||
. = NONE
|
||||
// This exists so that even if one of the signal receivers unregisters the signal,
|
||||
// all the objects that are receiving the signal get the signal this final time.
|
||||
// AKA: No you can't cancel the signal reception of another object by doing an unregister in the same signal.
|
||||
var/list/queued_calls = list()
|
||||
for(var/datum/listening_datum as anything in target)
|
||||
queued_calls[listening_datum] = listening_datum._signal_procs[src][sigtype]
|
||||
for(var/datum/listening_datum as anything in queued_calls)
|
||||
. |= call(listening_datum, queued_calls[listening_datum])(arglist(arguments))
|
||||
. += current_type
|
||||
|
||||
// The type arg is casted so initial works, you shouldn't be passing a real instance into this
|
||||
/**
|
||||
|
||||
@@ -73,7 +73,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
return ..()
|
||||
|
||||
/datum/component/acid/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays))
|
||||
RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand))
|
||||
@@ -85,7 +85,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
|
||||
/datum/component/acid/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_ATOM_UPDATE_OVERLAYS,
|
||||
COMSIG_COMPONENT_CLEAN_ACT,
|
||||
COMSIG_ATOM_ATTACK_HAND,
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
list(
|
||||
COMSIG_ADMIN_HELP_MADE_INACTIVE,
|
||||
COMSIG_ADMIN_HELP_REPLIED,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
),
|
||||
PROC_REF(delete_self),
|
||||
)
|
||||
@@ -36,7 +36,7 @@
|
||||
UnregisterSignal(ticket, list(
|
||||
COMSIG_ADMIN_HELP_MADE_INACTIVE,
|
||||
COMSIG_ADMIN_HELP_REPLIED,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
))
|
||||
|
||||
ticket = null
|
||||
|
||||
@@ -298,6 +298,6 @@
|
||||
remove_from_aquarium()
|
||||
|
||||
/datum/component/aquarium_content/proc/remove_from_aquarium()
|
||||
UnregisterSignal(current_aquarium, list(COMSIG_AQUARIUM_SURFACE_CHANGED, COMSIG_AQUARIUM_FLUID_CHANGED, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_EXITED))
|
||||
UnregisterSignal(current_aquarium, list(COMSIG_AQUARIUM_SURFACE_CHANGED, COMSIG_AQUARIUM_FLUID_CHANGED, COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_EXITED))
|
||||
remove_visual_from_aquarium()
|
||||
current_aquarium = null
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
if(!isobj(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(applyplate))
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(dropplates))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(applyplate))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(dropplates))
|
||||
if(istype(parent, /obj/vehicle/sealed/mecha/working/ripley))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_mech_overlays))
|
||||
|
||||
|
||||
@@ -52,11 +52,11 @@
|
||||
RegisterSignal(parent, COMSIG_LIVING_IGNITED, PROC_REF(on_ignite))
|
||||
if(washable)
|
||||
RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(peel))
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(on_attached_qdel))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(on_attached_qdel))
|
||||
|
||||
/datum/component/attached_sticker/UnregisterFromParent()
|
||||
if(sticker.resistance_flags & FLAMMABLE)
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_IGNITED, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_IGNITED, COMSIG_QDELETING))
|
||||
if(signal_turf)
|
||||
UnregisterSignal(signal_turf, COMSIG_TURF_EXPOSE)
|
||||
signal_turf = null
|
||||
@@ -77,7 +77,7 @@
|
||||
qdel(sticker)
|
||||
peel()
|
||||
|
||||
/// Signal handler for COMSIG_PARENT_QDELETING, deletes this sticker if the attached object is deleted
|
||||
/// Signal handler for COMSIG_QDELETING, deletes this sticker if the attached object is deleted
|
||||
/datum/component/attached_sticker/proc/on_attached_qdel(datum/source)
|
||||
SIGNAL_HANDLER
|
||||
qdel(sticker)
|
||||
|
||||
@@ -37,10 +37,10 @@
|
||||
/datum/component/bakeable/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_ITEM_OVEN_PLACED_IN, PROC_REF(on_baking_start))
|
||||
RegisterSignal(parent, COMSIG_ITEM_OVEN_PROCESS, PROC_REF(on_bake))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/bakeable/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_OVEN_PLACED_IN, COMSIG_ITEM_OVEN_PROCESS, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_OVEN_PLACED_IN, COMSIG_ITEM_OVEN_PROCESS, COMSIG_ATOM_EXAMINE))
|
||||
|
||||
/// Signal proc for [COMSIG_ITEM_OVEN_PLACED_IN] when baking starts (parent enters an oven)
|
||||
/datum/component/bakeable/proc/on_baking_start(datum/source, atom/used_oven, mob/baker)
|
||||
|
||||
@@ -35,7 +35,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
return ..()
|
||||
|
||||
/datum/component/burning/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXTINGUISH, PROC_REF(on_extinguish))
|
||||
var/atom/atom_parent = parent
|
||||
@@ -43,7 +43,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e
|
||||
atom_parent.update_appearance()
|
||||
|
||||
/datum/component/burning/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_ATOM_EXTINGUISH))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_ATOM_EXTINGUISH))
|
||||
var/atom/atom_parent = parent
|
||||
if(!QDELETED(atom_parent))
|
||||
atom_parent.resistance_flags &= ~ON_FIRE
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_CLOTHING_VISOR_TOGGLE))
|
||||
if(wearer)
|
||||
wearer.remove_fov_trait(src, fov_angle)
|
||||
UnregisterSignal(wearer, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(wearer, COMSIG_QDELETING)
|
||||
wearer = null
|
||||
return ..()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
SIGNAL_HANDLER
|
||||
is_worn = FALSE
|
||||
if(wearer) // Prevent any edge cases where on_drop is called with a different dropper to the one who equipped the visor.
|
||||
UnregisterSignal(wearer, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(wearer, COMSIG_QDELETING)
|
||||
wearer.remove_fov_trait(src, fov_angle)
|
||||
wearer = null
|
||||
if(visor_up)
|
||||
@@ -50,10 +50,10 @@
|
||||
return
|
||||
is_worn = TRUE
|
||||
if(wearer && wearer != equipper)
|
||||
UnregisterSignal(wearer, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(wearer, COMSIG_QDELETING)
|
||||
wearer.remove_fov_trait(src, fov_angle)
|
||||
wearer = equipper
|
||||
RegisterSignal(wearer, COMSIG_PARENT_QDELETING, PROC_REF(on_wearer_deleted))
|
||||
RegisterSignal(wearer, COMSIG_QDELETING, PROC_REF(on_wearer_deleted))
|
||||
if(visor_up)
|
||||
return
|
||||
equipper.add_fov_trait(src, fov_angle)
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
src.can_attack_callback = can_attack_callback
|
||||
|
||||
/datum/component/combo_attacks/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(on_examine_more))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examine_more))
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self))
|
||||
RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_drop))
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack))
|
||||
|
||||
/datum/component/combo_attacks/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_PARENT_EXAMINE_MORE, COMSIG_ITEM_ATTACK_SELF, COMSIG_ITEM_DROPPED, COMSIG_ITEM_ATTACK))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_EXAMINE_MORE, COMSIG_ITEM_ATTACK_SELF, COMSIG_ITEM_DROPPED, COMSIG_ITEM_ATTACK))
|
||||
|
||||
/datum/component/combo_attacks/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
src.gas_amount = initialize_gas_amount
|
||||
src.temp_amount = initialize_temp_amount
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(attackby_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, PROC_REF(flame_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_BULLET_ACT, PROC_REF(projectile_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), PROC_REF(welder_react))
|
||||
@@ -19,7 +19,7 @@
|
||||
RegisterSignal(parent, COMSIG_TURF_EXPOSE, PROC_REF(hotspots_react))
|
||||
|
||||
/datum/component/combustible_flooder/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_ATTACKBY)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_FIRE_ACT)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_BULLET_ACT)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER))
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
|
||||
/datum/component/connect_containers/proc/set_tracked(atom/movable/new_tracked)
|
||||
if(tracked)
|
||||
UnregisterSignal(tracked, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(tracked, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING))
|
||||
unregister_signals(tracked.loc)
|
||||
tracked = new_tracked
|
||||
if(!tracked)
|
||||
return
|
||||
RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
|
||||
RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
RegisterSignal(tracked, COMSIG_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
update_signals(tracked)
|
||||
|
||||
/datum/component/connect_containers/proc/handle_tracked_qdel()
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
|
||||
/datum/component/connect_loc_behalf/RegisterWithParent()
|
||||
RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
|
||||
RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
RegisterSignal(tracked, COMSIG_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
update_signals()
|
||||
|
||||
/datum/component/connect_loc_behalf/UnregisterFromParent()
|
||||
unregister_signals()
|
||||
UnregisterSignal(tracked, list(
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
))
|
||||
|
||||
tracked = null
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
src.tracked = tracked
|
||||
|
||||
/datum/component/connect_mob_behalf/RegisterWithParent()
|
||||
RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
RegisterSignal(tracked, COMSIG_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
update_signals()
|
||||
|
||||
/datum/component/connect_mob_behalf/UnregisterFromParent()
|
||||
unregister_signals()
|
||||
UnregisterSignal(tracked, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(tracked, COMSIG_QDELETING)
|
||||
|
||||
tracked = null
|
||||
tracked_mob = null
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
unregister_signals(isturf(tracked) ? tracked : tracked.loc)
|
||||
UnregisterSignal(tracked, list(
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
))
|
||||
tracked = new_tracked
|
||||
if(!tracked)
|
||||
return
|
||||
//Register signals on the new tracked atom and its surroundings.
|
||||
RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
|
||||
RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
RegisterSignal(tracked, COMSIG_QDELETING, PROC_REF(handle_tracked_qdel))
|
||||
update_signals(tracked)
|
||||
|
||||
/datum/component/connect_range/proc/handle_tracked_qdel()
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
if(!isatom(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(action))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(action))
|
||||
update_parent(index)
|
||||
|
||||
/datum/component/construction/proc/examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var/atom/movable/moving_parent = parent
|
||||
var/datum/move_loop/loop = SSmove_manager.move(moving_parent, direction, delay = start_delay, subsystem = SSconveyors, flags=MOVEMENT_LOOP_IGNORE_PRIORITY|MOVEMENT_LOOP_OUTSIDE_CONTROL)
|
||||
RegisterSignal(loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(should_move))
|
||||
RegisterSignal(loop, COMSIG_PARENT_QDELETING, PROC_REF(loop_ended))
|
||||
RegisterSignal(loop, COMSIG_QDELETING, PROC_REF(loop_ended))
|
||||
|
||||
/datum/component/convey/proc/should_move(datum/move_loop/source)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -28,14 +28,14 @@
|
||||
return ..()
|
||||
|
||||
/datum/component/crate_carrier/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(on_unarm_attack))
|
||||
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(on_death))
|
||||
|
||||
/datum/component/crate_carrier/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_LIVING_DEATH, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_LIVING_DEATH, COMSIG_ATOM_EXAMINE))
|
||||
|
||||
/// Signal proc for [COMSIG_PARENT_EXAMINE] to show when we're carrying crates
|
||||
/// Signal proc for [COMSIG_ATOM_EXAMINE] to show when we're carrying crates
|
||||
/datum/component/crate_carrier/proc/on_examine(mob/living/source, mob/examiner, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_EFFECT, PROC_REF(try_clear_rune))
|
||||
|
||||
if(examine_message)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/cult_ritual_item/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
@@ -59,11 +59,11 @@
|
||||
COMSIG_ITEM_ATTACK,
|
||||
COMSIG_ITEM_ATTACK_OBJ,
|
||||
COMSIG_ITEM_ATTACK_EFFECT,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
))
|
||||
|
||||
/*
|
||||
* Signal proc for [COMSIG_PARENT_EXAMINE].
|
||||
* Signal proc for [COMSIG_ATOM_EXAMINE].
|
||||
* Gives the examiner, if they're a cultist, our set examine message.
|
||||
* Usually, this will include various instructions on how to use the thing.
|
||||
*/
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
/datum/component/curse_of_hunger/RegisterWithParent()
|
||||
. = ..()
|
||||
var/obj/item/cursed_item = parent
|
||||
RegisterSignal(cursed_item, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(cursed_item, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(cursed_item, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip))
|
||||
|
||||
/datum/component/curse_of_hunger/UnregisterFromParent()
|
||||
. = ..()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_ITEM_EQUIPPED,
|
||||
COMSIG_ITEM_DROPPED,
|
||||
))
|
||||
|
||||
@@ -62,8 +62,8 @@
|
||||
|
||||
/datum/component/customizable_reagent_holder/RegisterWithParent()
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(customizable_attack))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(customizable_attack))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_PROCESSED, PROC_REF(on_processed))
|
||||
RegisterSignal(parent, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, PROC_REF(on_requesting_context_from_item))
|
||||
ADD_TRAIT(parent, TRAIT_CUSTOMIZABLE_REAGENT_HOLDER, REF(src))
|
||||
@@ -72,8 +72,8 @@
|
||||
/datum/component/customizable_reagent_holder/UnregisterFromParent()
|
||||
. = ..()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_PARENT_ATTACKBY,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_ATTACKBY,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_ATOM_PROCESSED,
|
||||
COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM,
|
||||
))
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN, PROC_REF(orbit_begin))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ORBIT_STOP, PROC_REF(orbit_stop))
|
||||
RegisterSignal(parent, COMSIG_VV_TOPIC, PROC_REF(handle_vv_topic))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
deadchat_mode = _deadchat_mode
|
||||
inputs = _inputs
|
||||
input_cooldown = _input_cooldown
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
src.thing_to_be_deployed = thing_to_be_deployed
|
||||
src.delete_on_use = delete_on_use
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_hand))
|
||||
|
||||
var/obj/item/typecast = thing_to_be_deployed
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
RegisterSignal(drifting_loop, COMSIG_MOVELOOP_STOP, PROC_REF(drifting_stop))
|
||||
RegisterSignal(drifting_loop, COMSIG_MOVELOOP_PREPROCESS_CHECK, PROC_REF(before_move))
|
||||
RegisterSignal(drifting_loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(after_move))
|
||||
RegisterSignal(drifting_loop, COMSIG_PARENT_QDELETING, PROC_REF(loop_death))
|
||||
RegisterSignal(drifting_loop, COMSIG_QDELETING, PROC_REF(loop_death))
|
||||
RegisterSignal(movable_parent, COMSIG_MOVABLE_NEWTONIAN_MOVE, PROC_REF(newtonian_impulse))
|
||||
if(drifting_loop.running)
|
||||
drifting_start(drifting_loop) // There's a good chance it'll autostart, gotta catch that
|
||||
|
||||
@@ -41,11 +41,11 @@
|
||||
|
||||
/datum/component/egg_layer/RegisterWithParent()
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(feed_food))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(feed_food))
|
||||
|
||||
/datum/component/egg_layer/UnregisterFromParent()
|
||||
. = ..()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_ATTACKBY)
|
||||
|
||||
/datum/component/egg_layer/Destroy(force, silent)
|
||||
. = ..()
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
if(usage_flags & SHOCK_REQUIREMENT_ITEM)
|
||||
required_object = input_item
|
||||
required_object.Move(parent_as_movable)
|
||||
RegisterSignal(required_object, COMSIG_PARENT_QDELETING, PROC_REF(delete_self))
|
||||
RegisterSignal(required_object, COMSIG_QDELETING, PROC_REF(delete_self))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), PROC_REF(move_required_object_from_contents))
|
||||
|
||||
if(usage_flags & SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVED)
|
||||
@@ -109,7 +109,7 @@
|
||||
UnregisterSignal(parent, requested_signal_parent_emits)
|
||||
|
||||
if(required_object)
|
||||
UnregisterSignal(required_object, list(COMSIG_PARENT_QDELETING, COMSIG_ASSEMBLY_PULSED))
|
||||
UnregisterSignal(required_object, list(COMSIG_QDELETING, COMSIG_ASSEMBLY_PULSED))
|
||||
if(parent_as_movable && (required_object in parent_as_movable.contents))
|
||||
required_object.Move(parent_as_movable.loc)
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
limb._embed_object(weapon) // on the inside... on the inside...
|
||||
weapon.forceMove(victim)
|
||||
RegisterSignals(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), PROC_REF(weaponDeleted))
|
||||
RegisterSignals(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING), PROC_REF(weaponDeleted))
|
||||
victim.visible_message(span_danger("[weapon] [harmful ? "embeds" : "sticks"] itself [harmful ? "in" : "to"] [victim]'s [limb.plaintext_zone]!"), span_userdanger("[weapon] [harmful ? "embeds" : "sticks"] itself [harmful ? "in" : "to"] your [limb.plaintext_zone]!"))
|
||||
|
||||
var/damage = weapon.throwforce
|
||||
@@ -108,7 +108,7 @@
|
||||
victim.clear_alert(ALERT_EMBEDDED_OBJECT)
|
||||
victim.clear_mood_event("embedded")
|
||||
if(weapon)
|
||||
UnregisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING))
|
||||
weapon = null
|
||||
limb = null
|
||||
return ..()
|
||||
@@ -117,11 +117,11 @@
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(jostleCheck))
|
||||
RegisterSignal(parent, COMSIG_CARBON_EMBED_RIP, PROC_REF(ripOut))
|
||||
RegisterSignal(parent, COMSIG_CARBON_EMBED_REMOVAL, PROC_REF(safeRemove))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(checkTweeze))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(checkTweeze))
|
||||
RegisterSignal(parent, COMSIG_MAGIC_RECALL, PROC_REF(magic_pull))
|
||||
|
||||
/datum/component/embedded/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_EMBED_RIP, COMSIG_CARBON_EMBED_REMOVAL, COMSIG_PARENT_ATTACKBY, COMSIG_MAGIC_RECALL))
|
||||
UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_EMBED_RIP, COMSIG_CARBON_EMBED_REMOVAL, COMSIG_ATOM_ATTACKBY, COMSIG_MAGIC_RECALL))
|
||||
|
||||
/datum/component/embedded/process(seconds_per_tick)
|
||||
var/mob/living/carbon/victim = parent
|
||||
@@ -221,10 +221,10 @@
|
||||
|
||||
var/mob/living/carbon/victim = parent
|
||||
limb._unembed_object(weapon)
|
||||
UnregisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING)) // have to do it here otherwise we trigger weaponDeleted()
|
||||
UnregisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING)) // have to do it here otherwise we trigger weaponDeleted()
|
||||
|
||||
if(!weapon.unembedded()) // if it hasn't deleted itself due to drop del
|
||||
UnregisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(weapon, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING))
|
||||
if(to_hands)
|
||||
INVOKE_ASYNC(to_hands, TYPE_PROC_REF(/mob, put_in_hands), weapon)
|
||||
else
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
return ..() //call this after since we null out the parent
|
||||
|
||||
/datum/component/engraved/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
//supporting component transfer means putting these here instead of initialize
|
||||
SSpersistence.wall_engravings += src
|
||||
ADD_TRAIT(parent, TRAIT_NOT_ENGRAVABLE, TRAIT_GENERIC)
|
||||
|
||||
/datum/component/engraved/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_EXAMINE)
|
||||
//supporting component transfer means putting these here instead of destroy
|
||||
SSpersistence.wall_engravings -= src
|
||||
REMOVE_TRAIT(parent, TRAIT_NOT_ENGRAVABLE, TRAIT_GENERIC)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
if(!isatom(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(explodable_attack))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(explodable_attack))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EX_ACT, PROC_REF(detonate))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), PROC_REF(welder_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_BULLET_ACT, PROC_REF(projectile_react))
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
|
||||
/datum/component/faction_granter/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_self_attack))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/faction_granter/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK_SELF, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK_SELF, COMSIG_ATOM_EXAMINE))
|
||||
|
||||
///signal called on parent being examined
|
||||
/datum/component/faction_granter/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
stack_trace("Invalid fishing spot configuration \"[configuration]\" passed down to fishing spot component.")
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
fish_source = preset_configuration
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(handle_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(handle_attackby))
|
||||
RegisterSignal(parent, COMSIG_FISHING_ROD_CAST, PROC_REF(handle_cast))
|
||||
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
COMSIG_ITEM_DROPPED, //Object is dropped anywhere
|
||||
COMSIG_ATOM_EXITED), //Object exits a storage object (boxes, etc)
|
||||
PROC_REF(dropped))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine))
|
||||
|
||||
if(custom_time) // We have a custom decomposition time, set it to that
|
||||
original_time = custom_time
|
||||
@@ -63,7 +63,7 @@
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_ITEM_DROPPED,
|
||||
COMSIG_ATOM_EXITED,
|
||||
COMSIG_PARENT_EXAMINE))
|
||||
COMSIG_ATOM_EXAMINE))
|
||||
|
||||
/datum/component/decomposition/proc/handle_movement()
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -73,7 +73,7 @@ Behavior that's still missing from this component that original food items had t
|
||||
setup_initial_reagents(initial_reagents)
|
||||
|
||||
/datum/component/edible/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignals(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal))
|
||||
RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(OnCraft))
|
||||
RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(OnProcessed))
|
||||
@@ -108,7 +108,7 @@ Behavior that's still missing from this component that original food items had t
|
||||
COMSIG_ITEM_ATTACK,
|
||||
COMSIG_ITEM_USED_AS_INGREDIENT,
|
||||
COMSIG_OOZE_EAT_ATOM,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
))
|
||||
|
||||
qdel(GetComponent(/datum/component/connect_loc_behalf))
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
/datum/component/golem_food/RegisterWithParent()
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/golem_food/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK, COMSIG_ATOM_EXAMINE))
|
||||
return ..()
|
||||
|
||||
/datum/component/golem_food/Destroy(force, silent)
|
||||
@@ -53,7 +53,7 @@
|
||||
/* food_buff = */ snack_type,
|
||||
/* owner = */ parent,
|
||||
)
|
||||
RegisterSignal(golem_snack, COMSIG_PARENT_QDELETING, PROC_REF(on_food_destroyed))
|
||||
RegisterSignal(golem_snack, COMSIG_QDELETING, PROC_REF(on_food_destroyed))
|
||||
golem_snack.attack(target, user, click_parameters)
|
||||
return COMPONENT_CANCEL_ATTACK_CHAIN
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
src.food_buff = food_buff
|
||||
src.owner = owner
|
||||
|
||||
RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_destroyed))
|
||||
RegisterSignal(owner, COMSIG_QDELETING, PROC_REF(on_parent_destroyed))
|
||||
|
||||
/// Clean ourselves up if our parent dies
|
||||
/obj/item/food/golem_food/proc/on_parent_destroyed(datum/destroyed_thing)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
if(change_name)
|
||||
RegisterSignal(owner, COMSIG_ATOM_UPDATE_NAME, PROC_REF(on_update_name))
|
||||
if(!change_desc)
|
||||
RegisterSignal(owner, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(on_examine_more))
|
||||
RegisterSignal(owner, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examine_more))
|
||||
else
|
||||
RegisterSignal(owner, COMSIG_ATOM_UPDATE_DESC, PROC_REF(on_update_desc))
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
/datum/component/food_storage/Initialize(_minimum_weight_class = WEIGHT_CLASS_SMALL, _bad_chance = 0, _good_chance = 100)
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(try_inserting_item))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(try_inserting_item))
|
||||
RegisterSignal(parent, COMSIG_CLICK_CTRL, PROC_REF(try_removing_item))
|
||||
RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(consume_food_storage))
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
RegisterSignal(mob_parent, COMSIG_ATOM_PRE_PRESSURE_PUSH, PROC_REF(stop_pressure))
|
||||
if(spin)
|
||||
RegisterSignal(loop, COMSIG_MOVELOOP_POSTPROCESS, PROC_REF(slip_spin))
|
||||
RegisterSignal(loop, COMSIG_PARENT_QDELETING, PROC_REF(loop_ended))
|
||||
RegisterSignal(loop, COMSIG_QDELETING, PROC_REF(loop_ended))
|
||||
|
||||
/datum/component/force_move/proc/stop_move(datum/source)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
if(!QDELETED(shooter))
|
||||
RegisterSignal(shooter, COMSIG_MOB_LOGOUT, PROC_REF(autofire_off))
|
||||
UnregisterSignal(shooter, COMSIG_MOB_LOGIN)
|
||||
RegisterSignals(parent, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED), PROC_REF(autofire_off))
|
||||
RegisterSignals(parent, list(COMSIG_QDELETING, COMSIG_ITEM_DROPPED), PROC_REF(autofire_off))
|
||||
parent.RegisterSignal(src, COMSIG_AUTOFIRE_ONMOUSEDOWN, TYPE_PROC_REF(/obj/item/gun/, autofire_bypass_check))
|
||||
parent.RegisterSignal(parent, COMSIG_AUTOFIRE_SHOT, TYPE_PROC_REF(/obj/item/gun/, do_autofire))
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
if(!QDELETED(shooter))
|
||||
RegisterSignal(shooter, COMSIG_MOB_LOGIN, PROC_REF(on_client_login))
|
||||
UnregisterSignal(shooter, COMSIG_MOB_LOGOUT)
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_DROPPED))
|
||||
UnregisterSignal(parent, list(COMSIG_QDELETING, COMSIG_ITEM_DROPPED))
|
||||
shooter = null
|
||||
parent.UnregisterSignal(parent, COMSIG_AUTOFIRE_SHOT)
|
||||
parent.UnregisterSignal(src, COMSIG_AUTOFIRE_ONMOUSEDOWN)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/datum/component/gags_recolorable
|
||||
|
||||
/datum/component/gags_recolorable/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
|
||||
/datum/component/gags_recolorable/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_ATTACKBY)
|
||||
|
||||
/datum/component/gags_recolorable/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(GPS_list)
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact))
|
||||
if(!emp_proof)
|
||||
RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(on_AltClick))
|
||||
|
||||
///Called on COMSIG_ITEM_ATTACK_SELF
|
||||
@@ -59,7 +59,7 @@ GLOBAL_LIST_EMPTY(GPS_list)
|
||||
if(user)
|
||||
INVOKE_ASYNC(src, PROC_REF(ui_interact), user)
|
||||
|
||||
///Called on COMSIG_PARENT_EXAMINE
|
||||
///Called on COMSIG_ATOM_EXAMINE
|
||||
/datum/component/gps/item/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
RegisterSignal(parent, COMSIG_ITEM_GRILL_TURNED_ON, PROC_REF(on_grill_turned_on))
|
||||
RegisterSignal(parent, COMSIG_ITEM_GRILL_TURNED_OFF, PROC_REF(on_grill_turned_off))
|
||||
RegisterSignal(parent, COMSIG_ITEM_GRILL_PROCESS, PROC_REF(on_grill))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/grillable/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_ITEM_GRILL_TURNED_ON,
|
||||
COMSIG_ITEM_GRILL_TURNED_OFF,
|
||||
COMSIG_ITEM_GRILL_PROCESS,
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
owner = new_owner
|
||||
family_name = new_family_name
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/heirloom/Destroy(force, silent)
|
||||
owner = null
|
||||
return ..()
|
||||
|
||||
/**
|
||||
* Signal proc for [COMSIG_PARENT_EXAMINE].
|
||||
* Signal proc for [COMSIG_ATOM_EXAMINE].
|
||||
*
|
||||
* Shows who owns the heirloom on examine.
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
/datum/component/holderloving/RegisterWithParent()
|
||||
RegisterSignal(holder, COMSIG_MOVABLE_MOVED, PROC_REF(check_my_loc))
|
||||
RegisterSignal(holder, COMSIG_PARENT_QDELETING, PROC_REF(holder_deleting))
|
||||
RegisterSignal(holder, COMSIG_QDELETING, PROC_REF(holder_deleting))
|
||||
RegisterSignals(parent, list(
|
||||
COMSIG_ITEM_DROPPED,
|
||||
COMSIG_ITEM_EQUIPPED,
|
||||
@@ -40,7 +40,7 @@
|
||||
), PROC_REF(check_my_loc))
|
||||
|
||||
/datum/component/holderloving/UnregisterFromParent()
|
||||
UnregisterSignal(holder, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(holder, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING))
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_ITEM_DROPPED,
|
||||
COMSIG_ITEM_EQUIPPED,
|
||||
|
||||
@@ -50,14 +50,14 @@
|
||||
active_sound_loop.start()
|
||||
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_touched))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examine))
|
||||
if (defuse_tool)
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(defuse_tool), PROC_REF(on_defused))
|
||||
if (length(additional_triggers))
|
||||
RegisterSignals(parent, additional_triggers, PROC_REF(trigger_explosive))
|
||||
|
||||
/datum/component/interaction_booby_trap/Destroy(force, silent)
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_TOOL_ACT(defuse_tool), COMSIG_PARENT_EXAMINE_MORE) + additional_triggers)
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_TOOL_ACT(defuse_tool), COMSIG_ATOM_EXAMINE_MORE) + additional_triggers)
|
||||
QDEL_NULL(active_sound_loop)
|
||||
QDEL_NULL(on_triggered_callback)
|
||||
QDEL_NULL(on_defused_callback)
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
last_move = world.time
|
||||
if (secured_callback || unsecured_callback)
|
||||
START_PROCESSING(SSobj, src)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(on_examine_more))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examine_more))
|
||||
|
||||
|
||||
/datum/component/keep_me_secure/UnregisterFromParent()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_EXAMINE)
|
||||
|
||||
/// Returns whether the game is supposed to consider the parent "secure".
|
||||
/datum/component/keep_me_secure/proc/is_secured()
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
apply_label()
|
||||
|
||||
/datum/component/label/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackby))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(Examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(OnAttackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(Examine))
|
||||
|
||||
/datum/component/label/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_EXAMINE))
|
||||
|
||||
/**
|
||||
This proc will fire after the parent is hit by a hand labeler which is trying to apply another label.
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
var/list/cached_eaten_lights = eaten_lights
|
||||
for(var/morsel in _eaten)
|
||||
LAZYSET(cached_eaten_lights, morsel, TRUE)
|
||||
RegisterSignal(morsel, COMSIG_PARENT_QDELETING, PROC_REF(deref_eaten_light))
|
||||
RegisterSignal(morsel, COMSIG_QDELETING, PROC_REF(deref_eaten_light))
|
||||
|
||||
/datum/component/light_eater/Destroy(force, silent)
|
||||
for(var/light in eaten_lights)
|
||||
var/atom/eaten_light = light
|
||||
eaten_light.RemoveElement(/datum/element/light_eaten)
|
||||
UnregisterSignal(eaten_light, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(eaten_light, COMSIG_QDELETING)
|
||||
eaten_lights = null
|
||||
return ..()
|
||||
|
||||
@@ -48,19 +48,19 @@
|
||||
LAZYINITLIST(eaten_lights)
|
||||
var/list/cached_eaten_lights = eaten_lights
|
||||
for(var/morsel in _eaten)
|
||||
RegisterSignal(morsel, COMSIG_PARENT_QDELETING, PROC_REF(deref_eaten_light))
|
||||
RegisterSignal(morsel, COMSIG_QDELETING, PROC_REF(deref_eaten_light))
|
||||
LAZYSET(cached_eaten_lights, morsel, TRUE)
|
||||
|
||||
/// Handles storing references to lights eaten by the light eater.
|
||||
/datum/component/light_eater/proc/on_devour(datum/source, atom/morsel)
|
||||
SIGNAL_HANDLER
|
||||
LAZYSET(eaten_lights, morsel, TRUE)
|
||||
RegisterSignal(morsel, COMSIG_PARENT_QDELETING, PROC_REF(deref_eaten_light))
|
||||
RegisterSignal(morsel, COMSIG_QDELETING, PROC_REF(deref_eaten_light))
|
||||
return NONE
|
||||
|
||||
/// Handles dereferencing deleted lights.
|
||||
/datum/component/light_eater/proc/deref_eaten_light(atom/eaten_light, force)
|
||||
SIGNAL_HANDLER
|
||||
UnregisterSignal(eaten_light, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(eaten_light, COMSIG_QDELETING)
|
||||
LAZYREMOVE(eaten_lights, eaten_light)
|
||||
return NONE
|
||||
|
||||
@@ -86,9 +86,9 @@
|
||||
. = ..()
|
||||
|
||||
if(!(mat_container_flags & MATCONTAINER_NO_INSERT))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
if(mat_container_flags & MATCONTAINER_EXAMINE)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
|
||||
/datum/component/material_container/vv_edit_var(var_name, var_value)
|
||||
@@ -96,14 +96,14 @@
|
||||
. = ..()
|
||||
if(var_name == NAMEOF(src, mat_container_flags) && parent)
|
||||
if(!(old_flags & MATCONTAINER_EXAMINE) && mat_container_flags & MATCONTAINER_EXAMINE)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
else if(old_flags & MATCONTAINER_EXAMINE && !(mat_container_flags & MATCONTAINER_EXAMINE))
|
||||
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_EXAMINE)
|
||||
|
||||
if(old_flags & MATCONTAINER_NO_INSERT && !(mat_container_flags & MATCONTAINER_NO_INSERT))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
else if(!(old_flags & MATCONTAINER_NO_INSERT) && mat_container_flags & MATCONTAINER_NO_INSERT)
|
||||
UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_ATTACKBY)
|
||||
|
||||
|
||||
/datum/component/material_container/proc/on_examine(datum/source, mob/user, list/examine_texts)
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
new_link.Grant(to_link)
|
||||
|
||||
linked_mobs[to_link] = new_link
|
||||
RegisterSignals(to_link, list(COMSIG_LIVING_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(sig_unlink_mob))
|
||||
RegisterSignals(to_link, list(COMSIG_LIVING_DEATH, COMSIG_QDELETING), PROC_REF(sig_unlink_mob))
|
||||
|
||||
return TRUE
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
post_unlink_callback?.Invoke(to_unlink)
|
||||
|
||||
UnregisterSignal(to_unlink, list(COMSIG_LIVING_DEATH, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(to_unlink, list(COMSIG_LIVING_DEATH, COMSIG_QDELETING))
|
||||
|
||||
var/datum/action/innate/linked_speech/old_link = linked_mobs[to_unlink]
|
||||
linked_mobs -= to_unlink
|
||||
|
||||
@@ -79,8 +79,8 @@
|
||||
living_parent.update_appearance(UPDATE_ICON_STATE)
|
||||
|
||||
/datum/component/mob_harvest/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
|
||||
// Only do update_icon_state business on non-carbon mobs
|
||||
if(!iscarbon(parent))
|
||||
@@ -90,7 +90,7 @@
|
||||
living_parent.update_appearance(UPDATE_ICON_STATE)
|
||||
|
||||
/datum/component/mob_harvest/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_UPDATE_ICON_STATE))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_UPDATE_ICON_STATE))
|
||||
|
||||
///signal called on parent being examined
|
||||
/datum/component/mob_harvest/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
/datum/component/multiple_lives/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_LIVING_DEATH, PROC_REF(respawn))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_LIVING_WRITE_MEMORY, PROC_REF(on_write_memory))
|
||||
|
||||
/datum/component/multiple_lives/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_DEATH, COMSIG_PARENT_EXAMINE, COMSIG_LIVING_WRITE_MEMORY))
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_DEATH, COMSIG_ATOM_EXAMINE, COMSIG_LIVING_WRITE_MEMORY))
|
||||
|
||||
/// Stops a dying station pet from overriding persistence data before we respawn it and thus causing issues.
|
||||
/datum/component/multiple_lives/proc/on_write_memory(mob/living/source, dead, gibbed)
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
|
||||
/datum/component/nuclear_bomb_operator/RegisterWithParent()
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignals(parent, list(COMSIG_LIVING_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(on_death))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignals(parent, list(COMSIG_LIVING_DEATH, COMSIG_QDELETING), PROC_REF(on_death))
|
||||
RegisterSignal(parent, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(owner_attacked_atom)) // This only works for players, but I am not sure this should have AI anyway
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXITED, PROC_REF(atom_exited_owner))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays))
|
||||
@@ -39,9 +39,9 @@
|
||||
/datum/component/nuclear_bomb_operator/UnregisterFromParent()
|
||||
. = ..()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_LIVING_DEATH,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
COMSIG_ATOM_ATTACK_HAND,
|
||||
COMSIG_ATOM_EXITED,
|
||||
COMSIG_ATOM_UPDATE_OVERLAYS,
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
if(istype(vessel))
|
||||
src.vessel = vessel
|
||||
RegisterSignal(vessel, COMSIG_PARENT_QDELETING, PROC_REF(vessel_qdeleting))
|
||||
RegisterSignal(vessel, COMSIG_QDELETING, PROC_REF(vessel_qdeleting))
|
||||
if(!isnull(permanent))
|
||||
src.permanent = permanent
|
||||
if(!isnull(luck_mod))
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
if(vessel)
|
||||
vessel.visible_message(span_warning("[vessel] burns up in a sinister flash, taking an evil energy with it..."))
|
||||
UnregisterSignal(vessel, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(vessel, COMSIG_QDELETING)
|
||||
vessel.burn()
|
||||
vessel = null
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
/datum/component/omen/proc/vessel_qdeleting(atom/source)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
UnregisterSignal(vessel, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(vessel, COMSIG_QDELETING)
|
||||
vessel = null
|
||||
|
||||
/**
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
|
||||
/datum/component/onwear_mood/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(affect_wearer))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/onwear_mood/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ATOM_EXAMINE))
|
||||
clear_effects()
|
||||
|
||||
/datum/component/onwear_mood/proc/affect_wearer(datum/source, mob/living/target, slot)
|
||||
@@ -33,7 +33,7 @@
|
||||
return // only affects "worn" slots by default
|
||||
|
||||
target.add_mood_event(REF(src), saved_event_type)
|
||||
RegisterSignal(target, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(target, COMSIG_MOB_UNEQUIPPED_ITEM, PROC_REF(clear_effects))
|
||||
|
||||
/datum/component/onwear_mood/proc/on_examine(datum/source, mob/user, list/examine_text)
|
||||
@@ -50,5 +50,5 @@
|
||||
source ||= clothing.loc
|
||||
if(!istype(source))
|
||||
return
|
||||
UnregisterSignal(source, list(COMSIG_PARENT_EXAMINE, COMSIG_MOB_UNEQUIPPED_ITEM))
|
||||
UnregisterSignal(source, list(COMSIG_ATOM_EXAMINE, COMSIG_MOB_UNEQUIPPED_ITEM))
|
||||
source.clear_mood_event(REF(src))
|
||||
|
||||
@@ -220,15 +220,15 @@
|
||||
parent_attached_to = new_parent_attached_to
|
||||
if(.)
|
||||
var/atom/movable/old_parent_attached_to = .
|
||||
UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
|
||||
UnregisterSignal(old_parent_attached_to, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
|
||||
if(old_parent_attached_to == current_holder)
|
||||
RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
|
||||
RegisterSignal(old_parent_attached_to, COMSIG_QDELETING, PROC_REF(on_holder_qdel))
|
||||
RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
|
||||
RegisterSignal(old_parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
|
||||
if(parent_attached_to)
|
||||
if(parent_attached_to == current_holder)
|
||||
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
|
||||
RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_attached_to_qdel))
|
||||
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
|
||||
RegisterSignal(parent_attached_to, COMSIG_QDELETING, PROC_REF(on_parent_attached_to_qdel))
|
||||
RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_attached_to_moved))
|
||||
RegisterSignal(parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
|
||||
check_holder()
|
||||
@@ -240,7 +240,7 @@
|
||||
return
|
||||
if(current_holder)
|
||||
if(current_holder != parent && current_holder != parent_attached_to)
|
||||
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
|
||||
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
|
||||
if(directional)
|
||||
UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE)
|
||||
if(overlay_lighting_flags & LIGHTING_ON)
|
||||
@@ -250,7 +250,7 @@
|
||||
clean_old_turfs()
|
||||
return
|
||||
if(new_holder != parent && new_holder != parent_attached_to)
|
||||
RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
|
||||
RegisterSignal(new_holder, COMSIG_QDELETING, PROC_REF(on_holder_qdel))
|
||||
RegisterSignal(new_holder, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
|
||||
if(overlay_lighting_flags & LIGHTING_ON)
|
||||
RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
|
||||
@@ -284,7 +284,7 @@
|
||||
SIGNAL_HANDLER
|
||||
if(QDELETED(current_holder))
|
||||
return
|
||||
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED))
|
||||
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED))
|
||||
if(directional)
|
||||
UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE)
|
||||
set_holder(null)
|
||||
@@ -324,7 +324,7 @@
|
||||
///Called when the current_holder is qdeleted, to remove the light effect.
|
||||
/datum/component/overlay_lighting/proc/on_parent_attached_to_qdel(atom/movable/source, force)
|
||||
SIGNAL_HANDLER
|
||||
UnregisterSignal(parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED))
|
||||
UnregisterSignal(parent_attached_to, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED))
|
||||
if(directional)
|
||||
UnregisterSignal(parent_attached_to, COMSIG_ATOM_DIR_CHANGE)
|
||||
if(parent_attached_to == current_holder)
|
||||
@@ -369,7 +369,7 @@
|
||||
if(directional)
|
||||
if(beam)
|
||||
cast_range = max(round(new_range * 0.5), 1)
|
||||
else
|
||||
else
|
||||
cast_range = clamp(round(new_range * 0.5), 1, 3)
|
||||
if(overlay_lighting_flags & LIGHTING_ON)
|
||||
make_luminosity_update()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
src.selected_color = selected_color || "#ffffff"
|
||||
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF_SECONDARY, PROC_REF(on_attack_self_secondary))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PAINTING_TOOL_SET_COLOR, PROC_REF(on_painting_tool_set_color))
|
||||
RegisterSignal(parent, COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA, PROC_REF(get_palette_data))
|
||||
RegisterSignal(parent, COMSIG_PAINTING_TOOL_PALETTE_COLOR_CHANGED, PROC_REF(palette_color_changed))
|
||||
@@ -43,7 +43,7 @@
|
||||
/datum/component/palette/Destroy()
|
||||
QDEL_NULL(color_picker_menu)
|
||||
QDEL_LIST(menu_choices)
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK_SELF_SECONDARY, COMSIG_PARENT_EXAMINE,
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK_SELF_SECONDARY, COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_ITEM_DROPPED, COMSIG_PAINTING_TOOL_SET_COLOR, COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA))
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
return ..()
|
||||
|
||||
/datum/component/pellet_cloud/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, PROC_REF(nullspace_parent))
|
||||
RegisterSignal(parent, COMSIG_PREQDELETED, PROC_REF(nullspace_parent))
|
||||
if(isammocasing(parent))
|
||||
RegisterSignal(parent, COMSIG_PELLET_CLOUD_INIT, PROC_REF(create_casing_pellets))
|
||||
else if(isgrenade(parent))
|
||||
@@ -90,7 +90,7 @@
|
||||
RegisterSignal(parent, COMSIG_SUPPLYPOD_LANDED, PROC_REF(create_blast_pellets))
|
||||
|
||||
/datum/component/pellet_cloud/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_PREQDELETED, COMSIG_PELLET_CLOUD_INIT, COMSIG_GRENADE_DETONATE, COMSIG_GRENADE_ARMED, COMSIG_MOVABLE_MOVED, COMSIG_MINE_TRIGGERED, COMSIG_ITEM_DROPPED))
|
||||
UnregisterSignal(parent, list(COMSIG_PREQDELETED, COMSIG_PELLET_CLOUD_INIT, COMSIG_GRENADE_DETONATE, COMSIG_GRENADE_ARMED, COMSIG_MOVABLE_MOVED, COMSIG_MINE_TRIGGERED, COMSIG_ITEM_DROPPED))
|
||||
|
||||
/**
|
||||
* create_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)
|
||||
@@ -120,7 +120,7 @@
|
||||
spread = round((i / num_pellets - 0.5) * distro)
|
||||
|
||||
RegisterSignal(shell.loaded_projectile, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit))
|
||||
RegisterSignals(shell.loaded_projectile, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range))
|
||||
RegisterSignals(shell.loaded_projectile, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_QDELETING), PROC_REF(pellet_range))
|
||||
shell.loaded_projectile.damage = original_damage
|
||||
shell.loaded_projectile.wound_bonus = original_wb
|
||||
shell.loaded_projectile.bare_wound_bonus = original_bwb
|
||||
@@ -215,7 +215,7 @@
|
||||
|
||||
if(martyr.stat != DEAD && martyr.client)
|
||||
LAZYADD(purple_hearts, martyr)
|
||||
RegisterSignal(martyr, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE)
|
||||
RegisterSignal(martyr, COMSIG_QDELETING, PROC_REF(on_target_qdel), override=TRUE)
|
||||
|
||||
for(var/i in 1 to round(pellets_absorbed * 0.5))
|
||||
pew(martyr)
|
||||
@@ -254,8 +254,8 @@
|
||||
LAZYADDASSOC(targets_hit[target], "hits", 1)
|
||||
LAZYSET(targets_hit[target], "damage", damage)
|
||||
if(targets_hit[target]["hits"] == 1)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE)
|
||||
UnregisterSignal(P, list(COMSIG_PARENT_QDELETING, COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PROJECTILE_SELF_ON_HIT))
|
||||
RegisterSignal(target, COMSIG_QDELETING, PROC_REF(on_target_qdel), override=TRUE)
|
||||
UnregisterSignal(P, list(COMSIG_QDELETING, COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PROJECTILE_SELF_ON_HIT))
|
||||
if(terminated == num_pellets)
|
||||
finalize()
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
SIGNAL_HANDLER
|
||||
pellets -= P
|
||||
terminated++
|
||||
UnregisterSignal(P, list(COMSIG_PARENT_QDELETING, COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PROJECTILE_SELF_ON_HIT))
|
||||
UnregisterSignal(P, list(COMSIG_QDELETING, COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PROJECTILE_SELF_ON_HIT))
|
||||
if(terminated == num_pellets)
|
||||
finalize()
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
P.suppressed = SUPPRESSED_VERY // set the projectiles to make no message so we can do our own aggregate message
|
||||
P.preparePixelProjectile(target, parent)
|
||||
RegisterSignal(P, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit))
|
||||
RegisterSignals(P, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range))
|
||||
RegisterSignals(P, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_QDELETING), PROC_REF(pellet_range))
|
||||
pellets += P
|
||||
P.fire()
|
||||
if(landmine_victim)
|
||||
@@ -295,7 +295,7 @@
|
||||
for(var/atom/target in targets_hit)
|
||||
var/num_hits = targets_hit[target]["hits"]
|
||||
var/damage = targets_hit[target]["damage"]
|
||||
UnregisterSignal(target, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(target, COMSIG_QDELETING)
|
||||
var/obj/item/bodypart/hit_part
|
||||
if(isbodypart(target))
|
||||
hit_part = target
|
||||
@@ -337,7 +337,7 @@
|
||||
var/mob/living/martyr = M
|
||||
if(martyr.stat == DEAD && martyr.client)
|
||||
martyr.client.give_award(/datum/award/achievement/misc/lookoutsir, martyr)
|
||||
UnregisterSignal(parent, COMSIG_PARENT_PREQDELETED)
|
||||
UnregisterSignal(parent, COMSIG_PREQDELETED)
|
||||
if(queued_delete)
|
||||
qdel(parent)
|
||||
qdel(src)
|
||||
@@ -369,7 +369,7 @@
|
||||
|
||||
LAZYCLEARLIST(bodies)
|
||||
for(var/mob/living/L in get_turf(parent))
|
||||
RegisterSignal(L, COMSIG_PARENT_QDELETING, PROC_REF(on_target_qdel), override=TRUE)
|
||||
RegisterSignal(L, COMSIG_QDELETING, PROC_REF(on_target_qdel), override=TRUE)
|
||||
bodies += L
|
||||
|
||||
/// Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
|
||||
@@ -391,7 +391,7 @@
|
||||
/datum/component/pellet_cloud/proc/on_target_qdel(atom/target)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
UnregisterSignal(target, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(target, COMSIG_QDELETING)
|
||||
targets_hit -= target
|
||||
LAZYREMOVE(bodies, target)
|
||||
LAZYREMOVE(purple_hearts, target)
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
/datum/component/obeys_commands/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_LIVING_BEFRIENDED, PROC_REF(add_friend))
|
||||
RegisterSignal(parent, COMSIG_LIVING_UNFRIENDED, PROC_REF(remove_friend))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(display_menu))
|
||||
|
||||
/datum/component/obeys_commands/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_BEFRIENDED, COMSIG_LIVING_UNFRIENDED, COMSIG_PARENT_EXAMINE, COMSIG_CLICK_ALT))
|
||||
UnregisterSignal(parent, list(COMSIG_LIVING_BEFRIENDED, COMSIG_LIVING_UNFRIENDED, COMSIG_ATOM_EXAMINE, COMSIG_CLICK_ALT))
|
||||
|
||||
/// Add someone to our friends list
|
||||
/datum/component/obeys_commands/proc/add_friend(datum/source, mob/living/new_friend)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
src.stun_per_resurrection = stun_per_resurrection
|
||||
src.phylactery_color = phylactery_color
|
||||
|
||||
RegisterSignal(lich_mind, COMSIG_PARENT_QDELETING, PROC_REF(on_lich_mind_lost))
|
||||
RegisterSignal(lich_mind, COMSIG_QDELETING, PROC_REF(on_lich_mind_lost))
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_MOB_DEATH, PROC_REF(check_if_lich_died))
|
||||
|
||||
var/obj/obj_parent = parent
|
||||
@@ -51,7 +51,7 @@
|
||||
obj_parent.add_atom_colour(phylactery_color, ADMIN_COLOUR_PRIORITY)
|
||||
obj_parent.AddComponent(/datum/component/stationloving, FALSE, TRUE)
|
||||
|
||||
RegisterSignal(obj_parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(obj_parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
SSpoints_of_interest.make_point_of_interest(obj_parent)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
// Stationloving items should really never be made a phylactery so I feel safe in doing this
|
||||
qdel(obj_parent.GetComponent(/datum/component/stationloving))
|
||||
|
||||
UnregisterSignal(obj_parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(obj_parent, COMSIG_ATOM_EXAMINE)
|
||||
UnregisterSignal(SSdcs, COMSIG_GLOB_MOB_DEATH)
|
||||
// Sweep up any revive signals left on the mind's current
|
||||
UnregisterSignal(lich_mind.current, COMSIG_LIVING_REVIVE)
|
||||
@@ -71,7 +71,7 @@
|
||||
return ..()
|
||||
|
||||
/**
|
||||
* Signal proc for [COMSIG_PARENT_EXAMINE].
|
||||
* Signal proc for [COMSIG_ATOM_EXAMINE].
|
||||
*
|
||||
* Gives some flavor for the phylactery on examine.
|
||||
*/
|
||||
@@ -93,7 +93,7 @@
|
||||
examine_list += span_green("A terrible aura surrounds this item. Its very existence is offensive to life itself...")
|
||||
|
||||
/**
|
||||
* Signal proc for [COMSIG_PARENT_QDELETING] registered on the lich's mind.
|
||||
* Signal proc for [COMSIG_QDELETING] registered on the lich's mind.
|
||||
*
|
||||
* Minds shouldn't be getting deleted but if for some ungodly reason
|
||||
* the lich'd mind is deleted our component should go with it, as
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
RegisterSignal(parent, COMSIG_COMPONENT_ADDED, PROC_REF(enable))
|
||||
|
||||
/datum/component/plumbing/RegisterWithParent()
|
||||
RegisterSignals(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING), PROC_REF(disable))
|
||||
RegisterSignals(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING), PROC_REF(disable))
|
||||
RegisterSignals(parent, list(COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH), PROC_REF(toggle_active))
|
||||
RegisterSignal(parent, COMSIG_OBJ_HIDE, PROC_REF(hide))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(create_overlays)) //called by lateinit on startup
|
||||
@@ -61,7 +61,7 @@
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_CHANGE_DUCT_LAYER, PROC_REF(change_ducting_layer))
|
||||
|
||||
/datum/component/plumbing/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_PARENT_QDELETING, COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH, COMSIG_OBJ_HIDE, \
|
||||
UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_QDELETING, COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH, COMSIG_OBJ_HIDE, \
|
||||
COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_ATOM_DIR_CHANGE, COMSIG_MOVABLE_CHANGE_DUCT_LAYER, COMSIG_COMPONENT_ADDED))
|
||||
REMOVE_TRAIT(parent, TRAIT_UNDERFLOOR, REF(src))
|
||||
|
||||
@@ -343,9 +343,9 @@
|
||||
|
||||
/datum/component/plumbing/proc/set_recipient_reagents_holder(datum/reagents/receiver)
|
||||
if(recipient_reagents_holder)
|
||||
UnregisterSignal(recipient_reagents_holder, COMSIG_PARENT_QDELETING) //stop tracking whoever we were tracking
|
||||
UnregisterSignal(recipient_reagents_holder, COMSIG_QDELETING) //stop tracking whoever we were tracking
|
||||
if(receiver)
|
||||
RegisterSignal(receiver, COMSIG_PARENT_QDELETING, PROC_REF(handle_reagent_del)) //on deletion call a wrapper proc that clears us, and maybe reagents too
|
||||
RegisterSignal(receiver, COMSIG_QDELETING, PROC_REF(handle_reagent_del)) //on deletion call a wrapper proc that clears us, and maybe reagents too
|
||||
|
||||
recipient_reagents_holder = receiver
|
||||
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
return ..()
|
||||
|
||||
/datum/component/radioactive_emitter/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/radioactive_emitter/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_EXAMINE)
|
||||
|
||||
/datum/component/radioactive_emitter/InheritComponent(
|
||||
datum/component/new_comp,
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
catalyst_type = override_catalyst_type
|
||||
|
||||
/datum/component/religious_tool/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(AttemptActions))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(AttemptActions))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/religious_tool/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_EXAMINE))
|
||||
|
||||
/**
|
||||
* Sets the easy access variable to the global if it exists.
|
||||
|
||||
@@ -26,7 +26,7 @@ handles linking back and forth.
|
||||
src.allow_standalone = allow_standalone
|
||||
src.mat_container_flags = mat_container_flags
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(OnAttackBy))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(OnMultitool))
|
||||
|
||||
var/turf/T = get_turf(parent)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
strength = severity
|
||||
|
||||
RegisterSignals(parent, list(COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_ANIMAL, COMSIG_ATOM_ATTACK_HAND), PROC_REF(rot_react_touch))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(rot_hit_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(rot_hit_react))
|
||||
if(ismovable(parent))
|
||||
AddComponent(/datum/component/connect_loc_behalf, parent, loc_connections)
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_BUMP, PROC_REF(rot_react))
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
/datum/component/simple_rotation/proc/AddSignals()
|
||||
RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(RotateLeft))
|
||||
RegisterSignal(parent, COMSIG_CLICK_ALT_SECONDARY, PROC_REF(RotateRight))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(ExamineMessage))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(ExamineMessage))
|
||||
RegisterSignal(parent, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, PROC_REF(on_requesting_context_from_item))
|
||||
|
||||
/datum/component/simple_rotation/proc/RemoveSignals()
|
||||
UnregisterSignal(parent, list(COMSIG_CLICK_ALT, COMSIG_CLICK_ALT_SECONDARY, COMSIG_PARENT_EXAMINE, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM))
|
||||
UnregisterSignal(parent, list(COMSIG_CLICK_ALT, COMSIG_CLICK_ALT_SECONDARY, COMSIG_ATOM_EXAMINE, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM))
|
||||
|
||||
/datum/component/simple_rotation/RegisterWithParent()
|
||||
AddSignals()
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
|
||||
RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK_SECONDARY, PROC_REF(on_secondary_afterattack))
|
||||
RegisterSignal(parent, COMSIG_GUN_TRY_FIRE, PROC_REF(on_gun_fire))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/scope/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_ITEM_AFTERATTACK_SECONDARY,
|
||||
COMSIG_GUN_TRY_FIRE,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
))
|
||||
|
||||
/datum/component/scope/process(seconds_per_tick)
|
||||
|
||||
@@ -95,9 +95,9 @@
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON_STATE, PROC_REF(on_update_icon_state))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays))
|
||||
RegisterSignal(parent, COMSIG_ITEM_UI_ACTION_CLICK, PROC_REF(on_action_click))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_deleted))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(on_parent_deleted))
|
||||
|
||||
/datum/component/seclite_attachable/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
@@ -107,9 +107,9 @@
|
||||
COMSIG_ATOM_UPDATE_ICON_STATE,
|
||||
COMSIG_ATOM_UPDATE_OVERLAYS,
|
||||
COMSIG_ITEM_UI_ACTION_CLICK,
|
||||
COMSIG_PARENT_ATTACKBY,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_ATOM_ATTACKBY,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_QDELETING,
|
||||
))
|
||||
|
||||
/// Sets a new light as our current light for our parent.
|
||||
@@ -191,7 +191,7 @@
|
||||
// We were deconstructed in any other way, so we can just drop the light on the ground (which removes it via signal).
|
||||
light.forceMove(source.drop_location())
|
||||
|
||||
/// Signal proc for [COMSIG_PARENT_QDELETING] that deletes our light if our parent is deleted.
|
||||
/// Signal proc for [COMSIG_QDELETING] that deletes our light if our parent is deleted.
|
||||
/datum/component/seclite_attachable/proc/on_parent_deleted(obj/item/source)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
|
||||
return COMPONENT_ACTION_HANDLED
|
||||
|
||||
/// Signal proc for [COMSIG_PARENT_ATTACKBY] that allows a user to attach a seclite by hitting our parent with it.
|
||||
/// Signal proc for [COMSIG_ATOM_ATTACKBY] that allows a user to attach a seclite by hitting our parent with it.
|
||||
/datum/component/seclite_attachable/proc/on_attackby(obj/item/source, obj/item/attacking_item, mob/attacker, params)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
if(source.Adjacent(user) && !issilicon(user))
|
||||
user.put_in_hands(to_remove)
|
||||
|
||||
/// Signal proc for [COMSIG_PARENT_EXAMINE] that shows our item can have / does have a seclite attached.
|
||||
/// Signal proc for [COMSIG_ATOM_EXAMINE] that shows our item can have / does have a seclite attached.
|
||||
/datum/component/seclite_attachable/proc/on_examine(obj/item/source, mob/examiner, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
|
||||
@@ -40,11 +40,11 @@
|
||||
attach_circuit(starting_circuit)
|
||||
|
||||
/datum/component/shell/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACK_GHOST, PROC_REF(on_attack_ghost))
|
||||
if(!(shell_flags & SHELL_FLAG_CIRCUIT_UNMODIFIABLE))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(on_multitool_act))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attack_by))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attack_by))
|
||||
if(!(shell_flags & SHELL_FLAG_CIRCUIT_UNREMOVABLE))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), PROC_REF(on_screwdriver_act))
|
||||
RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, PROC_REF(on_object_deconstruct))
|
||||
@@ -88,12 +88,12 @@
|
||||
|
||||
/datum/component/shell/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_PARENT_ATTACKBY,
|
||||
COMSIG_ATOM_ATTACKBY,
|
||||
COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER),
|
||||
COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL),
|
||||
COMSIG_OBJ_DECONSTRUCT,
|
||||
COMSIG_MOVABLE_SET_ANCHORED,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_ATOM_ATTACK_GHOST,
|
||||
COMSIG_ATOM_USB_CABLE_TRY_ATTACH,
|
||||
COMSIG_MOVABLE_CIRCUIT_LOADED,
|
||||
@@ -309,7 +309,7 @@
|
||||
RegisterSignal(circuitboard, COMSIG_MOVABLE_MOVED, PROC_REF(on_circuit_moved))
|
||||
if(shell_flags & SHELL_FLAG_REQUIRE_ANCHOR)
|
||||
RegisterSignal(circuitboard, COMSIG_CIRCUIT_PRE_POWER_USAGE, PROC_REF(override_power_usage))
|
||||
RegisterSignal(circuitboard, COMSIG_PARENT_QDELETING, PROC_REF(on_circuit_delete))
|
||||
RegisterSignal(circuitboard, COMSIG_QDELETING, PROC_REF(on_circuit_delete))
|
||||
for(var/obj/item/circuit_component/to_add as anything in unremovable_circuit_components)
|
||||
to_add.forceMove(attached_circuit)
|
||||
attached_circuit.add_component(to_add)
|
||||
@@ -335,7 +335,7 @@
|
||||
attached_circuit.remove_current_shell()
|
||||
UnregisterSignal(attached_circuit, list(
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLY,
|
||||
COMSIG_CIRCUIT_PRE_POWER_USAGE,
|
||||
))
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped))
|
||||
RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(lost_wearer))
|
||||
RegisterSignal(parent, COMSIG_ITEM_HIT_REACT, PROC_REF(on_hit_react))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(check_recharge_rune))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(check_recharge_rune))
|
||||
var/atom/shield = parent
|
||||
if(ismob(shield.loc))
|
||||
var/mob/holder = shield.loc
|
||||
@@ -78,7 +78,7 @@
|
||||
set_wearer(holder)
|
||||
|
||||
/datum/component/shielded/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ITEM_HIT_REACT, COMSIG_PARENT_ATTACKBY))
|
||||
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ITEM_HIT_REACT, COMSIG_ATOM_ATTACKBY))
|
||||
var/atom/shield = parent
|
||||
if(shield.loc == wearer)
|
||||
lost_wearer(src, wearer)
|
||||
@@ -120,14 +120,14 @@
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(wearer)
|
||||
UnregisterSignal(wearer, list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(wearer, list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_QDELETING))
|
||||
wearer.update_appearance(UPDATE_ICON)
|
||||
wearer = null
|
||||
|
||||
/datum/component/shielded/proc/set_wearer(mob/user)
|
||||
wearer = user
|
||||
RegisterSignal(wearer, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays))
|
||||
RegisterSignal(wearer, COMSIG_PARENT_QDELETING, PROC_REF(lost_wearer))
|
||||
RegisterSignal(wearer, COMSIG_QDELETING, PROC_REF(lost_wearer))
|
||||
if(current_charges)
|
||||
wearer.update_appearance(UPDATE_ICON)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
RegisterSignal(donor_atom, COMSIG_ORGAN_REMOVED, PROC_REF(on_donor_removed))
|
||||
else if(istype(donor_atom, /obj/item/implant))
|
||||
RegisterSignal(donor_atom, COMSIG_IMPLANT_REMOVED, PROC_REF(on_donor_removed))
|
||||
RegisterSignal(donor_atom, COMSIG_PARENT_QDELETING, PROC_REF(on_donor_removed))
|
||||
RegisterSignal(donor_atom, COMSIG_QDELETING, PROC_REF(on_donor_removed))
|
||||
|
||||
/datum/component/simple_access/proc/on_tried_access(datum/source, atom/locked_thing)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
COMSIG_ATOM_ATTACK_HAND,
|
||||
COMSIG_ATOM_ATTACK_PAW,
|
||||
), PROC_REF(consume_attack))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(consume_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(consume_attackby))
|
||||
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(moved))
|
||||
RegisterSignal(parent, COMSIG_ATOM_BUMPED, PROC_REF(consume))
|
||||
@@ -130,7 +130,7 @@
|
||||
COMSIG_ATOM_BULLET_ACT,
|
||||
COMSIG_ATOM_BUMPED,
|
||||
COMSIG_MOVABLE_PRE_MOVE,
|
||||
COMSIG_PARENT_ATTACKBY,
|
||||
COMSIG_ATOM_ATTACKBY,
|
||||
))
|
||||
|
||||
/datum/component/singularity/process(seconds_per_tick)
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
holder = equipper
|
||||
qdel(GetComponent(/datum/component/connect_loc_behalf))
|
||||
AddComponent(/datum/component/connect_loc_behalf, holder, holder_connections)
|
||||
RegisterSignal(holder, COMSIG_PARENT_QDELETING, PROC_REF(holder_deleted))
|
||||
RegisterSignal(holder, COMSIG_QDELETING, PROC_REF(holder_deleted))
|
||||
|
||||
/*
|
||||
* Detects if the holder mob is deleted.
|
||||
@@ -147,7 +147,7 @@
|
||||
/datum/component/slippery/proc/on_drop(datum/source, mob/user)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
UnregisterSignal(user, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(user, COMSIG_QDELETING)
|
||||
|
||||
qdel(GetComponent(/datum/component/connect_loc_behalf))
|
||||
add_connect_loc_behalf_to_parent()
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
return ..()
|
||||
|
||||
/datum/component/soul_stealer/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(on_afterattack))
|
||||
|
||||
/datum/component/soul_stealer/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_ITEM_AFTERATTACK))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ITEM_AFTERATTACK))
|
||||
|
||||
///signal called on parent being examined
|
||||
/datum/component/soul_stealer/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
src.spawn_text = spawn_text
|
||||
src.max_spawned = max_spawned
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(stop_spawning))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(stop_spawning))
|
||||
START_PROCESSING((spawn_time < 2 SECONDS ? SSfastprocess : SSprocessing), src)
|
||||
|
||||
/datum/component/spawner/process()
|
||||
@@ -58,7 +58,7 @@
|
||||
if (spawn_text)
|
||||
spawner.visible_message(span_danger("[created] [spawn_text] [spawner]."))
|
||||
|
||||
RegisterSignal(created, COMSIG_PARENT_QDELETING, PROC_REF(on_deleted))
|
||||
RegisterSignal(created, COMSIG_QDELETING, PROC_REF(on_deleted))
|
||||
|
||||
/// Remove weakrefs to atoms which have been killed or deleted without us picking it up somehow
|
||||
/datum/component/spawner/proc/validate_references()
|
||||
@@ -84,4 +84,4 @@
|
||||
if (source.stat != DEAD)
|
||||
return
|
||||
spawned_things -= WEAKREF(source)
|
||||
UnregisterSignal(source, list(COMSIG_PARENT_QDELETING, COMSIG_MOB_STATCHANGE))
|
||||
UnregisterSignal(source, list(COMSIG_QDELETING, COMSIG_MOB_STATCHANGE))
|
||||
|
||||
@@ -42,11 +42,11 @@
|
||||
return ..()
|
||||
|
||||
/datum/component/spin2win/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self))
|
||||
|
||||
/datum/component/spin2win/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_ITEM_ATTACK_SECONDARY))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ITEM_ATTACK_SECONDARY))
|
||||
|
||||
///signal called on parent being examined
|
||||
/datum/component/spin2win/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
QDEL_NULL(bound_spirit)
|
||||
|
||||
/datum/component/spirit_holding/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self))
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(on_destroy))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(on_destroy))
|
||||
|
||||
/datum/component/spirit_holding/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_ITEM_ATTACK_SELF, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ITEM_ATTACK_SELF, COMSIG_QDELETING))
|
||||
|
||||
///signal fired on examining the parent
|
||||
/datum/component/spirit_holding/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override, extrarange, falloff_exponent, fallof_distance)
|
||||
if(!isatom(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
RegisterSignals(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), PROC_REF(play_squeak))
|
||||
RegisterSignals(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACKBY), PROC_REF(play_squeak))
|
||||
if(ismovable(parent))
|
||||
RegisterSignals(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT, COMSIG_PROJECTILE_BEFORE_FIRE), PROC_REF(play_squeak))
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
SIGNAL_HANDLER
|
||||
holder = equipper
|
||||
RegisterSignal(holder, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposing_react), override=TRUE)
|
||||
RegisterSignal(holder, COMSIG_PARENT_QDELETING, PROC_REF(holder_deleted), override=TRUE)
|
||||
RegisterSignal(holder, COMSIG_QDELETING, PROC_REF(holder_deleted), override=TRUE)
|
||||
//override for the preqdeleted is necessary because putting parent in hands sends the signal that this proc is registered towards,
|
||||
//so putting an object in hands and then equipping the item on a clothing slot (without dropping it first)
|
||||
//will always runtime without override = TRUE
|
||||
@@ -125,7 +125,7 @@
|
||||
/datum/component/squeak/proc/on_drop(datum/source, mob/user)
|
||||
SIGNAL_HANDLER
|
||||
UnregisterSignal(user, COMSIG_MOVABLE_DISPOSING)
|
||||
UnregisterSignal(user, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(user, COMSIG_QDELETING)
|
||||
holder = null
|
||||
|
||||
///just gets rid of the reference to holder in the case that theyre qdeleted
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
relocate()
|
||||
|
||||
/datum/component/stationloving/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_PREQDELETED, PROC_REF(on_parent_pre_qdeleted))
|
||||
RegisterSignal(parent, COMSIG_PREQDELETED, PROC_REF(on_parent_pre_qdeleted))
|
||||
RegisterSignal(parent, COMSIG_ITEM_IMBUE_SOUL, PROC_REF(check_soul_imbue))
|
||||
RegisterSignal(parent, COMSIG_ITEM_MARK_RETRIEVAL, PROC_REF(check_mark_retrieval))
|
||||
// Relocate when we become unreachable
|
||||
@@ -33,7 +33,7 @@
|
||||
/datum/component/stationloving/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_MOVABLE_Z_CHANGED,
|
||||
COMSIG_PARENT_PREQDELETED,
|
||||
COMSIG_PREQDELETED,
|
||||
COMSIG_ITEM_IMBUE_SOUL,
|
||||
COMSIG_ITEM_MARK_RETRIEVAL,
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
attacked_atom.add_overlay(meter_appearance)
|
||||
RegisterSignal(attacked_atom, COMSIG_ITEM_EQUIPPED, PROC_REF(check_wearing))
|
||||
RegisterSignal(attacked_atom, COMSIG_ITEM_DROPPED, PROC_REF(on_drop))
|
||||
RegisterSignal(attacked_atom, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(attacked_atom, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(attacked_atom, COMSIG_CLICK_ALT, PROC_REF(on_altclick))
|
||||
RegisterSignal(attacked_atom, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(on_multitool))
|
||||
balloon_alert(user, "style meter attached")
|
||||
@@ -113,7 +113,7 @@
|
||||
old_location.cut_overlay(meter_appearance)
|
||||
UnregisterSignal(old_location, COMSIG_ITEM_EQUIPPED)
|
||||
UnregisterSignal(old_location, COMSIG_ITEM_DROPPED)
|
||||
UnregisterSignal(old_location, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(old_location, COMSIG_ATOM_EXAMINE)
|
||||
UnregisterSignal(old_location, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL))
|
||||
if(!style_meter)
|
||||
return
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
RegisterSignal(parent, COMSIG_ATOM_HULK_ATTACK, PROC_REF(hulk_hit))
|
||||
RegisterSignal(parent, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(unarmed_hit))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(hand_hit))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_hit))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(attackby_hit))
|
||||
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_WRENCH), PROC_REF(tool_hit))
|
||||
RegisterSignal(parent, COMSIG_ATOM_BUMPED, PROC_REF(bumped_hit))
|
||||
RegisterSignal(parent, COMSIG_ATOM_INTERCEPT_Z_FALL, PROC_REF(intercept_z_fall))
|
||||
@@ -29,7 +29,7 @@
|
||||
COMSIG_ATOM_HULK_ATTACK,
|
||||
COMSIG_LIVING_UNARMED_ATTACK,
|
||||
COMSIG_ATOM_ATTACK_HAND,
|
||||
COMSIG_PARENT_ATTACKBY,
|
||||
COMSIG_ATOM_ATTACKBY,
|
||||
COMSIG_ATOM_TOOL_ACT(TOOL_WRENCH),
|
||||
COMSIG_ATOM_BUMPED,
|
||||
COMSIG_ATOM_INTERCEPT_Z_FALL,
|
||||
|
||||
@@ -22,7 +22,7 @@ This component is used in vat growing to swab for microbiological samples which
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(try_to_swab))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(handle_overlays))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, PROC_REF(handle_icon))
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
src.after_tame = after_tame
|
||||
src.unique = unique
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(try_tame))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(try_tame))
|
||||
RegisterSignal(parent, COMSIG_SIMPLEMOB_SENTIENCEPOTION, PROC_REF(on_tame)) //Instantly succeeds
|
||||
RegisterSignal(parent, COMSIG_SIMPLEMOB_TRANSFERPOTION, PROC_REF(on_tame)) //Instantly succeeds
|
||||
|
||||
|
||||
@@ -35,20 +35,20 @@
|
||||
return ..()
|
||||
|
||||
/datum/component/tattoo/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/tattoo/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_EXAMINE)
|
||||
|
||||
/datum/component/tattoo/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
examine_list += span_boldnotice(tattoo_description)
|
||||
|
||||
/datum/component/tattoo/proc/setup_tatted_owner(mob/living/carbon/new_owner)
|
||||
RegisterSignal(new_owner, COMSIG_PARENT_EXAMINE, PROC_REF(on_bodypart_owner_examine))
|
||||
RegisterSignal(new_owner, COMSIG_ATOM_EXAMINE, PROC_REF(on_bodypart_owner_examine))
|
||||
|
||||
/datum/component/tattoo/proc/clear_tatted_owner(mob/living/carbon/old_owner)
|
||||
UnregisterSignal(old_owner, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(old_owner, COMSIG_ATOM_EXAMINE)
|
||||
|
||||
/datum/component/tattoo/proc/on_bodypart_owner_examine(mob/living/carbon/bodypart_owner, mob/user, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
src.old_body_ref = WEAKREF(old_body)
|
||||
|
||||
/datum/component/temporary_body/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_destroy))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(on_parent_destroy))
|
||||
|
||||
/datum/component/temporary_body/UnregisterFromParent()
|
||||
UnregisterSignal(parent, COMSIG_PARENT_QDELETING)
|
||||
UnregisterSignal(parent, COMSIG_QDELETING)
|
||||
|
||||
/**
|
||||
* Sends the mind of the temporary body back into their previous host
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, PROC_REF(on_fire_act))
|
||||
RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays))
|
||||
RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(clean_react))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(attackby_react))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(parent_qdeleting)) //probably necessary because turfs are wack
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(attackby_react))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(parent_qdeleting)) //probably necessary because turfs are wack
|
||||
var/turf/turf_parent = parent
|
||||
turf_parent.update_appearance()
|
||||
|
||||
@@ -78,9 +78,9 @@
|
||||
COMSIG_ATOM_FIRE_ACT,
|
||||
COMSIG_ATOM_UPDATE_OVERLAYS,
|
||||
COMSIG_COMPONENT_CLEAN_ACT,
|
||||
COMSIG_PARENT_ATTACKBY,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_ATOM_ATTACKBY,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_QDELETING,
|
||||
))
|
||||
var/turf/turf_parent = parent
|
||||
turf_parent.update_appearance()
|
||||
@@ -119,7 +119,7 @@
|
||||
burn_callback = CALLBACK(src, PROC_REF(burn_parent), user)
|
||||
burn_timer = addtimer(burn_callback, min(amount * 0.35 SECONDS, 20 SECONDS), TIMER_STOPPABLE)
|
||||
//unregister everything mechanical, we are burning up
|
||||
UnregisterSignal(parent, list(COMSIG_COMPONENT_CLEAN_ACT, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_FIRE_ACT))
|
||||
UnregisterSignal(parent, list(COMSIG_COMPONENT_CLEAN_ACT, COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_FIRE_ACT))
|
||||
|
||||
/**
|
||||
* Used to actually melt parent
|
||||
@@ -181,7 +181,7 @@
|
||||
if(thing.get_temperature() >= FIRE_MINIMUM_TEMPERATURE_TO_EXIST)
|
||||
thermite_melt(user)
|
||||
|
||||
/// Signal handler for COMSIG_PARENT_QDELETING, necessary because turfs can be weird with qdel()
|
||||
/// Signal handler for COMSIG_QDELETING, necessary because turfs can be weird with qdel()
|
||||
/datum/component/thermite/proc/parent_qdeleting(datum/source)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
|
||||
/datum/component/toggle_icon/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(on_alt_click))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
|
||||
/datum/component/toggle_icon/UnregisterFromParent()
|
||||
UnregisterSignal(parent, list(COMSIG_CLICK_ALT, COMSIG_PARENT_EXAMINE))
|
||||
UnregisterSignal(parent, list(COMSIG_CLICK_ALT, COMSIG_ATOM_EXAMINE))
|
||||
|
||||
/*
|
||||
* Signal proc for COMSIG_CLICK_ALT.
|
||||
@@ -56,7 +56,7 @@
|
||||
do_icon_toggle(source, living_user)
|
||||
|
||||
/*
|
||||
* Signal proc for COMSIG_PARENT_EXAMINE.
|
||||
* Signal proc for COMSIG_ATOM_EXAMINE.
|
||||
* Lets the user know they can toggle the parent open or closed.
|
||||
*
|
||||
* source - the atom being examined (parent)
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
/datum/component/trapdoor/RegisterWithParent()
|
||||
. = ..()
|
||||
RegisterSignal(parent, COMSIG_TURF_CHANGE, PROC_REF(turf_changed_pre))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
if(!src.assembly)
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_TRAPDOOR_LINK, PROC_REF(on_link_requested))
|
||||
else
|
||||
@@ -67,7 +67,7 @@
|
||||
if(assembly)
|
||||
UnregisterSignal(assembly, COMSIG_ASSEMBLY_PULSED)
|
||||
UnregisterSignal(parent, COMSIG_TURF_CHANGE)
|
||||
UnregisterSignal(parent, COMSIG_PARENT_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_EXAMINE)
|
||||
UnregisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL))
|
||||
|
||||
/datum/component/trapdoor/proc/try_unlink(turf/source, mob/user, obj/item/tool)
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
offhand_item.desc = "Your second grip on [parent_item]."
|
||||
offhand_item.wielded = TRUE
|
||||
RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, PROC_REF(on_drop))
|
||||
RegisterSignal(offhand_item, COMSIG_PARENT_QDELETING, PROC_REF(on_destroy))
|
||||
RegisterSignal(offhand_item, COMSIG_QDELETING, PROC_REF(on_destroy))
|
||||
user.put_in_inactive_hand(offhand_item)
|
||||
|
||||
/**
|
||||
@@ -268,7 +268,7 @@
|
||||
|
||||
// Remove the object in the offhand
|
||||
if(offhand_item)
|
||||
UnregisterSignal(offhand_item, list(COMSIG_ITEM_DROPPED, COMSIG_PARENT_QDELETING))
|
||||
UnregisterSignal(offhand_item, list(COMSIG_ITEM_DROPPED, COMSIG_QDELETING))
|
||||
qdel(offhand_item)
|
||||
// Clear any old refrence to an item that should be gone now
|
||||
offhand_item = null
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
src.on_milk_callback = on_milk_callback
|
||||
|
||||
/datum/component/udder/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby))
|
||||
|
||||
/datum/component/udder/UnregisterFromParent()
|
||||
QDEL_NULL(udder)
|
||||
UnregisterSignal(parent, list(COMSIG_PARENT_EXAMINE, COMSIG_PARENT_ATTACKBY))
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_ATTACKBY))
|
||||
|
||||
///signal called on parent being examined
|
||||
/datum/component/udder/proc/on_examine(datum/source, mob/user, list/examine_list)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
if(!isitem(parent))
|
||||
return COMPONENT_INCOMPATIBLE
|
||||
|
||||
RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy))
|
||||
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(OnAttackBy))
|
||||
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(interact))
|
||||
if(istype(parent, /obj/item/implant))
|
||||
RegisterSignal(parent, COMSIG_IMPLANT_ACTIVATED, PROC_REF(implant_activation))
|
||||
@@ -75,7 +75,7 @@
|
||||
purchase_log = GLOB.uplink_purchase_logs_by_key[owner]
|
||||
else
|
||||
purchase_log = new(owner, src)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
src.lockable = lockable
|
||||
src.active = enabled
|
||||
if(!uplink_handler_override)
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
/datum/component/usb_port/RegisterWithParent()
|
||||
RegisterSignal(parent, COMSIG_ATOM_USB_CABLE_TRY_ATTACH, PROC_REF(on_atom_usb_cable_try_attach))
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine))
|
||||
RegisterSignal(parent, COMSIG_MOVABLE_CIRCUIT_LOADED, PROC_REF(on_load))
|
||||
|
||||
for(var/obj/item/circuit_component/component as anything in circuit_components)
|
||||
@@ -58,7 +58,7 @@
|
||||
UnregisterSignal(parent, list(
|
||||
COMSIG_ATOM_USB_CABLE_TRY_ATTACH,
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
COMSIG_MOVABLE_CIRCUIT_LOADED,
|
||||
))
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
UnregisterSignal(attached_circuit, list(
|
||||
COMSIG_CIRCUIT_SHELL_REMOVED,
|
||||
COMSIG_PARENT_QDELETING,
|
||||
COMSIG_QDELETING,
|
||||
COMSIG_CIRCUIT_SET_SHELL,
|
||||
))
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
UnregisterSignal(physical_object, list(
|
||||
COMSIG_MOVABLE_MOVED,
|
||||
COMSIG_PARENT_EXAMINE,
|
||||
COMSIG_ATOM_EXAMINE,
|
||||
))
|
||||
|
||||
/datum/component/usb_port/proc/attach_circuit_components(obj/item/integrated_circuit/circuitboard)
|
||||
@@ -175,7 +175,7 @@
|
||||
new_physical_object = attached_circuit
|
||||
|
||||
RegisterSignal(attached_circuit, COMSIG_CIRCUIT_SHELL_REMOVED, PROC_REF(on_circuit_shell_removed))
|
||||
RegisterSignal(attached_circuit, COMSIG_PARENT_QDELETING, PROC_REF(on_circuit_deleting))
|
||||
RegisterSignal(attached_circuit, COMSIG_QDELETING, PROC_REF(on_circuit_deleting))
|
||||
RegisterSignal(attached_circuit, COMSIG_CIRCUIT_SET_SHELL, PROC_REF(on_set_shell))
|
||||
set_physical_object(new_physical_object)
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
usb_cable_beam = atom_parent.Beam(new_physical_object, "usb_cable_beam", 'icons/obj/wiremod.dmi')
|
||||
|
||||
RegisterSignal(new_physical_object, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
|
||||
RegisterSignal(new_physical_object, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine_shell))
|
||||
RegisterSignal(new_physical_object, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine_shell))
|
||||
physical_object = new_physical_object
|
||||
|
||||
// Adds support for loading circuits without shells but with usb cables, or loading circuits with shells because the shells might not load first.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user