* ion storm event prototype + locale
* add lawsets
* use lawsets, make borgs ion storm targets
* ion storm rule and ion storm target
* lawset prototype
* use lawsets
* update silicon law system to use lawsets and support ion storm event
* new toys
* fix
* more fix
* fixy
* ion storm admin logging
* assigning laws makes borg provide its own laws, other stuff
* 1h reoccurence
* 50% chance
* better call saul
* emagLaws is required
* add announcment audio
* fixy
* family friendly gaming
* fixy
* address reviews
* fixy
* more fixy and no erp
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Station event system
Adds 2 basic events: (Power) GridCheck and RadiationStorm (based on the goonstation version).
The system itself to choose events is based on tgstation's implementation.
This also adds the event command that can be run to force specific events.
There's still some other TODO items for these to be complete, to my knowledge:
1. There's no worldspace DrawCircle method (though the radstorm could look a lot nicer with a shader).
2. The PlayGlobal power_off / power_on audio seems to cut out halfway-through
3. (I think this is a known issue) lights still emit light until you get closer in a gridcheck so PVS range might need bumping.
* Invariants for event names
* Fix random event shutdown
* Mix stereo announcements to mono
* Address feedback
* Remove redundant client system and use the overlay component instead
* Drop the server prefix
* Fix radiation overlay enum
* use entityquery instead
* zum's feedback
* Use EntityQuery
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>