Hallucination Refactor (#17661)

* begone accursed beast

* cleanup and notes

* screen object fix

* varset clear

* don't raw send sounds, spark on door sound, pain hallucination

* lengthen this a bit

* more pain messages, become jittery

* note

* lets clean that up to

* Revert "lets clean that up to"

This reverts commit 2409e41870.

* cleanup and define

* use accessors

* death isn't working so have toxins instead, it's scarier

* don't actually clean these up, because of how xenochi works

* additional protection

* hunger joke

* Use get_component instead of a cache

* empty scope removed

* Updated xenochi code to use hallu component

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Will
2025-05-15 00:17:39 -07:00
committed by GitHub
co-authored by Kashargul
parent 8eb403bf73
commit 709e9d130c
12 changed files with 689 additions and 610 deletions
@@ -43,10 +43,12 @@ SUBSYSTEM_DEF(motiontracker)
if(Rt && At && count)
while(count-- > 0)
// Place at root turf offset from signal responder's turf using px offsets. So it will show up over visblocking.
var/image/motion_echo/E = new /image/motion_echo('icons/effects/effects.dmi', Rt, "motion_echo", OBFUSCATION_LAYER, SOUTH)
var/image/client_only/motion_echo/E = new /image/client_only/motion_echo('icons/effects/effects.dmi', Rt, "motion_echo", OBFUSCATION_LAYER, SOUTH)
E.place_from_root(At)
for(var/datum/weakref/C in clients)
E.append_client(C)
for(var/datum/weakref/CW in clients)
var/client/C = CW?.resolve()
if(C)
E.append_client(C)
currentrun.Remove(key)
expended_echos[key] = data
if(MC_TICK_CHECK)