First bug: if an error occured during pref loading code, it would fail. If the person then readied up, it would likely cause the round to fail to start.
Why could they ready up? The code only checks that the prefs finished loading, not that they finished loading *successfully*. Whoops.
Anyways, now people get kicked if their prefs fail to load. And I improved the error handling.
Second bug: if a user disconnected while their prefs were loading, it would cause an exception. This exception would go unobserved on lobby servers or raise through gameticker on non-lobby servers.
This happened even on a live server once and then triggered the first bug, but idk how.
Fixed this by properly plumbing through cancellation into the preferences loading code. The stuff is now cancelled properly.
Third bug: if somebody has a loadout item with a playtime requirement active, load-time sanitization of player prefs could run into a race condition because the sanitization can happen *before* play time was loaded.
Fixed by moving pref sanitizations to a later stage in the load process.
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh
* add shipyard code
* add shipyard preferred dock
* shipyard locale
* add the computer itself
* add all the pre rebase shuttles
* name the shuttle
* tweak all shuttle maps + fix test
* add some categories for future use
* rename nanotrasen to civilian
* update for new ui system and move remaining yaml into deltav folder
* good
* write tests
* wow
* helix price hike
* fix dirty dispose
* use deltav cvar file
* s
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
---------
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Null <56081759+NullWanderer@users.noreply.github.com>
* Added warning to tryGetSolution, moved SolutionContainer code to shared
- Added an optional warning (false by default) to print an error if a solution is missing when using tryGetSolution methods
- Moved ensuring solution containers to shared, left the old method stubs for compatability and marked them as obsolete.
* Update SharedSolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Update SolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Fixing ensuring chem solutions always returning false on client
- ensuring chem solutions will only return false on the client if it is waiting for a server solutionEntity to be synced
* Added concentration helpers
* fix whitespace
* Add dock device link port
* SpawnAndDeleteAllEntitiesInTheSameSpot moment
* The fuck is TryStopNukeOpsFromConstantlyFailing??
Do we have a new test that can randomly fail?
- Now uses a SoundCollection.
- Now properly handles going between maps (audio rework mucho wow).
- GetAudioLength used so it can properly countdown ANY song (wow audio rework wow wow).
Using static Regex functions that take in a pattern is bad because the pattern constantly needs to be re-parsed. With https://github.com/space-wizards/RobustToolbox/pull/5107, the engine has an analyzer to warn for this practice now.
This commit brings most of content up to snuff already, though some of the tricker code I left for somebody else.
* Geras bug fixes
* oops
* its as shrimple as that
toggled transferName in the polymorph yml instead of using the system to manually change it
* its as shrimple as that (2.0)
fixed reviews for zombies having a dummy action, instead - properly implemented removal of action
* its as shrimple as that (3.0)
fixed tests by removing nameidentifier from slime (its already inherited, anyway)
* Optimise navmaps significantly
- Reduce the delta state size significantly.
- Remove AirtightChangedEvent because this will spam them out constantly.
* weh
* review
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Moved GasMixture to shared
* Temp Fix for sandbox violation, idk why Array.Resize isn't working properly. It's already sandboxed.
* The most powerful webedit in history
The microwave system would update UserInterface on any container changed instead of just the microwave_entity_container. This would cause it to error when trying to update the UI when ConstructionSystem inserted the circuit board and components.