Commit Graph

776 Commits

Author SHA1 Message Date
sBasalto
80a0c8e025 Fix zombie percent in the round end summary (#9682) 2022-07-14 05:11:44 -07:00
Duddino
fd4ca91d6f Fix a bug where toggleready returns an exception when provided with the wrong number of arguments (#9631) 2022-07-12 12:14:24 +10:00
Kara
b9a0894d7c Event refactor (#9589)
* Station event refactor

* Remove clientside `IStationEventManager`

we can just use prototypes

* Basic API idea

* Cruft

* first attempt at epicness

* okay yeah this shit is really clean

* sort out minor stuff

* Convert `BreakerFlip`

* `BureaucraticError` + general cleanup

* `DiseaseOutbreak`

* `FalseAlarm`

* `GasLeak`

* `KudzuGrowth`

* `MeteorSwarm`

* `MouseMigration`

* misc errors

* `PowerGridCheck`

* `RandomSentience`

* `VentClog`

* `VentCritters`

* `ZombieOutbreak`

* Rewrite basic event scheduler

* Minor fixes and logging

* ooooops

* errors + fix

* linter

* completions, `RuleStarted` property, update loop fixes

* Tweaks

* Fix #9462

* Basic scheduler update fix, and fixes #8174

* Add test

* UI cleanup

* really this was just for testing
2022-07-10 20:48:41 -05:00
Aerocrux
7750675757 Add SoftMaxPlayers to status response for launcher use (#9365) 2022-07-08 21:44:49 +02:00
Nemanja
836c0bb1c4 Zombie Mode [New Game Mode] (#8501)
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-07-06 13:42:51 +10:00
Vera Aguilera Puerto
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
metalgearsloth
20f4c9988b Fix station announcements (#9380)
* Fix station announcements

Doesn't just get what's on the grid. Also made it generic so other systems can use a station filter.

* bumped

* a
2022-07-04 16:00:51 +10:00
Leon Friedrich
c13c0b8b0b Remove implicit GridId conversions (#8975) 2022-06-28 22:56:02 +10:00
Morber
7a14c6f331 Localize jobs (#8968)
* Localize job supervisors

* Rename supervisors file

* Localize job names

* Remove localization for fallback job name

* Use LocalizedName for Job

* Fix job names case
2022-06-28 22:55:05 +10:00
Júlio César Ueti
4067c20f04 Fix nukies (#9159)
* Quick stash

* I think this does it
2022-06-25 19:00:45 -05:00
metalgearsloth
3da454140d Add department-specific radio channels (#9061)
* Add department-specific radio channels

This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.

ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.

IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.

The ugly is that the integer channel number is hard-coded and also shows
up in chat.

Comms are not modeled at this time. You cannot break comms (yet).

All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.

* Remove debugging print

* Convert to prototypes

* Use prototype names in headset prototype

* Adjust list style

* Document prototype fields

* cringe

* some cleanup

* colours

* Remove alphas at least

* cc

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2022-06-23 20:11:03 +10:00
KIBORG04
58da937259 Displaying of player characters in the round end statistics (#9006)
* All in one

* using fix

* Update GameTicker.RoundFlow.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2022-06-23 19:32:06 +10:00
metalgearsloth
77a8e16104 Add cargo shuttle (#8686) 2022-06-23 14:36:47 +10:00
metalgearsloth
8905996cfc Make raiselocalevent not broadcast by default (#8998) 2022-06-22 09:53:41 +10:00
keronshb
f7b1bda3e5 Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
metalgearsloth
354017cce0 Fix master 2022-06-12 13:33:48 +10:00
Moony
58ddb19cd2 Implement game rule configs. Game rules are now proper prototypes instead of just an alias for a system. (#8539) 2022-06-12 13:27:05 +10:00
Acruid
4f9be42f40 Remove Explicit GridId References (#8315)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-12 11:54:41 +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
metalgearsloth
359dbc9704 Fix nukies (#8759) 2022-06-12 00:18:58 +10:00
Leon Friedrich
1e5da87262 Add loc strings and completions to mapping command (#8726) 2022-06-09 12:38:31 +10:00
Pancake
3c7aebab1d Syndicate Names (#8692)
* Syndicate Names

* Update syndicate.yml

* Update NukeopsRuleSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-06-07 13:41:22 +10:00
Veritius
49ed83b0de Opt-in nukies (#8541)
* save changes

* naming rules

* changes

* changes

* last touches

* e

* use default

* better looping

* better prototype ig

* f

* c

* Revert "changes"

This reverts commit 111a7f36

* fuck i'm bad at git

* changes

* mfw

* e

* e
2022-06-07 12:43:54 +10:00
Moony
6b49933edd Fix pirates. Whoops. (#8623)
* Fix pirates. Whoops.

* Remove debug logs.
2022-06-03 12:14:36 -05:00
Moony
fada213a22 Implements item pricing, and piracy. (#8548)
* Start implementing item pricing.

* Flesh out prices a bit, add the appraisal tool.

* Add prices to more things.

* YARRRRRRR

* gives pirates an appraisal tool in their pocket.

* Makes the various traitor objectives valuable. Also nerfs the price of a living person, so it's easier to bargain for them.

* Address reviews.

* Address reviews.
2022-06-03 10:56:11 -05:00
Veritius
237cb3d0b4 Communications Console: The ECSining (#8374)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-03 21:37:35 +10:00
Pieter-Jan Briers
5f9f319d5a Fix server update restarts when server paused. (#8509) 2022-05-30 01:09:50 -07:00
wrexbe
1e0babbd50 Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
Pieter-Jan Briers
a4685bab4c Extended access system (#8469)
* Extended access system

Allows jobs to specify "extended" access levels, which will be granted if the round-start crew count is below a certain threshold.

* Extended accesses for jobs

* Spook
2022-05-26 21:01:07 -07:00
metalgearsloth
74f5f08ae6 Give nukies a medic (#8353)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-05-25 12:42:01 -07:00
Pieter-Jan Briers
a557dd26ec Add completions for ForceMap and ForcePreset 2022-05-25 00:26:57 +02:00
wrexbe
b129844579 Make sandbox the local gamemode (#8360) 2022-05-22 17:32:34 -07:00
Putnam3145
29bc6bf552 Allow game presets to have min/max players (#8327)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2022-05-21 20:55:19 -07: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
metalgearsloth
8d6a3ecea7 Secret! (#8276)
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2022-05-19 14:44:24 +10:00
metalgearsloth
090c3b948e Setgamepreset tweaks (#8260) 2022-05-19 08:25:45 +10:00
metalgearsloth
d9bcc7f6dd Make nukies usable (#8257)
* Make nukies usable

- Spawn points that work
- Radar default range bumped up
- Used the infiltrator instead
- Spawning works
I playtested it and it was working so anything new pops up then I'm gonna screm.

* a
2022-05-19 07:48:00 +10:00
Paul Ritter
b3456c8376 Funny red spacemen (nukeops) (#8073)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-18 12:48:35 +10:00
Leon Friedrich
9255cc97a9 Revert "Revert "Make mapping use consistent Entity Uids (#7625)" (#7650)" (#8186)
This reverts commit 0957606792.
2022-05-15 13:29:01 +10:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
wrexbe
61d147aea9 Fixing warnings (#8131) 2022-05-13 15:35:13 +10:00
metalgearsloth
798af00ad2 Round end audio (#8048) 2022-05-13 10:13:07 +10:00
wrexbe
3467a83d97 Suicide2 (#8117)
* Fix toilet suicide

* Fix ghost ghosting

* Clean suicide system
2022-05-13 09:09:15 +10:00
Moony
36181334b5 StationSystem/jobs/partial spawning refactor (#7580)
* Partial work on StationSystem refactor.

* WIP station jobs API.

* forgor to fire off grid events.

* Partial implementation of StationSpawningSystem

* whoops infinite loop.

* Spawners should work now.

* it compiles.

* tfw

* Vestigial code cleanup.

* fix station deletion.

* attempt to make tests go brr

* add latejoin spawnpoints to test maps.

* make sure the station still exists while destructing spawners.

* forgot an exists check.

* destruction order check.

* hopefully fix final test.

* fail-safe radstorm.

* Deep-clean job code further. This is bugged!!!!!

* Fix job bug. (init order moment)

* whooo cleanup

* New job selection algorithm that tries to distribute fairly across stations.

* small nitpicks

* Give the heads their weights to replace the head field.

* make overflow assign take a station list.

* moment

* Fixes and test #1 of many.

* please fix nullspace

* AssignJobs should no longer even consider showing up on a trace.

* add comment.

* Introduce station configs, praying i didn't miss something.

* in one small change stations are now fully serializable.

* Further doc comments.

* whoops.

* Solve bug where assignjobs didn't account for roundstart.

* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.

* Goodbye JobController.

* minor fix..

* fix test fail, remove debug logs.

* quick serialization fixes.

* fixes..

* sus

* partialing

* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* Use dirtying to avoid rebuilding the list 2,100 times.

* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)

* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* Add the Mysteriously Missing Captain Check.

* Put maprender back the way it belongs.

* I love addressing reviews.

* Update Content.Server/Station/Systems/StationJobsSystem.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* doc cleanup.

* Fix bureaucratic error, add job slot tests.

* zero cost abstractions when

* cri

* saner error.

* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.

* submodule gaming

* Packedenger.

* Documentation consistency.

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2022-05-10 13:43:30 -05:00
metalgearsloth
681e59bb76 Round start audio announcement (#8047) 2022-05-09 17:44:38 -07:00
20kdc
5299cbbb6e Stop mapping command from unsetting it's own settings if used repeatedly (#7875) 2022-05-03 20:19:15 -07: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
Leon Friedrich
0957606792 Revert "Make mapping use consistent Entity Uids (#7625)" (#7650)
This reverts commit b99b14b143.
2022-04-20 02:36:26 +10:00
Leon Friedrich
b99b14b143 Make mapping use consistent Entity Uids (#7625) 2022-04-18 15:46:32 -07:00