100 Commits
Author SHA1 Message Date
Vera Aguilera Puerto a2893dd6c3 Instrument band support, submodule update to 138.0.0 (#17995) 2023-07-16 21:12:53 +02:00
Vera Aguilera Puerto 9243050e1a Construction graph improvements (#17960) 2023-07-13 20:23:52 +10:00
Vera Aguilera Puerto 89fc46a42d Add required dependencies for CEF to Nix shell (#17961) 2023-07-11 17:29:54 +02:00
Vera Aguilera Puerto f24c5331bc Update nixpkgs to 23.05, improve direnv integration and flake devShell (#17217) 2023-06-08 21:25:04 +02:00
Vera Aguilera Puerto 9b955c0564 Specify shell.nix dependencies using "packages", not "inputsFrom" (#16514) 2023-05-16 21:41:14 +02:00
Vera Aguilera Puerto e94d36f51a Add nix flake with development environment shell and direnv. (#16047)
Use with nix-direnv, `nix-shell` or `nix develop`.
2023-05-09 17:28:12 +02:00
Vera Aguilera Puerto 6d7557a7ab Fix bad CVar (#14128) 2023-02-15 11:38:23 +01:00
Vera Aguilera Puerto 2bda37f36c Add midipanic to client permissions. (#13718) 2023-01-26 06:46:22 +11:00
Vera Aguilera Puerto d05b2a8e71 InventoryComponent type handler for entities in inv slots (#12026) 2022-11-28 14:01:50 +11:00
Vera Aguilera Puerto 4e3246d278 Slight construction cleanup. (#12614) 2022-11-16 05:10:27 -06:00
Vera Aguilera Puerto 3fbe85416e Rebuild excited groups if blocked airflow direction of tile has changed. (#12548) 2022-11-11 09:44:45 +01:00
Vera Aguilera Puerto b39d54eb9f Update submodule to v0.57.0.4 (#12279) 2022-10-29 18:21:18 +02:00
Vera Aguilera Puerto 27d41b3a5b Shutdown cleanup for stack type handler (#11996) 2022-10-17 17:49:38 +02:00
Vera Aguilera Puerto f83f16df16 Add "count" to stack comp's type handler. (#11917) 2022-10-17 14:17:59 +02:00
Vera Aguilera Puerto 321d39e225 Add vvread, vvwrite and vvinvoke to engine command perms. (#11993) 2022-10-17 14:07:27 +02:00
Vera Aguilera Puerto ebff854c55 Removes unused "ModuleManager" (#11918) 2022-10-14 13:11:19 -07:00
Vera Aguilera Puertoandwrexbe 3d693c20c8 Spawn with Random Offset component (#10969)
Adds SpawnRandomOffsetComponent, which can be used to randomly move a component on map init

Co-authored-by: wrexbe <wrexbe@protonmail.com>
2022-09-16 13:01:31 -07:00
Vera Aguilera Puerto e863cbaeae Cleanup pAI synth instrument in soundfont (#10836) 2022-08-25 20:16:01 -07:00
Vera Aguilera Puerto cb5f051be5 Allow changing instrument style while playing them (#9946)
* Properly dirty changes when calling "SetInstrumentProgram" method

* Allow using swappable instrument verbs even while playing the instrument.
It's funnier this way
2022-07-24 21:40:05 +10:00
Vera Aguilera Puerto a635ac40b9 Gas pipes now need to be unanchored before deconstruction. (#9904)
Cleans up their graphs, they had no spacing at all.
2022-07-20 22:30:08 +10:00
Vera Aguilera Puerto 4bcf7b73fd Fixes makeshift laser using the wrong type of construction step. (#9811)
It needed to use the "material" step, not the "prototype" step...
2022-07-16 19:43:24 +02:00
Vera Aguilera Puerto 4917943c3d Fix adjacent tile atmosphere creation using the wrong coordinates. (#9539) 2022-07-08 14:30:45 +02:00
Vera Aguilera Puerto 520464e89b FixVacuum does not replace tile air if there are no adjacent tiles. (#9535) 2022-07-08 12:41:59 +02:00
aa9281d667 Refactors the AtmosphereSystem public-facing API to allow for multiple atmos backends. (#8134)
* 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>
2022-07-04 09:51:34 -05:00
Vera Aguilera Puerto 9090460e0e Cleans up the appearance and ambience of various atmos devices. (#9071) 2022-06-23 22:18:11 +10:00
Vera Aguilera Puerto 0c337d6235 Round end sound now respects lobby music option toggle. (#8699)
Now it only plays when the round restarts *after* a regular roundend.
Meaning that if you spam the "restartroundnow" command, it won't play even if you have roundend sounds enabled in the options.
2022-06-12 11:23:28 +10:00
Vera Aguilera Puerto 67106dedb9 ConstructionSystem handles InteractUsing before AnchorableSystem. (#8700) 2022-06-08 09:50:23 +02:00
Vera Aguilera Puerto c5f7c61041 Fix some friend access violations by allowing others access. (#8594)
Rename Friend attribute to Access attribute.
Updates submodule to v0.21.0.0 as well.
2022-06-07 11:30:27 +02:00
Vera Aguilera Puerto 631b024c2f Fix NukeOps rule not checking for enabled before adding text to the roundend screen. (#8291) 2022-05-19 13:16:29 -05:00
Vera Aguilera Puerto c9314914f0 Integration tests no longer have artificial SQLite delays. (#8289)
Should hopefully fix DEBUG tests.
2022-05-19 13:43:28 +02:00
Vera Aguilera Puerto 4a1b4fb18c Fix IsBlockedTurf throwing when entities do not have a PhysicsComponent (#8170) 2022-05-14 19:06:43 -07:00
Vera Aguilera Puerto e263eaaf64 Airlocks now trap air in their tile. (#8136) 2022-05-14 14:05:04 +10:00
Vera Aguilera Puerto e9d7c70373 Adds last pressure direction to atmos debug overlay. (#8083) 2022-05-10 17:03:00 +02:00
Vera Aguilera Puerto f43e36eded Fix pressure direction not being reset after high pressure movements happen. (#8078) 2022-05-10 13:24:51 +02:00
Vera Aguilera Puerto 8232d91ad4 Atmos high pressure movements cleanup (#8075)
* Fixes LINDA and monstermos clashing over high pressure difference direction

* Fix space wind CVar not disabling space wind entirely.

* Change 1 (one) variable name
2022-05-10 12:56:17 +02:00
Vera Aguilera Puerto 3ee1f1f810 Suspicion rework (#7723)
* Deprecate suspicion spawn markers.

* Add suspicion loot table.

* Add suspicion item tag component.

* Suspicion rule now spawns items randomly around the station on start.
Also cleans them up when it ends.

* Fix build
huh, that API changed quickly--
2022-04-27 00:57:24 +10:00
Vera Aguilera Puerto 2c289810ad Add commands to add/end GameRules. (#7718) 2022-04-25 19:07:14 +02:00
Vera Aguilera Puerto 1aad54ae17 Makes the default preset traitor, not suspicion. (#7719) 2022-04-23 16:40:31 -07:00
Vera Aguilera Puerto 86a89005ae Makes TurfHelpers.IsBlockedTurf use the resolves pattern. (#7720) 2022-04-23 16:40:16 -07:00
Vera Aguilera Puerto d161c208cc Adds optional "maxAmount" parameter to EntitySpawnEntry. (#7721) 2022-04-23 16:39:56 -07:00
Vera Aguilera Puerto 1ec56d8309 Adds EntityLootTable prototype. (#7722) 2022-04-23 16:39:22 -07:00
Vera Aguilera Puerto 88c5bcb3dd Docking airlocks are now also airtight to their sides. (#7537)
Allows mappers to have multiple docking airlocks in a row without fear of decompression.
2022-04-13 12:20:45 +02:00
Vera Aguilera Puerto 878b22bd5a Fix SMES and Substation construction. (#7507) 2022-04-11 16:21:47 -07:00
Vera Aguilera Puerto 6e73e94cc6 Fix instruments for engine changes, fixes program change bug. (#7365) 2022-04-08 16:22:05 +02:00
Vera Aguilera Puerto 5447edbabf Adds overload to InRangeUnoccluded that takes in a state for the predicate. (#7325) 2022-03-31 00:28:35 +11:00
eb54f4b224 Adds Network Resource Uploading for admins. (#6904)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2022-03-26 12:46:37 +01:00
Vera Aguilera Puerto b115eb0d93 Adds PlayGlobalSound command. (#7249) 2022-03-25 13:08:32 +01:00
Vera Aguilera Puerto 380bb89f83 Documents more ConstructionSystem methods. (#7246) 2022-03-24 21:00:39 -07:00
Vera Aguilera Puerto 46ac70a734 Fix and refactor SolutionContainerSystem.RemoveEachReagent (#7245) 2022-03-24 00:05:10 +11:00
Vera Aguilera Puerto b786feffb6 Adds an integration test for FollowerSystem. (#7048) 2022-03-10 00:41:24 +11:00
Vera Aguilera Puerto 9ab3bb5811 Load Maps on Round Start, not Round Restart v3 (#6989)
* Load Maps on Round Start, not Round Restart

* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.

* Shutdown server if round fails to start 5 times.

* Fix bugs with round starting flag.

* Make StartRound not async, synchronously get new round ID from DB.

* Handle StationId.Invalid in PickBestAvailableJob
Instead of crashing, return null.
SpawnPlayer will handle this by making the player an observer or returning them to the lobby.
2022-03-04 11:32:33 -06:00
Vera Aguilera Puerto 4098f7fd9b Load Maps on Round Start, not Round Restart. Shut down server if Round fails to Start 5 times. (#6977) 2022-03-03 12:15:15 -07:00
Vera Aguilera Puerto 650b8b6600 Load Maps on Round Start, not Round Restart (#6930)
* Load Maps on Round Start, not Round Restart

* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.
2022-02-28 20:20:21 -06:00
Vera Aguilera Puerto 35264a344c Makes suspicion no longer show up in gamemode votes. (#6919) 2022-02-27 12:03:08 -06:00
Vera Aguilera Puerto cf3b3d5c17 Lowers atmos tickrate down to 15 TPS by default. (#6721) 2022-02-15 22:04:34 +11:00
Vera Aguilera Puerto f917c18ff8 Fix air alarm system keeping deleted entity UIDs around. (#6307) 2022-01-25 16:37:34 -07:00
Vera Aguilera Puerto 4a1949d7f0 Add simple wiki button to lobby (#6230) 2022-01-23 10:47:10 -07:00
c2bbc01ff2 Smokables can now expose temperature to the atmosphere, causing fires. (#6142)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-01-18 17:35:17 +11:00
Vera Aguilera Puerto 748dfb2ecb Changes required for VirtualController EntitySystems (#6161) 2022-01-16 18:48:11 +11:00
Vera Aguilera Puerto daef343c2c Fires now play a sound effect. (#6138) 2022-01-14 01:18:17 +11:00
Vera Aguilera Puerto c4bf0a9479 AdminManager can now load permissions for registered callback commands. (#6025) 2022-01-12 11:05:39 +01:00
Vera Aguilera Puerto 675a29ed33 ECS MindComponent (#5917) 2022-01-04 13:37:50 +01:00
Vera Aguilera Puerto 1882ad55af Use ByRefEvent attribute in content. (#5918) 2021-12-27 18:50:43 +01:00
Vera Aguilera Puerto 525c38b794 Move Eye Lerping to content and fix/improve it a bunch. (#5900) 2021-12-27 18:50:00 +01:00
Vera Aguilera Puerto 666be08d86 Fix client-only command permissions. (#5899) 2021-12-25 19:53:21 +01:00
Vera Aguilera Puerto f4d8ec1b35 Refactor Game Modes (#5857) 2021-12-21 21:23:29 +01:00
Vera Aguilera Puerto 8831d08229 Refactor Game Modes (#5819) 2021-12-21 18:56:47 +01:00
Vera Aguilera Puerto a51b102949 Add setooc command for +SERVER admins. (#5818) 2021-12-19 23:25:16 +01:00
Vera Aguilera Puerto a46c2e6c9d Added some missing engine command permissions. (#5782)
If you want to bikeshed this further, open an issue.
2021-12-18 14:16:34 +01:00
Vera Aguilera Puerto d75b384213 StackSystem uses the EntitySystem proxy methods. (#5699) 2021-12-14 18:11:26 +01:00
Vera Aguilera Puerto 2ac6f5171a Player tab now shows VV command buttons for player characters. (#5784)
Just a smol QOL change.
2021-12-14 04:28:35 -08:00
Vera Aguilera Puerto e3478f894e Re-do InteractionSystem IEntity -> EntityUid conversion (#5767) 2021-12-13 22:17:18 -07:00
Vera Aguilera Puerto 4de2896f58 Adds Administration verb category and AHelp verb. (#5773)
* Adds Administration verb category and AHelp verb.
For more convenient adminin'.

* abbreviate verb category to Admin

* Add explosion verb to admin category
2021-12-13 16:19:34 -08:00
Vera Aguilera Puerto 36c5ab551d Fix mobs not dropping items when falling down. (#5771)
It checked action blockers, meaning it would never actually drop the items.
2021-12-13 12:47:52 -08:00
Vera Aguilera Puerto c680d5b201 EntityStringRepresentationConverter for admin logs. (#5677) 2021-12-09 16:07:07 +01:00
Vera Aguilera Puerto 32c9db8db4 Merge pull request #5680 from Zumorica/2021-12-03-remove-IEntity-komm-süsser-todd 2021-12-09 14:28:25 +01:00
Vera Aguilera Puerto 5eb99448e4 Merge pull request #7 from Phantom-Lily/patch-1 2021-12-07 23:21:32 +01:00
Vera Aguilera Puerto 06fe42f32c Merge pull request #6 from BingoJohnson/patch-5 2021-12-07 22:49:53 +01:00
Vera Aguilera Puerto df69bb4764 Merge pull request #5 from metalgearsloth/2021-12-03-remove-IEntity-komm-süsser-todd 2021-12-07 13:43:22 +01:00
Vera Aguilera Puerto 75247b7e2b Merge pull request #4 from wrexbe/moremorechangesgo 2021-12-05 19:59:11 +01:00
Vera Aguilera Puerto bfccc647be Merge pull request #2 from wrexbe/zumo-fork1 2021-12-03 20:50:07 +01:00
Vera Aguilera Puerto bd18574412 The End of Entity (Komm, Süsser Todd: Part 1.0, Content PR) (#5624) 2021-12-03 11:03:41 +01:00
Vera Aguilera PuertoandPaul Ritter 3f8f4c818e Fixes admin logs and tests to not depend on IEntity caching (#5657)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-12-03 10:25:07 +01:00
Vera Aguilera Puerto 94fa6efefb Misc Atmos Improvements (#5613)
* Revert "Remove atmos archiving."

This reverts commit 7fa10bd17b.

* Explosive Depressurization now brings tiles down to TCMB.

* Tiles now specify heat capacity.

* Do not serialize archived gas mixture values.

* Remove bad idea

* dumb typo

* Space gas mixtures now have a harcoded heat capacity.
This is a bit of a hack, but rooms exposed to space now cool down properly when monstermos is disabled.
Huge thanks to @LemonInTheDark for helping me with this!

* Clean up heat capacity methods

* Better logging based on the original monstermos' logging

* Comment explosive depressurization hack better
2021-11-30 11:42:48 +01:00
Vera Aguilera Puerto 47a19f94d4 Make instruments ECS (#5516) 2021-11-28 01:47:36 +01:00
Vera Aguilera Puerto 159f84074d Add "Slicing" tool quality to knives. (#5473) 2021-11-23 12:24:40 +01:00
Vera Aguilera Puerto af86378995 Log explosive depressurization. (#5474) 2021-11-23 12:22:18 +01:00
Vera Aguilera Puerto 2f6e069bcd Docked airlocks no longer depressurize the room when opened. (#5431) 2021-11-21 23:17:30 +11:00
Vera Aguilera Puerto fe6590bbe6 Makes Anchorable ECS. (#5222) 2021-11-09 18:08:30 +11:00
Vera Aguilera Puerto 5a5006e4cf ConstructionGL2 Part 2: Better guided steps and recipes. (#5103) 2021-11-02 11:24:32 +01:00
Vera Aguilera Puerto 189a5c7847 ConstructionGL2 Part 1: ECSification, events and steps. (#5017)
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
    - The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
    - This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
    - This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
    - This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes #4892 and fixes #4857

Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
2021-10-26 16:38:03 +02:00
Vera Aguilera PuertoandPieter-Jan Briers ed3bf94a3b Electrocution. (#4958)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-10-25 16:21:56 +02:00
Vera Aguilera Puerto b904efb942 Makes many thing that update on paused *not* do that. (#4938) 2021-10-18 23:58:34 +11:00
Vera Aguilera Puerto 3001ea38cc Add-d-ds s-s-stut-ttering t-to the g-gam-me (#4901) 2021-10-17 01:23:31 +02:00
Vera Aguilera Puerto 26c77a0d0b GasTileOverlay now uses a struct enumerator for enumerating overlays for a given tile. (#4844) 2021-10-12 17:20:32 +02:00
Vera Aguilera Puerto 4c80fb9586 Refactor AccentManager to be an entity system, makes accents ECS. (#4825) 2021-10-11 11:18:39 -07: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 PuertoandPieter-Jan Briers 67fd509c9f Adds jittering. (#4809)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-10-09 17:30:04 +02:00
Vera Aguilera Puerto 09d40b386a Added simple grilles with construction, deconstruction and destruction. (#4801) 2021-10-09 10:54:56 +02:00
Vera Aguilera Puerto 365c7da4dc Makes tools and welders ECS, add ToolQualityPrototype. (#4741) 2021-10-07 13:01:27 +02:00