Commit Graph

155 Commits

Author SHA1 Message Date
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
Vera Aguilera Puerto
263c9ef974 ECS Atmos Part 2: Moves a lot of Gas Mixture methods to AtmosphereSystem. (#4218) 2021-06-23 11:35:30 +02:00