Commit Graph
32 Commits
Author SHA1 Message Date
Jake Huxell 9e8416ba73 [BugFix] Persist Job Restrictions When New User Late Joins (#26498)
* make sure to keep late join button disabled if requirements not met

* more succinct representation of condition

(cherry picked from commit cfc0ecbf80)
2024-04-07 14:10:51 +02:00
Jake Huxell a85967f65f Late Join Menu Properly Retains Position On New Player Joins (#26483)
* When another player late joins it will correctly update the UI locally

* Resolve passengers not displaying the correct message in late join

* Improve final boolean comparison of button disabled state to be a bit neater

(cherry picked from commit bf7c1d647e)
2024-04-07 14:04:28 +02:00
Pieter-Jan Briers 905bb83a2d Make department / job list sorting consistent. (#25486)
* Make department / job list sorting consistent.

This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.

We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).

Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.

* Fix jittery job icons in lists.

They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.

Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)

Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.

Also gave a margin next to the icon on the crew manifest. Margins people!

(cherry picked from commit 715794dd41)
2024-03-05 09:49:19 +01:00
Pieter-Jan Briers ccea85136b Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17)
2024-02-18 23:02:29 +01:00
metalgearslothandElectroJr 6b942c4d45 Make role timer tooltips pretty (#19605)
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-09-27 21:59:12 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
PrPleGoo 7c088ac1de Job icons are stored on ID cards (#18233) 2023-07-29 18:25:27 +10:00
metalgearsloth 68480af109 Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
metalgearsloth be14380520 Role ban UI updates (#16736) 2023-05-27 14:22:22 +10:00
metalgearsloth ae01618874 Revert "Revert "Replace ResourcePath with ResPath (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209 Revert "Replace ResourcePath with ResPath (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027 Replace ResourcePath with ResPath (#15308) 2023-04-19 23:39:17 +10:00
Kevin Zheng 42de86ea85 Hide late join departments with no jobs available (#12171) 2022-11-08 14:37:12 -06:00
Visne a1d3ca0857 Lock icon for latejoin GUI (#11187)
* Margin + code cleanup + lock icon

* Fix padding

* Margins, caching
2022-09-15 21:42:35 -05:00
wrexbe b3f75f9ffe More minor UI refactor changes (#11213) 2022-09-11 21:30:11 -07:00
wrexbe 35b90736b7 Minor UI refactor (#11212) 2022-09-11 20:42:12 -07:00
Martin Petkovski c24a8a072a Fixed playtime requirement tooltip (#10756) 2022-08-22 05:14:24 +10:00
metalgearsloth 6feb10502f Disable role timer latejoin roles (#10512)
On master it will just close the GUI and do nothing if the role timer is not met. This PR just means it shows as disabled and also provides the reason on tooltip as well.
2022-08-11 11:56:26 -05:00
Flipp Syderandmetalgearsloth 3d36a6e1f6 Station records (#8720)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-08-09 15:10:01 +10:00
e852ada6c8 Play time tracking: Job timers 3: more titles: when the (#9978)
Co-authored-by: Veritius <veritiusgaming@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-08-07 16:00:42 +10:00
Leon Friedrich 099d38b562 Fix station deletion bug (#10348) 2022-08-07 13:53:07 +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
moonheart08 147ed2f694 How the fuck did none of this turn up in local testing :stare: 2022-05-10 14:36:48 -05:00
MoonyandKara 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
mirrorcult ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
wrexbeandPaul Ritter cea1b21832 Fixing some warnings (#6250)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2022-01-21 10:38:35 +01:00
Moony f60484b15c Random station names! (#5548) 2021-11-26 14:54:32 +01:00
Moony ec68226e99 Refactor how jobs are handed out (#5422)
* Completely refactor how job spawning works

* Remove remains of old system.

* Squash the final bug, cleanup.

* Attempt to fix tests

* Adjusts packed's round-start crew roster, re-enables a bunch of old roles.
Also adds the Central Command Official as a proper role.

* pretty up ui

* refactor StationSystem into the correct folder & namespace.

* remove a log, make sure the lobby gets updated if a new map is spontaneously added.

* re-add accidentally removed log

* We do a little logging

* we do a little resolving

* we do a little documenting

* Renamed OverflowJob to FallbackOverflowJob
Allows stations to configure their own roundstart overflow job list.

* narrator: it did not compile

* oops

* support having no overflow jobs

* filescope for consistency

* small fixes

* Bumps a few role counts for Packed, namely engis

* log moment

* E

* Update Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* Update Content.Server/Maps/GameMapPrototype.cs

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* factored job logic, cleanup.

* e

* Address reviews

* Remove the concept of a "default" grid.
It has no future in our new multi-station world

* why was clickable using that in the first place

* fix bad evil bug that almost slipped through
also adds chemist

* rms obsolete things from chemist

* Adds a sanity fallback

* address reviews

* adds ability to set name

* fuck

* cleanup joingame
2021-11-26 20:02:46 +11:00
Visne bf493c39b7 Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Galactic ChimpandDrSmugleaf 392b820796 Removed old Loc.GetString() use instances (#4155)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-06-21 02:13:54 +02:00
Vera Aguilera Puerto d3a611164b Turns GameTicker into an EntitySystem. (#4197)
* GameTicker turned into an EntitySystem

* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events

* Change event names to be more consistent with the rest.

* YAML linter uses the dummy gameticker CVar override.

* Fix game ticker initialization order

* Dummy ticker won't spawn players.

* Fix character creation test
2021-06-20 10:09:24 +02:00
DrSmugleaf ff1a2d97ea Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00