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.
* Basic emote radial menu
* Move out from corvax
* Move to UI controller & add to top menu bar and key bind
* Make emote play
* Add name localization for emotes
* Localize chat messages
* Fix emote menu
* Add categories localization
* Fixes
* Fix
* Add emotes entity blacklist
* Fix entity whitelist required all logic
* Remove unused wagging emote
* Revert sprite
* Set default texture for emote icon
* Update Resources/keybinds.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Tippy is BACK
* Clean up clippy from aprils fools
* Changed names from clippy to tippy, added localization, removed local_clippy command, made it easier to target a specific player
* Rename clippy.yml to tippy.yml
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* feat(fax): Client fax file-print parses and stores label
* feat(fax): Fax machines print, copy, and send paper labels
* style(Fax): Comments and formatting
* feat(fax): Make fax admin logging more consistent and clear
* refactor(fax): Replace ternary with a simpler null coalescing
* refactor(fax): Make FaxSystem Send method signature consistent with Copy, PrintFile
* refactor(fax): Read entire file and process later instead of peeking first
* refactor(fax): Remove local variables only used for style
* style(fax): Fix some nearby style errors
* fix(fax): Undo an inaccurate change to admin log formatting
* refactor(fax): Separate `firstLine` variable
* fix(fax): Use Environment.NewLine
* bienvenidos
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Added localization of groups and types: damage, metabolism (displayed in the guide book). The text for the health analyzer, weapon damage inspection is now taken from damage prototypes
* fix damage tests
* fix damage test yml
* fix damage test prototypes
* Update Content.Shared/Damage/Prototypes/DamageGroupPrototype.cs
* Update Content.Shared/Damage/Prototypes/DamageTypePrototype.cs
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Fix handlabeler/utility belt misprediction
* Partly moved HandLabelerSystem to shared
And cleaned up HandLabelerComponent
* WIP format the files so later commits look clearer
Doesn't change individual code lines, but may move
functions to another file
* WIP some more code movement
* Hand Labeler is now mostly predicted
Only the UI isn't
* WIP: Formatting and moved stuff
* Using componentstates for prediction correction
* review
* Update label on label change
* Don't overwrite label while editing
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Fix dropping carried entity when walking to a different grid and accidental escape from carrying
* Fix offset carrying
Better fix#1
* Add cancel escape action
* Add a popup shown when you're getting picked up
* Ported bag-carrying stuff (taking someone out of a bag makes you carry them, also allows to insert the carried person into a bag)
* Add sleeping inside bags
* Fix carrying mass contest
* Add the missing file
---------
Co-authored-by: Azzy <azzydev@icloud.com>
* Rodents can be Faxecuted (executed via Fax machine)
* use brute instead of new group.
* fax visuals now use tags for mouse and hamster instead of comps
* fix for ubuntu, damn ubuntu bane of my life
* cant copy hamlet, can now faxecute mothroaches.
* fix
* fix
* fixes
* removed ifs now using switch, removed hastag now using string.
* fixes and no more switch
* cleanup
* more cleanup
* fix
* cleanup
* moved damage out of faxmachine and into own system and component.
* changes
* fixes and done i think.
* tidy
* Fixes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* 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>
Signed-off-by: null <56081759+NullWanderer@users.noreply.github.com>
Some of prototypes don't specify their deconstructTarget node, which
made them show the deconstruct verb as deconstructTarget is set to
"start" node by default. This patch makes attempt to check if is it even
possible from current construction node to reach specified
deconstructTarget.
Fixes#27330
(cherry picked from commit 8442a9142c28917553fb35c6e63695fcbfc62fe2)
* Fix network configurator memory leaking
Doesn't dispose this window.
* Fix the other part
(cherry picked from commit 13c65378425e2d8254e8ed4e68061643b1245308)
* Move job info changing methods for id cards to shared
* Revert "Move job info changing methods for id cards to shared"
This reverts commit 95cbc46b2d1934fa7bf5c72d7d3de9f9168992a1.
* Reapply changes
(cherry picked from commit c122fdf183a8228ccba69cb747a86626ca9b5391)
* Upgraded UseDelay to support multiple delays per entity
* Implement secondary delay for bibles.
Also some improvements to make it work nicely.
* Documentation is good
* Reserve the previous change; now Storage uses the special ID and Bible uses the default.
* .0
* Added VV support to UseDelayInfo
* Serialize better
* No register, just setlength
(cherry picked from commit b292905216948e0c85b04e8ef65a5291dd868eee)
* Added selectable power level to radio jammer
* Cleaned up OnGetVerb
* Settings are now stored in the .yml file. Simplified stuff a lot!
* Minor fixes!
* Small little baby fix :)
* Added the power level switch to the examine menu and also removed the ftl file as it was in the incorrect location.
* Minor code cleanup
* Changed byte -> int
* Update sprite
* Fixed licence
* Added power LED that changes if the jammer is on low power.
* Removed tabs
* Changed github link to the commit
* Changed all the RemComp to RemComDeferred
* Moved NetworkedComponent to shared
* Changed radio jammer textures back with minor edits
* Added a space because it was annoying me
* Jammer now updates range for suit sensors properly! Thanks nikthechampiongr :)
* Removed useless comment
* Cleaned up code that updates the range of tracking devices.
* Fixed client namespace and removed newline
* Cleaned up ChangeLEDState and ChangeChargeLevel.
* Added comments
* Read only
* Fixed another comment
* Locked in
* Made server inherit shared
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* Update Content.Shared/Radio/EntitySystems/SharedJammerSystem.cs
* review fixes
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit d3b1178428e9e0e714e51523558335589078a76c)
* Add NukeOps Test
* Update EvacShuttleTest to also check mapinit
* Update RuleMaxTimeRestartTest
* Fix cvar cleanup
* A
* Revert some changes
* comments
* Add MappingTests
* Finally fix the test
* A
* lower max firestacks to 10, refactor flammable
* fix
* uncap fire stack damage, lower fire stack damage
(cherry picked from commit eee056eaf063caa690516bf8b4eb7e65a0199e9c)