* - rework a bunch of cargo orders to not send a crate with just one thing
- instead sends the item, wrapped
- add ability for cargo orders to wrap the item ordered in parcel wrap
- cargo order name and descriptions are now localization strings, but still 99.99% of the time just get that info from the entity they're spawning
- small refactor to how cargo orders move around in cargo code so that the actual order proto is kept around longer
- small rework to certain restock cargo orders to halve the cost and number of items received in one order
* oop
* Suffering
* Arbitrary containers for cargo products
* I ran the tests locally and they passed, github please rerun :)
* massage Slarti's work into this.
Mainly by taking the API wrapping ability out back with the rifle q-q
* testfail fake
* wow `_applyingState` is useful, I wonder where I should've been using that in other PRs before :^)
* pr comments
* tfw the hook doesn't update the submodule
* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs
Co-authored-by: āda <ss.adasts@gmail.com>
* PR comments
* fixies
* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs
* Update Content.Shared/ParcelWrap/Systems/ParcelWrappingSystem.WrappedParcel.cs
* fix wrapped parcel entity name + audio
* Actually read PR comments
* Apply suggestions from code review
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
---------
Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@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>