TG Signal Port (#18741)

* click code start

* snake_span

* Update click.dm

* Update click.dm

* Update click.dm

* WIP signal organization

* Moooore signals

* cuffs

* decon

* whoops

* revert this

* Proper name

* movable moved

* These

* Theeese

* Sort these

* Update cyborg.dm
This commit is contained in:
Cameron Lennox
2025-12-09 17:50:52 -05:00
committed by GitHub
parent b73ce78164
commit 7ff489ec36
185 changed files with 4359 additions and 1299 deletions
+1 -1
View File
@@ -228,7 +228,7 @@
target.module.modules.Add(add_item)
target.module.contents.Add(add_item)
spawn(0)
SEND_SIGNAL(add_item, COMSIG_OBSERVER_MOVED)
SEND_SIGNAL(add_item, COMSIG_MOVABLE_MOVED)
target.hud_used?.update_robot_modules_display()
if(istype(add_item, /obj/item/stack/))
var/obj/item/stack/item_with_synth = add_item
@@ -39,7 +39,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H,span_notice("You activate the P.A.T. module."))
H.AddComponent(/datum/component/recursive_move)
RegisterSignal(H, COMSIG_OBSERVER_MOVED, /obj/item/rig_module/pat_module/proc/boop)
RegisterSignal(H, COMSIG_MOVABLE_MOVED, /obj/item/rig_module/pat_module/proc/boop)
/obj/item/rig_module/pat_module/deactivate()
if(!..())
@@ -47,7 +47,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H,span_notice("Your disable the P.A.T. module."))
UnregisterSignal(H, COMSIG_OBSERVER_MOVED)
UnregisterSignal(H, COMSIG_MOVABLE_MOVED)
/obj/item/rig_module/pat_module/proc/boop(var/mob/living/carbon/human/user,var/turf/To,var/turf/Tn)
SIGNAL_HANDLER
+1 -1
View File
@@ -87,7 +87,7 @@
return ..()
/obj/item/reagent_containers/food/drinks/proc/On_Consume(var/mob/living/eater, var/mob/feeder, var/changed = FALSE)
SEND_SIGNAL(src, COMSIG_CONTAINER_DRANK, eater, feeder)
SEND_SIGNAL(src, COMSIG_GLASS_DRANK, eater, feeder)
if(!feeder)
feeder = eater
+2 -2
View File
@@ -110,7 +110,7 @@
watching_mob = user
watching_mob.AddComponent(/datum/component/recursive_move)
RegisterSignal(watching_mob, COMSIG_OBSERVER_MOVED, /obj/machinery/station_map/proc/checkPosition)
RegisterSignal(watching_mob, COMSIG_MOVABLE_MOVED, /obj/machinery/station_map/proc/checkPosition)
//GLOB.dir_set_event.register(watching_mob, src, /obj/machinery/station_map/proc/checkPosition)
RegisterSignal(watching_mob, COMSIG_OBSERVER_DESTROYED, /obj/machinery/station_map/proc/stopWatching)
update_use_power(USE_POWER_ACTIVE)
@@ -141,7 +141,7 @@
var/mob/M = watching_mob
spawn(5) //we give it time to fade out
M.client.images -= holomap_datum.station_map
UnregisterSignal(watching_mob, COMSIG_OBSERVER_MOVED)
UnregisterSignal(watching_mob, COMSIG_MOVABLE_MOVED)
//GLOB.dir_set_event.unregister(watching_mob, src)
UnregisterSignal(watching_mob, COMSIG_OBSERVER_DESTROYED)
watching_mob = null
@@ -449,11 +449,11 @@
/obj/item/integrated_circuit/output/holographic_projector/Initialize(mapload)
. = ..()
AddComponent(/datum/component/recursive_move)
RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(on_moved))
RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
/obj/item/integrated_circuit/output/holographic_projector/Destroy()
destroy_hologram()
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
UnregisterSignal(src, COMSIG_MOVABLE_MOVED)
return ..()
/obj/item/integrated_circuit/output/holographic_projector/do_work()
+1 -1
View File
@@ -23,7 +23,7 @@
MATCONTAINER_EXAMINE, \
container_signals = list( \
COMSIG_MATCONTAINER_ITEM_CONSUMED = TYPE_PROC_REF(/obj/machinery/ore_silo, on_item_consumed), \
COMSIG_MATCONTAINER_SHEETS_RETRIEVED = TYPE_PROC_REF(/obj/machinery/ore_silo, log_sheets_ejected), \
COMSIG_MATCONTAINER_STACK_RETRIEVED = TYPE_PROC_REF(/obj/machinery/ore_silo, log_sheets_ejected), \
), \
allowed_items = /obj/item/stack \
)
+1 -1
View File
@@ -95,7 +95,7 @@
. += span_info("You can use a <b>crowbar</b> to remove it.")
*/
/mob/living/bot/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
else
+3 -3
View File
@@ -214,19 +214,19 @@
playsound(src, pick(preparing_arrest_sounds), 50)
// Register to be told when the target moves
target.AddComponent(/datum/component/recursive_move)
RegisterSignal(target, COMSIG_OBSERVER_MOVED, /mob/living/bot/secbot/proc/target_moved)
RegisterSignal(target, COMSIG_MOVABLE_MOVED, /mob/living/bot/secbot/proc/target_moved)
// Callback invoked if the registered target moves
/mob/living/bot/secbot/proc/target_moved(atom/movable/moving_instance, atom/old_loc, atom/new_loc)
SIGNAL_HANDLER
if(get_dist(get_turf(src), get_turf(target)) >= 1)
awaiting_surrender = INFINITY // Done waiting!
UnregisterSignal(moving_instance, COMSIG_OBSERVER_MOVED)
UnregisterSignal(moving_instance, COMSIG_MOVABLE_MOVED)
/mob/living/bot/secbot/resetTarget()
..()
if(target)
UnregisterSignal(target, COMSIG_OBSERVER_MOVED)
UnregisterSignal(target, COMSIG_MOVABLE_MOVED)
awaiting_surrender = 0
attacked = FALSE
walk_to(src, 0)
@@ -2,7 +2,7 @@
/mob/living/carbon/human/updatehealth()
var/huskmodifier = 2.5 // With 1.5, you need 250 burn instead of 200 to husk a human.
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
return
+2 -2
View File
@@ -254,7 +254,7 @@
/mob/living/proc/handle_hud_icons_health()
SHOULD_CALL_PARENT(TRUE)
if(SEND_SIGNAL(src,COMSIG_LIVING_HANDLE_HUD_HEALTH_ICON) & COMSIG_COMPONENT_HANDLED_HEALTH_ICON)
if(SEND_SIGNAL(src,COMSIG_MOB_HANDLE_HUD_HEALTH_ICON) & COMSIG_COMPONENT_HANDLED_HEALTH_ICON)
return FALSE
return TRUE
@@ -276,7 +276,7 @@
return FALSE
/mob/living/proc/handle_darksight()
SEND_SIGNAL(src,COMSIG_LIVING_HANDLE_HUD_DARKSIGHT)
SEND_SIGNAL(src,COMSIG_MOB_HANDLE_HUD_DARKSIGHT)
if(!seedarkness) //Cheap 'always darksight' var
dsoverlay.alpha = 255
return
+1 -1
View File
@@ -173,7 +173,7 @@
manual_afk = TRUE
/mob/living/proc/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
else
+1 -1
View File
@@ -168,7 +168,7 @@
return ((!A.power_equip) && A.requires_power == 1 || istype(T, /turf/space)) && !istype(src.loc,/obj/item)
/mob/living/silicon/ai/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
setOxyLoss(0)
@@ -8,7 +8,7 @@
/mob/living/silicon/decoy/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
else
+1 -1
View File
@@ -44,7 +44,7 @@
adjustFireLoss(-0.5)
/mob/living/silicon/pai/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
else
@@ -402,7 +402,7 @@
/obj/item/reagent_containers/glass/beaker/large/borg/Initialize(mapload)
. = ..()
R = loc.loc
RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc))
RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(check_loc))
/obj/item/reagent_containers/glass/beaker/large/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc)
SIGNAL_HANDLER
@@ -418,7 +418,7 @@
hud_layerise()
/obj/item/reagent_containers/glass/beaker/large/borg/Destroy()
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
UnregisterSignal(src, COMSIG_MOVABLE_MOVED)
R = null
last_robot_loc = null
. = ..()
@@ -1,5 +1,5 @@
/mob/living/silicon/robot/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
return
@@ -1123,7 +1123,7 @@
/obj/item/reagent_containers/glass/bucket/cyborg/Initialize(mapload)
. = ..()
R = loc.loc
RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc))
RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(check_loc))
/obj/item/reagent_containers/glass/bucket/cyborg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc)
if(old_loc == R || old_loc == R.module)
@@ -1138,7 +1138,7 @@
hud_layerise()
/obj/item/reagent_containers/glass/bucket/cyborg/Destroy()
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
UnregisterSignal(src, COMSIG_MOVABLE_MOVED)
R = null
last_robot_loc = null
..()
+1 -1
View File
@@ -22,7 +22,7 @@
//Should we be dead?
/mob/living/simple_mob/updatehealth()
if(SEND_SIGNAL(src, COMSIG_UPDATE_HEALTH) & COMSIG_UPDATE_HEALTH_GOD_MODE)
if(SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE) & COMSIG_LIVING_HEALTH_UPDATE_GOD_MODE)
health = getMaxHealth()
set_stat(CONSCIOUS)
return
+15 -1
View File
@@ -21,9 +21,23 @@
var/datum/mind/mind
var/stat = 0 //Whether a mob is alive or dead. TODO: Move this to living - Nodrak
var/stat = CONSCIOUS //Whether a mob is alive or dead.
var/next_move = null // world.time when mob is next allowed to self-move.
/**
* Whether and how a mob is incapacitated
*
* Normally being restrained, agressively grabbed, or in stasis counts as incapacitated
* unless there is a flag being used to check if it's ignored
*
* * bitflags: (see code/__DEFINES/status_effects.dm)
* * INCAPABLE_RESTRAINTS - if our mob is in a restraint (handcuffs)
* * INCAPABLE_STASIS - if our mob is in stasis (stasis bed, etc.)
* * INCAPABLE_GRAB - if our mob is being agressively grabbed
*
**/
VAR_FINAL/incapacitated = NONE
//Not in use yet
var/obj/effect/organstructure/organStructure = null
+2 -2
View File
@@ -714,14 +714,14 @@ var/list/global/organ_rel_size = list(
SHOULD_CALL_PARENT(TRUE)
if(!client)
return FALSE
if(SEND_SIGNAL(src,COMSIG_LIVING_HANDLE_HUD) & COMSIG_COMPONENT_HANDLED_HUD)
if(SEND_SIGNAL(src,COMSIG_MOB_HANDLE_HUD) & COMSIG_COMPONENT_HANDLED_HUD)
return FALSE
return TRUE
/// Handle eye things like the Byond SEE_TURFS, SEE_OBJS, etc.
/mob/proc/handle_vision()
SHOULD_CALL_PARENT(TRUE)
SEND_SIGNAL(src,COMSIG_LIVING_HANDLE_VISION)
SEND_SIGNAL(src,COMSIG_MOB_HANDLE_VISION)
//Icon is used to occlude things like huds from the faulty byond context menu.
// http://www.byond.com/forum/?post=2336679
@@ -445,7 +445,7 @@
forceMove(get_turf(parent_human))
parent_human.AddComponent(/datum/component/recursive_move)
RegisterSignal(parent_human, COMSIG_OBSERVER_MOVED, /mob/observer/eye/ar_soul/proc/human_moved)
RegisterSignal(parent_human, COMSIG_MOVABLE_MOVED, /mob/observer/eye/ar_soul/proc/human_moved)
//Time to play dressup
if(brainmob.client.prefs)
@@ -459,7 +459,7 @@
/mob/observer/eye/ar_soul/Destroy()
if(parent_human) //It's POSSIBLE they've been deleted before the NIF somehow
UnregisterSignal(parent_human, COMSIG_OBSERVER_MOVED)
UnregisterSignal(parent_human, COMSIG_MOVABLE_MOVED)
parent_human = null
return ..()
+2 -2
View File
@@ -98,7 +98,7 @@
/obj/item/paper/sticky/Initialize(mapload)
. = ..()
AddComponent(/datum/component/recursive_move)
RegisterSignal(src, COMSIG_OBSERVER_MOVED, /obj/item/paper/sticky/proc/reset_persistence_tracking)
RegisterSignal(src, COMSIG_MOVABLE_MOVED, /obj/item/paper/sticky/proc/reset_persistence_tracking)
/obj/item/paper/sticky/proc/reset_persistence_tracking()
SIGNAL_HANDLER
@@ -108,7 +108,7 @@
/obj/item/paper/sticky/Destroy()
reset_persistence_tracking()
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
UnregisterSignal(src, COMSIG_MOVABLE_MOVED)
. = ..()
/obj/item/paper/sticky/update_icon()
+1 -1
View File
@@ -85,6 +85,6 @@
point_at(pointing_at)
SEND_SIGNAL(src, COMSIG_MOB_POINTED, pointing_at)
SEND_SIGNAL(src, COMSIG_MOVABLE_POINTED, pointing_at)
face_atom(pointing_at)
return TRUE
@@ -118,7 +118,7 @@
return FALSE
user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things
SEND_SIGNAL(src, COMSIG_CONTAINER_DRANK, target, user)
SEND_SIGNAL(src, COMSIG_GLASS_DRANK, target, user)
if(user == target)
self_feed_message(user)
reagents.trans_to_mob(user, issmall(user) ? CEILING(amount_per_transfer_from_this/2, 1) : amount_per_transfer_from_this, CHEM_INGEST)
@@ -231,10 +231,10 @@
. = ..()
AddComponent(/datum/component/recursive_move)
AddComponent(/datum/component/hose_connector/input)
RegisterSignal(src, COMSIG_OBSERVER_MOVED, /obj/item/reagent_containers/spray/chemsprayer/hosed/proc/update_hose)
RegisterSignal(src, COMSIG_MOVABLE_MOVED, /obj/item/reagent_containers/spray/chemsprayer/hosed/proc/update_hose)
/obj/item/reagent_containers/spray/chemsprayer/hosed/Destroy()
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
UnregisterSignal(src, COMSIG_MOVABLE_MOVED)
. = ..()
/obj/item/reagent_containers/spray/chemsprayer/hosed/proc/update_hose(atom/source, atom/oldloc, direction, forced, list/old_locs, momentum_change)
+3 -3
View File
@@ -55,15 +55,15 @@
// This doesn't apply to skin contact - this is for, e.g. extinguishers and sprays. The difference is that reagent is not directly on the mob's skin - it might just be on their clothing.
/datum/reagent/proc/touch_mob(var/mob/M, var/amount)
SEND_SIGNAL(M, COMSIG_REAGENTS_TOUCH, src, amount)
SEND_SIGNAL(M, COMSIG_REAGENT_EXPOSE_MOB, src, amount)
return
/datum/reagent/proc/touch_obj(var/obj/O, var/amount) // Acid melting, cleaner cleaning, etc
SEND_SIGNAL(O, COMSIG_REAGENTS_TOUCH, src, amount)
SEND_SIGNAL(O, COMSIG_REAGENT_EXPOSE_OBJ, src, amount)
return
/datum/reagent/proc/touch_turf(var/turf/T, var/amount) // Cleaner cleaning, lube lubbing, etc, all go here
SEND_SIGNAL(T, COMSIG_REAGENTS_TOUCH, src, amount)
SEND_SIGNAL(T, COMSIG_REAGENT_EXPOSE_TURF, src, amount)
return
/datum/reagent/proc/on_mob_life(var/mob/living/carbon/M, var/alien, var/datum/reagents/metabolism/location) // Currently, on_mob_life is called on carbons. Any interaction with non-carbon mobs (lube) will need to be done in touch_mob.
+2 -2
View File
@@ -101,7 +101,7 @@
/obj/item/shield_projector/Initialize(mapload)
START_PROCESSING(SSobj, src)
AddComponent(/datum/component/recursive_move)
RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(moved_event))
RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(moved_event))
if(always_on)
spawn(0)
if(!QDELETED(src))
@@ -111,7 +111,7 @@
/obj/item/shield_projector/Destroy()
destroy_shields()
STOP_PROCESSING(SSobj, src)
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
UnregisterSignal(src, COMSIG_MOVABLE_MOVED)
return ..()
/obj/item/shield_projector/proc/moved_event()
@@ -95,7 +95,7 @@
. = ..()
if(owner == user || !customize_usr)
close_ui()
UnregisterSignal(owner, COMSIG_OBSERVER_MOVED)
UnregisterSignal(owner, COMSIG_MOVABLE_MOVED)
SEND_SIGNAL(owner, COMSIG_HUMAN_DNA_FINALIZED) // Update any components using our saved appearance
owner = null
last_camera_turf = null
@@ -672,7 +672,7 @@
return
if(!ui)
owner.AddComponent(/datum/component/recursive_move)
RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen), TRUE)
RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(update_active_camera_screen), TRUE)
// Register map objects
user.client.register_map_obj(cam_screen)
for(var/plane in cam_plane_masters)
@@ -1139,7 +1139,7 @@
/datum/tgui_module/appearance_changer/body_designer/proc/make_fake_owner()
// checks for monkey to tell if on the menu
if(owner)
UnregisterSignal(owner, COMSIG_OBSERVER_MOVED)
UnregisterSignal(owner, COMSIG_MOVABLE_MOVED)
QDEL_NULL(owner)
owner = new(src)
owner.set_species(SPECIES_LLEILL)
@@ -1147,11 +1147,11 @@
owner.invisibility = INVISIBILITY_ABSTRACT
// Add listeners back
owner.AddComponent(/datum/component/recursive_move)
RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen), TRUE)
RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(update_active_camera_screen), TRUE)
/datum/tgui_module/appearance_changer/body_designer/proc/load_record_to_body(var/datum/transhuman/body_record/current_project)
if(owner)
UnregisterSignal(owner, COMSIG_OBSERVER_MOVED)
UnregisterSignal(owner, COMSIG_MOVABLE_MOVED)
QDEL_NULL(owner)
owner = current_project.produce_human_mob(src,FALSE,FALSE,"Designer [rand(999)]")
// Update some specifics from the current record
@@ -1165,7 +1165,7 @@
owner.custom_species = current_project.speciesname
// Add listeners back
owner.AddComponent(/datum/component/recursive_move)
RegisterSignal(owner, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen), TRUE)
RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(update_active_camera_screen), TRUE)
/datum/tgui_module/appearance_changer/self_deleting
/datum/tgui_module/appearance_changer/self_deleting/tgui_close(mob/user)
+6 -6
View File
@@ -95,7 +95,7 @@
/datum/tgui_module/camera/Destroy()
if(active_camera)
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
UnregisterSignal(active_camera, COMSIG_MOVABLE_MOVED)
active_camera = null
last_camera_turf = null
QDEL_NULL(cam_screen_tg)
@@ -164,11 +164,11 @@
var/list/cameras = get_available_cameras(ui.user)
var/obj/machinery/camera/C = cameras["[ckey(c_tag)]"]
if(active_camera)
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
UnregisterSignal(active_camera, COMSIG_MOVABLE_MOVED)
if(C)
active_camera = C
active_camera.AddComponent(/datum/component/recursive_move)
RegisterSignal(active_camera, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen))
RegisterSignal(active_camera, COMSIG_MOVABLE_MOVED, PROC_REF(update_active_camera_screen))
playsound(tgui_host(), get_sfx("terminal_type"), 25, FALSE)
update_active_camera_screen()
return TRUE
@@ -193,10 +193,10 @@
if(target)
if(active_camera)
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
UnregisterSignal(active_camera, COMSIG_MOVABLE_MOVED)
active_camera = target
active_camera.AddComponent(/datum/component/recursive_move)
RegisterSignal(active_camera, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen))
RegisterSignal(active_camera, COMSIG_MOVABLE_MOVED, PROC_REF(update_active_camera_screen))
playsound(tgui_host(), get_sfx("terminal_type"), 25, FALSE)
update_active_camera_screen()
. = TRUE
@@ -290,7 +290,7 @@
// Turn off the console
if(length(concurrent_users) == 0 && is_living)
if(active_camera)
UnregisterSignal(active_camera, COMSIG_OBSERVER_MOVED)
UnregisterSignal(active_camera, COMSIG_MOVABLE_MOVED)
active_camera = null
last_camera_turf = null
playsound(tgui_host(), 'sound/machines/terminal_off.ogg', 25, FALSE)
@@ -96,7 +96,7 @@ var/list/toxic_reagents = list(TOXIN_PATH)
/datum/component/artifact_master/proc/DoRegistry()
//Melee Hit
RegisterSignal(holder, COMSIG_PARENT_ATTACKBY, /datum/component/artifact_master/proc/on_attackby, override = FALSE)
RegisterSignal(holder, COMSIG_ATOM_ATTACKBY, /datum/component/artifact_master/proc/on_attackby, override = FALSE)
//Explosions
RegisterSignal(holder, COMSIG_ATOM_EX_ACT, /datum/component/artifact_master/proc/on_exact, override = FALSE)
//Bullets
@@ -113,21 +113,21 @@ var/list/toxic_reagents = list(TOXIN_PATH)
RegisterSignal(holder, COMSIG_MOVABLE_MOVED, /datum/component/artifact_master/proc/on_moved, override = FALSE)
//Splashed with a reagent.
RegisterSignal(holder, COMSIG_REAGENTS_TOUCH, /datum/component/artifact_master/proc/on_reagent, override = FALSE)
RegisterSignal(holder, COMSIG_REAGENT_EXPOSE_OBJ, /datum/component/artifact_master/proc/on_reagent, override = FALSE)
/*
*
*/
/datum/component/artifact_master/proc/do_unregister()
UnregisterSignal(holder, COMSIG_PARENT_ATTACKBY)
UnregisterSignal(holder, COMSIG_ATOM_ATTACKBY)
UnregisterSignal(holder, COMSIG_ATOM_EX_ACT)
UnregisterSignal(holder, COMSIG_ATOM_BULLET_ACT)
UnregisterSignal(holder, COMSIG_ATOM_ATTACK_HAND)
UnregisterSignal(holder, COMSIG_MOVABLE_BUMP)
UnregisterSignal(holder, COMSIG_ATOM_BUMPED)
UnregisterSignal(holder, COMSIG_MOVABLE_MOVED)
UnregisterSignal(holder, COMSIG_REAGENTS_TOUCH)
UnregisterSignal(holder, COMSIG_REAGENT_EXPOSE_OBJ)
/datum/component/artifact_master/proc/get_active_effects()
var/list/active_effects = list()