* Add admin logging, models, migrations
* Add logging damage changes
* Add Log admin flag, LogFilter, Logs admin menu tab, message
Refactor admin logging API
* Change admin log get method names
* Fix the name again
* Minute amount of reorganization
* Reset Postgres db snapshot
* Reset Sqlite db snapshot
* Make AdminLog have a composite primary key of round, id
* Minute cleanup
* Change admin system to do a type check instead of index check
* Make admin logs use C# 10 interpolated string handlers
* Implement UI on its own window
Custom controls
Searching
Add admin log converters
* Implement limits into the query
* Change logs to be put into an OutputPanel instead for text wrapping
* Add log <-> player m2m relationship back
* UI improvements, make text wrap, add separators
* Remove entity prefix from damaged log
* Add explicit m2m model, fix any players filter
* Add debug command to test bulk adding logs
* Admin logs now just kinda go
* Add histogram for database update time
* Make admin log system update run every 5 seconds
* Add a cap to the log queue and a metric for how many times it has been reached
* Add metric for logs sent in a round
* Make cvars out of admin logs queue send delay and cap
* Merge fixes
* Reset some changes
* Add test for adding and getting a single log
* Add tests for bulk adding logs
* Add test for querying logs
* Add CallerArgumentExpression to LogStringHandler methods and test
* Improve UI, fix SQLite, add searching by round
* Add entities to admin logs
* Move distinct after orderby
* Add migrations
* ef core eat my ass
* Add cvar for client logs batch size
* Sort logs from newest to oldest by default
* Merge fixes
* Reorganize tests and add one for date ordering
* Add note to log types to not change their numeric values
* Add impacts to logs, better UI filtering
* Make log add callable from shared for convenience
* Get current round id directly from game ticker
* Revert namespace change for DamageableSystem
* Makes map vote and roundstart smart about player count.
No more Saltern with 30 players, or Knight Ship with 50.
* a typo
* Address reviews.
* Localized.
* Ghost roles now get new Minds
* Some round start/end button stuff
* Mind tracking for better round end reports
* Make traitor kill objectives use mind CharacterName rather than actual occupied entity ("kill brain" prevention)
* Transition over to EntityUid for mind stuff because that's the only way to do it
* BrainSystem fix for PR rebase
* Add "Syndicate Puddle-Jumper" blueprint for admins to spawn in
Serves as a way to let admins cause nukies.
* Unit test to make sure that maps remain loadable
* Convert StomachBehavior to a component/system + rejig body namespaces
* test
* slightly more namespace changes
* remove
* Hello?????
* fuck you github test runner
* reviews
* oobsy!
* Remove IHandsComponent and ISharedHandsComponent
* Copy the documentation from the interfaces
* Revert "Copy the documentation from the interfaces"
This reverts commit 7638a2d4817743d487c7b255ba3e56add77dca86.
* Perform a minute amount of cleanup
* Add test pooling
* WIP test pooling changes
* Fix Destructible tests
* Don't pool unpooled or dummy ticker instances
* Change ServerPathfindingDebugSystem to replace existing entries
* Fix SaveLoadSaveTest comment
* Don't pool StartTest
* Comment out global setup
* Fix puddle tests
* Move SolarPanelComponent initialize to PowerSolarSystem OnMapInit
* Update RobustToolbox
* Finish fixing tests, make test threads background threads
* Bring back pooling
* Fix nullable
* Update RobustToolbox
* Set cvars on server return
* Un-pool tests with custom cvars
* Update RobustToolbox
* Update RobustToolbox
* Change where the main tile coordinates are
* Remove DisposalUnitTest grid check
* Fix test pooling being a fickle bitch
* Fix EntitySystemExtensionsTest
* Update RobustToolbox
* Update RobustToolbox
* Make nullable pool settings true
* Update RobustToolbox
* Wait other way around
* We are unitystation now
* Update RobustToolbox
* Create global setup
* Pool some more tests
* Fix not properly disconnecting clients before restarting the round
* Give more info on ran tests
* Standardize default test cvars
* Update RobustToolbox
* Update RobustToolbox
* Pool clients
* Fix test order issue
* Fix cvars in character creation test not being set properly
* Update RobustToolbox
* Update RobustToolbox
* Rider shut
* Update RobustToolbox
* Format tests ran better
* Update RobustToolbox
* Reset RobustToolbox
* Reset RobustToolbox harder
* Fix one instance of test order causing destructible tests to fail
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list
* Rotate DefaultGrid on round start
Not ideal long-term but good for bugspotting short-term.
* Fix buckle test
Because gridtraversal was being triggered the pos was being fucked when moving back
* Fix buckle
* Buckle offset
* Remove WireNet node group from cables
Implement extension cable components and system
Remove connection over distance logic from ApcPower... components
* Add extension cable components to prototypes
* Implement ApcNetwork
Implement ApcNetSwitch
* Fix ignoredComponents.cs
* Add friend attribute to new components
* Add construction graph for a light switch
* Address reviews
* Fix broken test
* Move ConnectionType enum to DeviceNetworkComponent
Change netId data definition to use the ConnectionType enum values
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
* Moved access to ecs
* Fixed tests
* Moved test to integration
* Better IoC
* Moved preset ID card
* Moved id card to ECS
* Moved access component to ECS
* Fixed pda access
* Final touches
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Oops! All Changes In One Commit
* try desperately to fix prediction issues and fail
* oops
* test
* actually fixes prediction issues
* port jittering to status effect
* default merge behavior + alert cooldown stuff
* silly test issue
* zabloing
* address reviews
* Work on DeviceNetworkSystem
* Implement device networking as ecs
Remove mailing unit code for now
Remove device network metadata
* Implement integration tests for device networking
* Remove manual updating DeviceNetworkSystem and use WaitRunTicks
* Fix wrong component name in ignored components
* Apply suggestions from code review
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* Rename NetworkUtils to DeviceNetworkConstants
Change connection type constants to enum
Remove create function from network payload class
* Change broken nodegroup check in wirenet to grid check
* Change ComponentManager to entity manager in DeviceNetworkSystem
* Fix smaller mistakes
* Wtf random test fail pls run them again smh
* Fix DataField in DeviceNetworkComponent
* Fix yaml in DeviceNetworkTest
* Fix DeviceNetworkComponent DeviceNetId property
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
* Moved pen slot to separate component
* Moved it all to more generic item slot class
* Add sounds
* Item slots now supports many slots
* Some clean-up
* Refactored slots a bit
* Moving ID card out
* Moving pda to system
* Moving PDA owner to ECS
* Moved PDA flashlight to separate component
* Toggle lights work through events
* Fixing UI
* Moving uplink to separate component
* Continue moving uplink to separate component
* More cleaning
* Removing pda shared
* Nuked shared pda component
* Fixed flashlight
* Pen slot now showed in UI
* Light toggle now shows correctly in UI
* Small refactoring of item slots
* Added contained entity
* Fixed tests
* Finished with PDA
* Moving PDA uplink to separate window
* Adding-removing uplink should show new button
* Working on a better debug
* Debug command to add uplink
* Uplink send state to UI
* Almost working UI
* Uplink correcty updates when you buy-sell items
* Ups
* Moved localization to separate file
* Minor fixes
* Removed item slots methods events
* Removed PDA owner name
* Removed one uplink event
* Deleted all uplink events
* Removed flashlight events
* Update Content.Shared/Traitor/Uplink/UplinkVisuals.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/GameTicking/Presets/PresetTraitorDeathMatch.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Item slots system review
* Flashlight review
* PDA to XAML
* Move UplinkMenu to seperate class, fix WeightedColors methods
* Move UI to XAML
* Moved events to entity id
* Address review
* Removed uplink extensions
* Minor fix
* Moved item slots to shared
* My bad Robust...
* Fixed pda sound
* Fixed pda tests
* Fixed pda test again
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Visne <vincefvanwijk@gmail.com>
* Optimise emergency lights a bit
* Fixes
* Delete the failing test, sinple
* Revert "Delete the failing test, sinple"
This reverts commit 7d9e3a3bb6975c15add2987e39e0d3ba85d88be3.
* Start server and fix test
It just werks
* ECS and damage Data
* Comments and newlines
* Added Comments
* Make TryChangeDamageEvent immutable
* Remove SetAllDamage event
Use public SetAllDamage function instead
* Undo destructible mistakes
That was some shit code.
* Rename DamageData to DamageSpecifier
And misc small edits
misc
* Cache trigger prototypes.
* Renaming destructible classes & functions
* Revert "Cache trigger prototypes."
This reverts commit 86bae15ba6616884dba75f552dfdfbe2d1fb6586.
* Replace prototypes with prototype IDs.
* Split damage.yml into individual files
* move get/handle component state to system
* Update HealthChange doc
* Make godmode call Dirty() on damageable component
* Add Initialize() to fix damage test
* Make non-static
* uncache resistance set prototype and trim DamageableComponentState
* Remove unnecessary Dirty() calls during initialization
* RemoveTryChangeDamageEvent
* revert Dirty()
* Fix MobState relying on DamageableComponent.Dirty()
* Fix DisposalUnit Tests.
These were previously failing, but because the async was not await-ed, this never raised the exception.
After I fixed MobState component, this exception stopped happening and instead the assertions started being tested & failing
* Disposal test 2: electric boogaloo
* Fix typos/mistakes
also add comments and fix spacing.
* Use Uids instead of IEntity
* fix merge
* Comments, a merge issue, and making some damage ignore resistances
* Extend DamageSpecifier and use it for DamageableComponent
* fix master merge
* Fix Disposal unit test. Again.
Snapgrids were removed in master
* Execute Exectute