Commit Graph

56 Commits

Author SHA1 Message Date
Vera Aguilera Puerto
1b01247c5f Fixes that annoying atmos zero pressure bug I've constantly been pinged and nagged about for like the past few days. 2021-11-11 16:15:49 +01:00
Vera Aguilera Puerto
d370142b80 Makes Grid Revalidation a step in the atmos update stages.
Fixes some atmos debug assert exceptions.
2021-11-09 16:50:15 +01:00
Vera Aguilera Puerto
48f8dd2284 ActionBlocker CanInteract uses EntityUid exclusively
ActionBlockerSystem fully uses EntityUid now!
2021-11-09 15:05:49 +01:00
Vera Aguilera Puerto
e6e15b3728 Replace all ITransformComponent by TransformComponent 2021-11-08 12:37:32 +01:00
Kara D
4abda4f7cf Fix mobs taking damage on paused maps 2021-11-06 15:18:27 -07:00
mirrorcult
3ab4a30a0f Generalize ReagentUnit into FixedPoint2 and use it for damage calculations (#5151)
* Damage units

* sum ext method
2021-11-03 16:48:03 -07:00
Flipp Syder
c7c651e3de Refactors TemperatureComponent and AtmosExposed to ECS (#4927)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-10-29 10:18:43 +02:00
ShadowCommander
e7f352d6c2 Fix barotrauma damage total failing when damageable doesn't have the value 2021-10-23 12:16:08 -07:00
ShadowCommander
6c1ba187e3 Add maximum to barotrauma damage (#4989) 2021-10-23 11:45:57 -07:00
Vera Aguilera Puerto
bfdd0e055b Fixes bad Flammable ECS conversion logic 2021-10-21 23:07:42 +02:00
mirrorcult
ae1ce0b31c Status effect refactor (#4868)
* Oops! All Changes In One Commit

* try desperately to fix prediction issues and fail

* oops

* test

* actually fixes prediction issues

* port jittering to status effect

* default merge behavior + alert cooldown stuff

* silly test issue

* zabloing

* address reviews
2021-10-15 23:45:04 +02:00
Vera Aguilera Puerto
6eee256b11 Refactors stunnable to be ECS. (#4819)
Also cleans up StandingStatesystem.
2021-10-10 12:47:26 +02:00
Vera Aguilera Puerto
ef45db6811 Remove atmos assert, fix GridRevalidate adding virtual space tiles to list of active tiles on grid. 2021-10-07 16:51:36 +02:00
Ygg01
4eac32bd32 Change Offset to take AtmosDirection instead of Direction (#4778) 2021-10-06 15:02:50 +02:00
Leon Friedrich
6cb58e608b ECS verbs and update context menu (#4594)
* Functioning ECS verbs

Currently only ID card console works.

* Changed verb types and allow ID card insertions

* Verb GUI sorting and verb networking

* More networking, and shared components

* Clientside verbs work now.

* Verb enums changed to bitmask flags

* Verb Categories redo

* Fix range check

* GasTank Verb

* Remove unnecessary bodypart verb

* Buckle Verb

* buckle & unbuckle verbs

* Updated range checks

* Item cabinet verbs

* Add range user override

* construction verb

* Chemistry machine verbs

* Climb Verb

* Generalise pulled entity verbs

* ViewVariables Verb

* rejuvenate, delete, sentient, control verbs

* Outfit verb

* inrangeunoccluded and tubedirection verbs

* attach-to verbs

* remove unused verbs and move VV

* Rename DebugVerbSystem

* Ghost role and pointing verbs

* Remove global verbs

* Allow verbs to raise events

* Changing categories and simplifying debug verbs

* Add rotate and flip verbs

* fix rejuvenate test

* redo context menu

* new Add Gas debug verb

* Add Set Temperature debug verb

* Uncuff verb

* Disposal unit verbs

* Add pickup verb

* lock/unlock verb

* Remove verb type, add specific verb events

* rename verb messages -> events

* Context menu displays verbs by interaction type

* Updated context menu HandleMove

previously, checked if entities moved 1 tile from click location.

Now checks if entities moved out of view.

Now you can actually right-click interact with yourself while walking!

* Misc Verb menu GUI changes

* Fix non-human/ghost verbs

* Update types and categories

* Allow non-ghost/human to open context menu

* configuration verb

* tagger verb

* Morgue Verbs

* Medical Scanner Verbs

* Fix solution refactor merge issues

* Fix context menu in-view check

* Remove prepare GUI

* Redo verb restrictions

* Fix context menu UI

* Disposal Verbs

* Spill verb

* Light verb

* Hand Held light verb

* power cell verbs

* storage verbs

and adding names to insert/eject

* Pulling verb

* Close context menu on verb execution

* Strip verb

* AmmoBox verb

* fix pull verb

* gun barrel verbs

revolver verb
energy weapon verbs
Bolt action verb

* Magazine gun barrel  verbs

* Add charger verbs

* PDA verbs

* Transfer amount verb

* Add reagent verb

* make alt-click use ECS verbs

* Delete old verb files

* Magboot verb

* finalising tweaks

* context menu visibility changes

* code cleanup

* Update AdminAddReagentUI.cs

* Remove HasFlag

* Consistent verb keys

* Remove Linq, add comment

* Fix in-inventory check

* Update GUI text alignment and padding

* Added close-menu option

* Changed some "interaction" verbs to "activation"

* Remove verb keys, use sorted sets

* fix master merge

* update some verb text

* Undo Changes

Remove some new verbs that can be added later

undid some .ftl bugfixes, can and should be done separately

* fix merge

* Undo file rename

* fix merge

* Misc Cleanup

* remove contraction

* Fix keybinding issue

* fix comment

* merge fix

* fix merge

* fix merge

* fix merge

* fix merge

* fix open-close verbs

* adjust uncuff verb

* fix merge

and undo the renaming of SharedPullableComponent to PullableComponent. I'm tired of all of those merge conflicts
2021-10-04 20:29:03 -07:00
Vera Aguilera Puerto
665928cfcf Make GasTileOverlaySystem slightly more resistant against non-existing grid entities. 2021-10-02 10:53:11 +02:00
Vera Aguilera Puerto
0be5ff829b Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Vera Aguilera Puerto
0767bd3777 Popup ECS Refactor (#4692) 2021-09-26 15:18:45 +02:00
Vera Aguilera Puerto
246fda53c5 Refactor Barotrauma to be ECS. (#4674)
- Refactor IPressureProtection to be two different ECS events.
2021-09-22 21:02:25 +10:00
Vera Aguilera Puerto
6cea9cb973 Refactor Flammable to be ECS. (#4671)
- Refactor IHotItem into IsHotEvent.
- Refactor IFireAct into TileFireEvent.
2021-09-22 11:05:33 +02:00
Vera Aguilera Puerto
cda67df317 Fix some warnings relating to fields being unused. 2021-09-20 11:22:59 +02:00
Vera Aguilera Puerto
68a78e94b7 Slight explosively depressurize cleanup. 2021-09-06 17:30:38 +02:00
Vera Aguilera Puerto
9f4ea1e5a9 Fix rare atmos crash when explosively depressurizing too many tiles. 2021-09-06 17:16:27 +02:00
Vera Aguilera Puerto
a8e7fb4977 Optimize atmos debug assert.
Seems I missed this one.
2021-09-06 16:55:05 +02:00
Vera Aguilera Puerto
ad5f7bb71b Subscribe TransformComponent events by-ref (#4478) 2021-08-21 11:49:31 +02:00
metalgearsloth
d61ff89dfc Fix showatmos 2021-08-17 14:09:59 +10:00
Vera Aguilera Puerto
13ceae872b Fixes not taking pressure damage in space.
Fixes #4415
2021-08-04 09:48:49 +02:00
Vera Aguilera Puerto
2205fef06a Document a few atmos classes. 2021-08-03 14:29:56 +02:00
Vera Aguilera Puerto
611340e454 Enables nullables for atmos internals 2021-08-02 17:03:13 +02:00
Vera Aguilera Puerto
009087863f AtmosDevices can optionally process in space. (#4405)
Refactors some misc atmos things, too.
2021-08-02 21:59:41 +10:00
mirrorcult
af2e21c355 Refactor IDoorCheck into entity events (#4366)
* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today
2021-08-02 21:57:06 +10:00
Vera Aguilera Puerto
1033d8bbe5 Use EntitySystem dependencies in a bunch of systems. 2021-07-26 13:01:47 +02:00
Vera Aguilera Puerto
5d929485ed Hotspot passes MapManager to GetTileRef. 2021-07-26 11:28:43 +02:00
Vera Aguilera Puerto
86cecd3b5e Add CVar for disabling/enabling excited groups. 2021-07-26 11:16:34 +02:00
Vera Aguilera Puerto
7fa10bd17b Remove atmos archiving. 2021-07-26 11:06:44 +02:00
Vera Aguilera Puerto
8066eb196b Remove Hotspot Start method. 2021-07-25 15:03:07 +02:00
Vera Aguilera Puerto
93acc565f0 Makes Airtight ECS. (#4351)
* Makes Airtight ECS.

* Remove atmos holdovers while at it!
2021-07-25 17:04:58 +10:00
Vera Aguilera Puerto
d8fe13af04 Further optimize atmos by reusing specific arrays instead of using a shared arraypool 2021-07-24 16:33:04 +02:00
Vera Aguilera Puerto
4ade87c040 Add atmos grid impulses, disabled by default. 2021-07-23 17:27:16 +02:00
Vera Aguilera Puerto
da25266dd5 CVar for explosive depressurization tile ripping. 2021-07-23 13:45:56 +02:00
Vera Aguilera Puerto
07c478afb6 Optimize atmos by not invalidating hotspot tiles every time they react. 2021-07-23 11:10:06 +02:00
Vera Aguilera Puerto
4112847142 ECS Atmos Part 5: Moves all logic from GridAtmosphereComponent to AtmosphereSystem. (#4331) 2021-07-23 11:09:01 +02:00
metalgearsloth
e93692245e Remove IStartCollide from flammable (#4314)
I ported some stuff to be ECS but didn't feel like porting the rest, sue me.
2021-07-21 12:32:00 +02:00
Vera Aguilera Puerto
fcafa8f439 ECS Atmos Part 4: Moves all atmos logic from TileAtmosphere to AtmosphereSystem. (#4295)
* Moves all atmos logic from TileAtmosphere to AtmosphereSystem.

* Atmos uses grid anchoring to check for firelocks instead of grid tile lookups.

* CVar for space wind sound

* CVar for explosive depressurization
2021-07-20 18:03:49 +02:00
Vera Aguilera Puerto
c8ba345cdc ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem. (#4285)
* ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem

* Adds API for adding/removing active tiles.

* Adds API for FixVacuum.

* Adds API for UpdateAdjacent.

* Adds API for IsTileAirBlocked.

* Re-organize hotspot code

* Adds API for IsTileSpace.

* RemoveGasCommand uses AtmosphereSystem

* AddGasCommand uses AtmosphereSystem.

* SetTemperatureCommand uses AtmosphereSystem.

* Adds API for IsSimulatedGrid.

* GasLeak uses AtmosphereSystem.

* Makes Spark method in GasLeak ALSO use AtmosphereSystem.

* GasPassiveVentSystem uses AtmosphereSystem.

* GasMinerSystem uses AtmosphereSystem.

* GasOutletInjectorSystem uses AtmosphereSystem.

* GasVentPumpSystem uses AtmosphereSystem.

* GasDualPortVentPumpSystem uses AtmosphereSystem.

* GasVolumePumpSystem uses AtmosphereSystem.

* GasAnalyzerComponent uses AtmosphereSystem.

* Add API for GetAdjacentTileMixtures.

* GasVentScrubberSystem uses AtmosphereSystem.

* AirtightComponent uses AtmosphereSystem.

* GasLeaks's TryFindRandomTile uses AtmosphereSystem.

* Adds API for GetAdjacentTiles.

* FirelockComponent's IsHoldingFire uses AtmosphereSystem.

* Adds API for GetAllTileMixtures.

* DeleteGasCommand uses AtmosphereSystem.

* FixGridAtmos uses AtmosphereSystem.

* FillGasCommand uses AtmosphereSystem.

* SetAtmosTemperatureCommand uses AtmosphereSystem.
2021-07-19 12:07:37 +02:00
Visne
b7dc3c81ae Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Vera Aguilera Puerto
d8e353742c Canister fixes and rework (#4266)
* Kills PipeNode ConnectToContainedEntities and EnvironmentalAir with fire.

* Reaction IGasMixtureHolder is nullable.

* Reworks canisters

* Adds PortablePipeNode and PortPipeNode, which connect to each other.
2021-07-12 10:00:50 +02:00
Pieter-Jan Briers
103bc19508 Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
Vera Aguilera Puerto
bc7b315b18 Replace IResettingEntitySystem with RoundRestartCleanupEvent. (#4245)
* Replace IResettingEntitySystem with RoundRestartCleanupEvent.

* oops
2021-06-29 23:56:07 +10:00
Vera Aguilera Puerto
34e457b854 Gas Tanks no longer use NodeContainer, Gas Canisters no longer use passive gates. 2021-06-23 12:02:28 +02:00