This pr adds a freeze ray gun. It works by reducing the mob's temperature until they freeze and get stuck inside ice for a while. The gun also has an alt-fire mode that fires ice bolt.
Added a new wave defense gamemode, Revenants, wherein the station crew have to defend themselves from an endless wave of humanoid bluespace creatures.
Ported the icon from Baystation, it's their blueforged, but I tweaked the mob's alpha values a tad. Baystation12/Baystation12#21669
- EMPs no longer deal permanent damage. Instead, they deal a temporary kind of damage called surge damage, that lasts for 10 seconds at maximum.
- Surge damage makes mechanical or assisted limbs count as broken and nonfunctional.
- Surge damage has special interactions with the mechanical heart and eyes.
- EMP damage is no longer randomized. It is now much more consistent.
- IPC battery is no longer represented as nutrition. Instead, the microbattery organ contains a super-capacity cell that is used for all their actions. This is represented with a new HUD icon.
- Hardsuits can now be charged in robot chargers if you are wearing them.
- Ion bolts now have a hit sound.
- Removed the ion rifle lethal mode.
- The ion rifle now has four shots.
* Adds drone tasks to Execute UTs on Aurora and Exodus
* Adds a drone task to Migrate SQL and Perform the SQL UT on Runtime
* Changes the SQL UT to respect the config.sql_enabled setting and
use that sql connection
* Changes the default config.sql_enabled state to 0, so uncommenting
SQL_ENABLED has a actual effect
* Moves a number of UT tests into a helper script (code_check.sh)
* Updates the way the RUST_G dll/so is located
* Adds a check to load_databases to verify that sql is enabled
* Adds a check to establish_db_connection to verify that sql is enabled
* Adds spearate config files used during the UTs (which hold the UT db
connection info and enable/disable the db epending on the UT)
'NOFALL' is now a status flag instead of being a var specific to BSTechs. It allows the mob to move between Z-levels and through empty space; even to 'fly up' against gravity. However the tech can no longer use this to 'phase into' matter if there is something above them.
...for that you want to use Ruin-Everything instead: incorporeal movement now has an additional type that's (still) just like a ninja's, but it also allows you to move between Z-levels.
Adds the anti-gravity verb to the Bluespace Robot preset and starts them with 'NOFALL' on.
When using 'GODMODE' you will no longer take damage when you fall; instead a cool message will be shown and a quiet thump will be played.
'GODMODE' now protects you from the awful effects of running - you can run indefinitely and won't take damage from it.
Thanks to the above changes the BST is now self-contained in a single file (well except for the robot preset).
To facilitate the above changes several godmode and incorporeal checks have been added (mostly to movement procs). It cuts on some extra proc overrides and type checks. Also results in a more 'natural' experience when using NOFALL, GODMODE or incorporeal movement.
Changed incorporeal values to defines.
Added a "darkvision" mode for the BST goggles.
I also updated some of the BST verbs to be more descriptive.
PDAs are dead, long live PDAs. All trace of old PDAs has been scoured from the codebase, and in its place are modular computer PDAs that are feature-equivalent. Essentially every PDA function except the Syndicate detonation feature and Notepad has been ported over, and battery life for handheld computers has been boosted alongside the addition of charging cables to make things easier.
* Refactors airlock wire messages
Makes it more straightforward to see that all the lights are off (i.e.
no power). Also differentiates between showing bolt status when the
indicators are on vs. off, as one is just a simple visual check while
the other would supposedly require a more close-up inspection.
It also makes it much easier to modify the conditions and text however
needed instead of using a bunch of ternaries for everything.
Additionally index_to_type uses the proper constants instead of
hardcoded numbers.
* Lights up the airlock indicator lights
Also does minor refactor of the wires file.
* Adds mechanics to toggle if AIs can bolt doors using AI control wire
* Moves most AI "welcome text" to a separate pop-up window and adds it as a verb
Also adds list of channels to the Radio-Settings verb.
* Moves Initialize, Destroy to beginning, merges the two Initializes
* Adds explicit override for admins and malfs, this allows them to (un)bolt stealthily should they choose to do so
Also adds name and area of the airlock to the UI and refactors it some.
* More better.