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
@@ -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