Ban database refactor (#42495)
* Ban DB refactor seems to work at a basic level for PostgreSQL
* New ban creation API
Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).
* Make the migration irreversible
* Re-implement ban notifications
The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.
* Fix some split query warnings
* Implement migration on SQLite
* More comments
* Remove required from ban reason
SS14.Admin changes would like this
* More missing AsSplitQuery() calls
* Fix missing ban type filter
* Fix old CreateServerBan API with permanent time
* Fix department and role ban commands with permanent time
* Re-add banhits navigation property
Dropped this on accident, SS14.Admin needs it.
* More ban API fixes.
* Don't fetch ban exemption info for role bans
Not relevant, reduces query performance
* Regenerate migrations
* Fix adminnotes command for players that never connected
Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.
* Great shame... I accidentally committed submodule update...
* Update GDPR scripts
* Fix sandbox violation
* Fix bans with duplicate info causing DB exceptions
Most notably happened with role bans, as multiple departments may include the same role.
* Nubody
* fix test fails
* gibbing
* lung test returns
* doc comment
* hand organ test
* giblet test
* yaml formatting
* returning
* relocate
* trimming
* re-smite
* oops thusd tweak
* arachnids have slower metabolism i guess
* never mind the old behaviour is bad actually
* rider whyyy
* style changes and allat
* fix collision
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* no longer calls evac if evac is called or if the round is over
* can't recall shuttle
* some commentary
* can recall next round
* cancel evac recalling
* add this back
* only call once
* admins can recall anyway now
* 1 bool is better than 2 i guess
* some cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Fix usages of TryIndex()
Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)
This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)
This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.
Fixes#39115
Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.
* fix tests
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* camera
* add console command
* change verb name to camera
* placeholder text
* add button to player panel
* orks are indeed the best
* visibility flag fix
* not a datafield
* more follower fixes
* more cleanup
* add zooming
* resizing real
* remove commented out code
* remove AddForceSend
* comment
* Use OS window and add some comments
* fix comments and variable name
* Needs RT update
* Minor grammarchange
* Fix warning
* Cleanup
* almost working...
* fix bug
* oswindow update
* Remove need for RequestClosed.
---------
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
* checkpoint
* pt 2
* pt... i forgot
* pt 4
* patch
* More test fixes
* optimization!!!
* the REAL hand system
* fix RetractableItemActionSystem.cs oversight
* the review
* test
* remove test usage of body prototype
* Update Content.IntegrationTests/Tests/Interaction/InteractionTest.cs
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* hellcode
* hellcode 2
* Minor cleanup
* test
* Chasing the last of the bugs
* changes
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
* Create TurfSystem equivalent for and obsolete TurfHelpers.GetTileRef
* Fix EntitySystem uses of TurfHelpers.GetTileRef
* Fix EntitySystem uses of TurfHelpers.TryGetTileRef
* Fix construction condition uses of TurfHelpers.GetTileRef
* Fix last use of TurfHelpers.IsBlockedTurf
* Create TurfSystem equivalent to and obsolete TurfHelpers.GetContentTileDefinition
* Fix uses of TurfHelpers.GetContentTileDefinition(TileRef)
* Fix uses of TurfHelpers.GetContentTileDefinition(Tile)
* Create TurfSystem equivalent to and obsolete TurfHelpers.IsSpace
* Fix EntitySystem uses of TurfHelpers.IsSpace(Tile)
* Fix EntitySystem uses of TurfHelpers.IsSpace(TileRef)
* Fix remaining uses of TurfHelpers.IsSpace
* Fix uses of TurfHelpers.GetEntitiesInTile
* Delete TurfHelpers.cs
* Add GetEntitiesInTile lookup methods
* Convert some GetEntitiesInTile methods to LookupSystem extension methods
* Use new GetEntitiesInTile methods
* Recycle spiderweb hashset
* Recycle floor tile hashset
* Fixes and adds many localization keys from #34343
Open
* Fix comment, that is not how that works.
* Update Resources/Locale/en-US/components/screen-component.ftl
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Fixes cmd-parse-failure-int -> cmd-parse-failure-integer in OptionsUIController.cs, removes cmd-parse-failure-int from options-menu.ftl
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Move CanReturnToBody to system
* Move CanGhostInteract to system
* Cleanup redundant datafields and viewvariables
* Document datafields
* Document component
* Add SetTimeOfDeath Entity<T> overload, obsolete old version
* Document public methods
* Cleanup obsoleted method calls
* EntityCoordinates.GetGridUid -> SharedTransformSystem.GetGrid
* EntityCoordinates.GetMapId -> SharedTransformSystem.GetMapId
* Hey look, there's been a bug here this whole time
* TransformComponent.Coordinates.set -> SharedTransformSystem.SetCoordinates
* Now actually working!
* Formatting why not
* Remove unneeded GetComponent
* Add ability for admins to change certain cvars via command.
* Cleanup
* More cleanup.
* Even more cleanup.
* WAITER! WAITER! ONE MORE COMMIT PLEASE!
* Remove requirement for Admin AdminFlag
Not needed as the command checks for the perms.
* Add search function to CVars and help text
* Move to controller instead.
* Add another cvar for testing
* Remove unused comment
* Move to Post Server Initialize
LoC does not work at the earlier stages of server initalization
* Remove unneeded comment
We clear out list so its no longer needed