* 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
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.
HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.
This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.
New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.
Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.
There's also some code cleanup to reduce copy pasting around the place from my changes.
Requires latest engine to support ImmutableArray<byte> in NetSerializer.
* 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>
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem
* guap
* More fixes
* Wait you can do that?
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>