* Format job requirements as hours and minutes
* Use TimeSpan.ToString for playtime instead of custom method
* wehflicts
---------
Co-authored-by: jmcb <joelsgp@protonmail.com>
This code was a mess. Now it's less of a mess and user UserDbDataManager now.
Fixes the following bugs:
* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.
Likely fixes#24781, #27282
* Make APC UI work correctly with multiple users
* Check access only on client, when constructing UI
* Do TODO (Thanks, Robust 236.1)
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Avoid rebuilding all buttons on action state change
Allows for drag events to continue when actions change
* Remove excess action buttons
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
* Fix borg hands showing up in stripping menu
Borgs can't drop their items anyways, and the amount of hands borgs have causes the UI to just bug out.
* Add more checks
* uncomment and update guidebook
* update loot pool to use entity table and dont hardcode bluespace
* add sacraficing to altars
* :trollface:
* :trollface:
* :trollface:
* 2 lines of sec
* rename files
* replace gamer loot with fake wizard outfit or a normality crystal
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Boom! Emergency access!
* Emergency access sound
* locale
* Updated sounds
* bleh
* Door electrify base
* feat: popups on attempt to activate AI action when wires cut
* refactor: use SharedApcPowerReceiverComponent to check if AI can interact with door
* refactor: added icon and sound for door overcharge
* meta.json should use tabs not spaces
* refactor: extracted sounds for airlock overcharge to static field in system
* refactor: cleanup, ScarKy0 mentions for resources
* refactor: removed unused textures
* feat: now notification is displayed when AI attempting to interact with door which have wire cut
* StationAiWhitelistComponent is properly gating BUI OnMessageAttempt, SharedPowerReceiverSystem.IsPowered is now used to check if device powered
* refactor: use PlayLocal to play electrify sound only for AI player
* refactor: SetBoltsDown now uses TrySetBoltDown, checks for power.
* bolts now check for power using SharedPowerReceiverSystem
* electrify localization and louder electrify sounds
* extracted ShowDeviceNotRespondingPopup, reverted airlocks not opening/closing when ai wire was cut
* refactor: cleanup
* New sprites and fixes
* Copyright
* even more sprite changes
* refactore: cleanup, rename overcharge => electrify
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* initial commit
* adds astronav cartridge to QM locker
* changes requested in review
* fix merge conflicts
* fixes the statuscontrol disappearing if you eject the cartridge but still have it installed
* fix notificationsenabled on salv pda proto
* fixes lingering statuscontrol on eject while held
---------
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
* Don't add newlines (fixes#32357)
* Improve UI around max paper length (Fixes#32344)
* Display a "fill progress" indicator so users know how close they are to filling it
* Don't allow users to save a paper which went over the limit, to avoid them losing data they want to keep.
---------
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
Add mapping load acts (#30722)
Smug doesn't seem to have time to fix mapping state and I don't want to dump more time into it so.
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Added directory to station maps
* Add null checks to map directory sorting/filtering
* Reworked station map directory to be more readable and responsive
* hide spriteview from health analyzer while inactive
* add out of range indicator if analyzer becomes inactive
* hide out of range icon if there is no patient data
* Filter Set Outfit menu to exclude loadout sets
* Apply loadouts to job outfits
* Use appropriate species for Urists
* squishy
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Back in the saddle again! <(8o)
* if you like my STYLE you should see my SHEETS ;-)
* stylesheet change works for ItemStatusNotHeld but broken for ItemStatus. Just using xaml for now.
* teehee
* beeg
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* adds coord label beneath iff label
* fixed wrong coordinate system being used
* changes the clamping on the label UI to instead normalise the UI's distance vector from the centre of the screen, fixes corner-hugging
* cleaned up if-statement by moving the calc ahead of it
* fixed clamping, fixed parenting issue, added draw cull on coord label
---------
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
* Add mapping editor (#757)
* Remove mapping actions, never again
* Cleanup actions system
* Jarvis, remove all references to CM14
* Fix InventoryUIController crashing when an InventoryGui is not found
* Rename mapping1 to mapping
* Clean up context calls
* Add doc comments
* Add delegate for hiding decals in the mapping screen
* Jarvis mission failed
* a
* Add test
* Fix not flushing save stream in mapping manager
* change
* Fix verbs
* fixes
* localise
---------
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
* Set PDA uplink and music default visibility to false
#27376 seems to be the PDA receiving state before first PDA UI open
* Log error on PDA state received before first open
* Fix logging
* Fix error message
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
If an error occurs while loading a replay, it's *supposed* to show a popup "hey do you wanna continue with error tolerance", and it does do this. But because of spaghetti in the replay state code, it also immediately tries to reload the replay without input, as a consequence of trying to reset to the game's default state.
Now the replay load system has a proper game state for "replay load failed", with nice presentation and explicit formatting and 10% less italian cuisine.