- a 2h weapon can only be equipped in a mainhand slot if the offhand slot is empty
- a 1h weapon can only be equipped in an offhand slot if the mainhand slot has a 1h weapon
- 2h weapons can never be equipped in an offhand slot
Fixed some tests
This stores the components as children of the item that contains them via the DB's `parent_container_item_id` feature, and ensures that things are loaded in a good order with breadth-first search.
Squahed fixes:
- Fix some constraint violations that occurred when swapping inventory items.
- Comment out recipes for modular weapons.
- Make update_item_at_slot_using_persistence_key and is_modular more idiomatic.
- Add changelog entry.
- Document `defer_foreign_keys` usage.