100 Commits
Author SHA1 Message Date
Vera Aguilera PuertoandGitHub a2893dd6c3 Instrument band support, submodule update to 138.0.0 (#17995) 2023-07-16 21:12:53 +02:00
Vera Aguilera PuertoandGitHub 9243050e1a Construction graph improvements (#17960) 2023-07-13 20:23:52 +10:00
Vera Aguilera PuertoandGitHub 89fc46a42d Add required dependencies for CEF to Nix shell (#17961) 2023-07-11 17:29:54 +02:00
Vera Aguilera PuertoandGitHub f24c5331bc Update nixpkgs to 23.05, improve direnv integration and flake devShell (#17217) 2023-06-08 21:25:04 +02:00
Vera Aguilera PuertoandGitHub 9b955c0564 Specify shell.nix dependencies using "packages", not "inputsFrom" (#16514) 2023-05-16 21:41:14 +02:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 6d7557a7ab Fix bad CVar (#14128) 2023-02-15 11:38:23 +01:00
Vera Aguilera PuertoandGitHub 2bda37f36c Add midipanic to client permissions. (#13718) 2023-01-26 06:46:22 +11:00
Vera Aguilera PuertoandGitHub d05b2a8e71 InventoryComponent type handler for entities in inv slots (#12026) 2022-11-28 14:01:50 +11:00
Vera Aguilera PuertoandGitHub 4e3246d278 Slight construction cleanup. (#12614) 2022-11-16 05:10:27 -06:00
Vera Aguilera PuertoandGitHub 3fbe85416e Rebuild excited groups if blocked airflow direction of tile has changed. (#12548) 2022-11-11 09:44:45 +01:00
Vera Aguilera PuertoandGitHub b39d54eb9f Update submodule to v0.57.0.4 (#12279) 2022-10-29 18:21:18 +02:00
Vera Aguilera PuertoandGitHub 27d41b3a5b Shutdown cleanup for stack type handler (#11996) 2022-10-17 17:49:38 +02:00
Vera Aguilera PuertoandGitHub f83f16df16 Add "count" to stack comp's type handler. (#11917) 2022-10-17 14:17:59 +02:00
Vera Aguilera PuertoandGitHub 321d39e225 Add vvread, vvwrite and vvinvoke to engine command perms. (#11993) 2022-10-17 14:07:27 +02:00
Vera Aguilera PuertoandGitHub ebff854c55 Removes unused "ModuleManager" (#11918) 2022-10-14 13:11:19 -07:00
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 PuertoandGitHub e863cbaeae Cleanup pAI synth instrument in soundfont (#10836) 2022-08-25 20:16:01 -07:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 4917943c3d Fix adjacent tile atmosphere creation using the wrong coordinates. (#9539) 2022-07-08 14:30:45 +02:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 9090460e0e Cleans up the appearance and ambience of various atmos devices. (#9071) 2022-06-23 22:18:11 +10:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 67106dedb9 ConstructionSystem handles InteractUsing before AnchorableSystem. (#8700) 2022-06-08 09:50:23 +02:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 4a1b4fb18c Fix IsBlockedTurf throwing when entities do not have a PhysicsComponent (#8170) 2022-05-14 19:06:43 -07:00
Vera Aguilera PuertoandGitHub e263eaaf64 Airlocks now trap air in their tile. (#8136) 2022-05-14 14:05:04 +10:00
Vera Aguilera PuertoandGitHub e9d7c70373 Adds last pressure direction to atmos debug overlay. (#8083) 2022-05-10 17:03:00 +02:00
Vera Aguilera PuertoandGitHub f43e36eded Fix pressure direction not being reset after high pressure movements happen. (#8078) 2022-05-10 13:24:51 +02:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 2c289810ad Add commands to add/end GameRules. (#7718) 2022-04-25 19:07:14 +02:00
Vera Aguilera PuertoandGitHub 1aad54ae17 Makes the default preset traitor, not suspicion. (#7719) 2022-04-23 16:40:31 -07:00
Vera Aguilera PuertoandGitHub 86a89005ae Makes TurfHelpers.IsBlockedTurf use the resolves pattern. (#7720) 2022-04-23 16:40:16 -07:00
Vera Aguilera PuertoandGitHub d161c208cc Adds optional "maxAmount" parameter to EntitySpawnEntry. (#7721) 2022-04-23 16:39:56 -07:00
Vera Aguilera PuertoandGitHub 1ec56d8309 Adds EntityLootTable prototype. (#7722) 2022-04-23 16:39:22 -07:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 878b22bd5a Fix SMES and Substation construction. (#7507) 2022-04-11 16:21:47 -07:00
Vera Aguilera PuertoandGitHub 6e73e94cc6 Fix instruments for engine changes, fixes program change bug. (#7365) 2022-04-08 16:22:05 +02:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub b115eb0d93 Adds PlayGlobalSound command. (#7249) 2022-03-25 13:08:32 +01:00
Vera Aguilera PuertoandGitHub 380bb89f83 Documents more ConstructionSystem methods. (#7246) 2022-03-24 21:00:39 -07:00
Vera Aguilera PuertoandGitHub 46ac70a734 Fix and refactor SolutionContainerSystem.RemoveEachReagent (#7245) 2022-03-24 00:05:10 +11:00
Vera Aguilera PuertoandGitHub b786feffb6 Adds an integration test for FollowerSystem. (#7048) 2022-03-10 00:41:24 +11:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 35264a344c Makes suspicion no longer show up in gamemode votes. (#6919) 2022-02-27 12:03:08 -06:00
Vera Aguilera PuertoandGitHub cf3b3d5c17 Lowers atmos tickrate down to 15 TPS by default. (#6721) 2022-02-15 22:04:34 +11:00
Vera Aguilera PuertoandGitHub f917c18ff8 Fix air alarm system keeping deleted entity UIDs around. (#6307) 2022-01-25 16:37:34 -07:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 748dfb2ecb Changes required for VirtualController EntitySystems (#6161) 2022-01-16 18:48:11 +11:00
Vera Aguilera PuertoandGitHub daef343c2c Fires now play a sound effect. (#6138) 2022-01-14 01:18:17 +11:00
Vera Aguilera PuertoandGitHub c4bf0a9479 AdminManager can now load permissions for registered callback commands. (#6025) 2022-01-12 11:05:39 +01:00
Vera Aguilera PuertoandGitHub 675a29ed33 ECS MindComponent (#5917) 2022-01-04 13:37:50 +01:00
Vera Aguilera PuertoandGitHub 1882ad55af Use ByRefEvent attribute in content. (#5918) 2021-12-27 18:50:43 +01:00
Vera Aguilera PuertoandGitHub 525c38b794 Move Eye Lerping to content and fix/improve it a bunch. (#5900) 2021-12-27 18:50:00 +01:00
Vera Aguilera PuertoandGitHub 666be08d86 Fix client-only command permissions. (#5899) 2021-12-25 19:53:21 +01:00
Vera Aguilera PuertoandGitHub f4d8ec1b35 Refactor Game Modes (#5857) 2021-12-21 21:23:29 +01:00
Vera Aguilera PuertoandGitHub 8831d08229 Refactor Game Modes (#5819) 2021-12-21 18:56:47 +01:00
Vera Aguilera PuertoandGitHub a51b102949 Add setooc command for +SERVER admins. (#5818) 2021-12-19 23:25:16 +01:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub d75b384213 StackSystem uses the EntitySystem proxy methods. (#5699) 2021-12-14 18:11:26 +01:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub e3478f894e Re-do InteractionSystem IEntity -> EntityUid conversion (#5767) 2021-12-13 22:17:18 -07:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub c680d5b201 EntityStringRepresentationConverter for admin logs. (#5677) 2021-12-09 16:07:07 +01:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 5eb99448e4 Merge pull request #7 from Phantom-Lily/patch-1 2021-12-07 23:21:32 +01:00
Vera Aguilera PuertoandGitHub 06fe42f32c Merge pull request #6 from BingoJohnson/patch-5 2021-12-07 22:49:53 +01:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 75247b7e2b Merge pull request #4 from wrexbe/moremorechangesgo 2021-12-05 19:59:11 +01:00
Vera Aguilera PuertoandGitHub bfccc647be Merge pull request #2 from wrexbe/zumo-fork1 2021-12-03 20:50:07 +01:00
Vera Aguilera PuertoandGitHub bd18574412 The End of Entity (Komm, Süsser Todd: Part 1.0, Content PR) (#5624) 2021-12-03 11:03:41 +01:00
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 PuertoandGitHub 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 PuertoandGitHub 47a19f94d4 Make instruments ECS (#5516) 2021-11-28 01:47:36 +01:00
Vera Aguilera PuertoandGitHub 159f84074d Add "Slicing" tool quality to knives. (#5473) 2021-11-23 12:24:40 +01:00
Vera Aguilera PuertoandGitHub af86378995 Log explosive depressurization. (#5474) 2021-11-23 12:22:18 +01:00
Vera Aguilera PuertoandGitHub 2f6e069bcd Docked airlocks no longer depressurize the room when opened. (#5431) 2021-11-21 23:17:30 +11:00
Vera Aguilera PuertoandGitHub fe6590bbe6 Makes Anchorable ECS. (#5222) 2021-11-09 18:08:30 +11:00
Vera Aguilera PuertoandGitHub 5a5006e4cf ConstructionGL2 Part 2: Better guided steps and recipes. (#5103) 2021-11-02 11:24:32 +01:00
Vera Aguilera PuertoandGitHub 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
ed3bf94a3b Electrocution. (#4958)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-10-25 16:21:56 +02:00
Vera Aguilera PuertoandGitHub b904efb942 Makes many thing that update on paused *not* do that. (#4938) 2021-10-18 23:58:34 +11:00
Vera Aguilera PuertoandGitHub 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 PuertoandGitHub 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 PuertoandGitHub 4c80fb9586 Refactor AccentManager to be an entity system, makes accents ECS. (#4825) 2021-10-11 11:18:39 -07:00
Vera Aguilera PuertoandGitHub 6eee256b11 Refactors stunnable to be ECS. (#4819)
Also cleans up StandingStatesystem.
2021-10-10 12:47:26 +02:00
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 PuertoandGitHub 09d40b386a Added simple grilles with construction, deconstruction and destruction. (#4801) 2021-10-09 10:54:56 +02:00
Vera Aguilera PuertoandGitHub 365c7da4dc Makes tools and welders ECS, add ToolQualityPrototype. (#4741) 2021-10-07 13:01:27 +02:00