Oversight. I knew I forgot somewhere.
Why It's Good For The Game
Anomalies spawning in the middle of space are dumb.
Changelog
🆑
fix: Anomalies should no longer spawn at the toxins testing range.
/🆑
* Splits anomaly cores into separate versions
* Converts the wormhole projector to require a bluespace core.
* Cleaned up a few lines
* Fixed small bug issues
* The gravity gun now requires a grav core. Increased weight of some anomalies.
* Enables high-intensity grav anomaly
* Fixing minor issues
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.
Fixes#41217
cl MrDoomBringer
fix: Events now announce follow-able atoms to ghosts much more reliably
/cl
Implements @ShizCalev's suggestion to just have the event ghost-announce normally, then call a separate ghost announcement for the "atom of interest" as it is created.
Also improves the code for anomalies a bit
cl MrDoomBringer
tweak: Random Events now have a follow link for ghosts!
/cl
Untested, and anomalies are broken right now but that takes like 2 seconds to fix
* Anomalies now have observer-visible countdowns
🆑 coiax
add: Anomalies now have observer-visible countdowns to their detonation.
/🆑
- Behind the scenes, moved the detonation code from the event to the
anomalies themselves. May be some differences of lifespan, given we're
going from event ticks to world.time, but meh.
* Changes the name of the anomaly cores
Increases the duration and occurrence rate of Anomaly events.
Anomaly cores now give better research values.
Bluespace anomalies no longer teleport anchored objects because it looks godawful.
If not defused, Pyroclastic Anomalies will create a red or orange slime.
Additionally,
-Create virus re-added to secrets menu, as it had options to specify a specific virus to create
-Blob added to One-Click-Antag with the option to set the strength of the blob (1=Weak, 2= Strong, 3=Full)
-Centcom announcement proc merged with generic priority announcement proc
-Re-added the Captain Announces accompanied by a new pleasant sound, instead of the generic priority announcement
-Captain Announcements will automatically generate a newscaster article
-Priority announcements without any defined accompanying sound will play a generic "Attention" soundbyte as an audio cue
-Communications consoles will display who is currently logged in
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.