* 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>
* Log enrichment: Explosion damage to players
* Update Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Revert to total damage variant only, currently serialised as string.
* Make this its own log type.
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* Explosions
* fix yaml typo
and prevent silly UI inputs
* oop
* Use modified contains() checks
And remove IEnumerable
* Buff nuke, nerf meteors
* optimize the entity lookup stuff a bit
* fix tile (0,0) error
forgot to do an initial Enumerator.MoveNext(), so the first tile was always the "null" tile.
* remove celebration
* byte -> int
* remove diag edge tile dict
* fix one bug
but there is another
* fix the other bug
turns out dividing a ushort leads to rounding errors. Why TF is the grid tile size even a ushort in the first place.
* improve edge map
* fix minor bug
If the initial-explosion tile had an airtight entity on it, the tile was processed twice.
* some reviews (transform queries, eye.mapid, and tilesizes in overlays)
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* is map paused
* GetAllTiles ignores space by default
* WriteLine -> WriteError
* First -> FirstOrDefault()
* default prototype const string
* entity query
* misc review changes
* grid edge max distance
* fix fire texture defn
bad use of type serializer and ioc-resolves
* Remove ExplosionLaunched
And allow nukes to throw items towards the outer part of an explosion
* no hot-reload disclaimer
* replace prototype id string with int index
* optimise damage a tiiiiny bit.
* entity queries
* comments
* misc mirror comments
* cvars
* admin logs
* move intensity-per-state to prototype
* update tile event to ECS event
* git mv
* Tweak rpg & minibomb
also fix merge bug
* you don't exist anymore go away
* Fix build
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
* Remove unused IChatCommand.
* Lots of refactoring into a shared context.
* Removed ICommonSession from server concmd Execute.
* Added argStr parameter to concmd execute.
* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.
* Finally move shells and commands into shared.
* Console commands can now be registered directly without a class in a shared context.
* Engine API Changes.
* Repair rebase damage.
* Update Submodule.