# Description
This PR adds a mechanic to various hardsuits and tacsuits, which can now
include optional features such as Integrated Thrusters, or Integrated
Magboots. All the syndicate tacsuits and "Advanced" crew tacsuits have
both. Hardsuits typically have one or the other, rarely both. Vacsuits
never have either, get a jetpack nerd.
While I was at it, I fixed various bugs making these features obnoxious
to interact with, such as hardsuits helmet toggles not showing the
helmet, or turning on your integrated magboots also causing you to start
sucking the air out of your integrated thrusters.
Finally to address players incessantly complaining that "waaah space
wind is too unfair it keeps me in the air too long", I lowered the
maximum time player characters can go without being updated by space
wind to 1 second, down from 2. Base items are untouched, so they'll
remain in the air as per normal.
# Changelog
🆑
- add: Added "Integrated Thrusters" and "Integrated Magboots" as
features that hardsuits and tacsuits can sometimes have. Hardsuits
rarely have both, and sometimes have neither, while the more "Advanced"
Tacsuits such as the CSA series of suits will always have both.
- tweak: Reduced the maximum amount of time player characters can remain
in the air without being touched by space wind again to 1 second, down
from 2. This does nothing if you're actively being thrown.
- fix: Fixed a bug where the hardsuit action to toggle your helmet
wasn't displaying the helmet icon.
(cherry picked from commit b6be634252745fa61e3db3094d94c7f3c234a094)
* Refactors the entirety of the AtmosphereSystem public-facing API to allow for multiple atmos backends.
* actually compiles
* Remove commented out code
* funny bracket
* Move archived moles, temperature from GasMixture to TileAtmosphere.
* WIP customizable map default mixture
still VERY buggy
* broken mess
aaaaaaaaaaaaa
* Fix lattice, etc not being considered space
* visualization for "IsSpace"
* help
* Update Content.Client/Atmos/Overlays/AtmosDebugOverlay.cs
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
* Holy SHIT it compiles AGAIN
* Fix AtmosDeviceSystem crash at shutdown
* Fix immutable tiles on map blueprints not being fixed by fixgridatmos/revalidate.
* Use space instead of gasmixture immutable for heat capacity calculations
* Remove all LINDA-specific code from GasMixture, move it to TileAtmosphere/AtmosphereSystem instead.
* Fix roundstart tiles not processing
* Update Content.Server/Atmos/Commands/SetTemperatureCommand.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.API.cs
Changed Files tab is so large I can't commit both suggestions at once mfw
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Explosions
* fix yaml typo
and prevent silly UI inputs
* oop
* Use modified contains() checks
And remove IEnumerable
* Buff nuke, nerf meteors
* optimize the entity lookup stuff a bit
* fix tile (0,0) error
forgot to do an initial Enumerator.MoveNext(), so the first tile was always the "null" tile.
* remove celebration
* byte -> int
* remove diag edge tile dict
* fix one bug
but there is another
* fix the other bug
turns out dividing a ushort leads to rounding errors. Why TF is the grid tile size even a ushort in the first place.
* improve edge map
* fix minor bug
If the initial-explosion tile had an airtight entity on it, the tile was processed twice.
* some reviews (transform queries, eye.mapid, and tilesizes in overlays)
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* is map paused
* GetAllTiles ignores space by default
* WriteLine -> WriteError
* First -> FirstOrDefault()
* default prototype const string
* entity query
* misc review changes
* grid edge max distance
* fix fire texture defn
bad use of type serializer and ioc-resolves
* Remove ExplosionLaunched
And allow nukes to throw items towards the outer part of an explosion
* no hot-reload disclaimer
* replace prototype id string with int index
* optimise damage a tiiiiny bit.
* entity queries
* comments
* misc mirror comments
* cvars
* admin logs
* move intensity-per-state to prototype
* update tile event to ECS event
* git mv
* Tweak rpg & minibomb
also fix merge bug
* you don't exist anymore go away
* Fix build
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Chem master
* Drone support for handhelds
* Vending machines, scanners
* Cloners, R&D computers
* make research a little less sussy
* Unfuck wires
* PA control computer
* Unfuck merge
* Clean up git gore for good
* Disposals
* Microwaves
* paper
* Magic mirror
* More vendors for drones
* Solar computer whitelist
* EFR review updates
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* fix networking
* Allow action locking
* prevent telepathy
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* lord save me
* UI/ChatBox: Use the new `defStyle` param for `RenderMarkup`
The previous iteration didn't work because `AddMessage` can't inherit
its color from the PushColor (since we're not doing actual tag stacks
anymore).
* rebase touchup