Entry 73
Trade, a party member's list and Gift, the administrators and the Grunty breeders
Filescrates/piney-fieldui/src/menus/trade.rscrates/piney-fieldui/src/menus/talk.rscrates/piney-fieldui/src/menus/breeder.rscrates/piney-fieldui/src/talk.rscrates/piney-fieldui/src/world.rscrates/piney-game/src/world.rstools/test_fieldui_trade_rs.pytools/test_fieldui_talk_rs.pytools/test_fieldui_shop_rs.pydocs/engine/field-ui.md
70 left part of the talk menus to come. The talk agent's two helpers
have now finished them. All 17 menus that the action button opens on a
character are now ported, each checked frame by frame against the game's
ccThMenu.
The menus
- Trade. 48 TradeMenu and 49 TradeSubMenu: a PC's offers, the gauge, Approve, and the piece given in exchange.
- A party member. 21 SpcMenu and 50 PresentMenu: Gift, with the
member's thanks and
AddSpcItem. - The administrators. 23 NpcMenu.
- The Grunty breeders. 27 BreederMenu and 56 BreedingMenu: Give Food, with the Grunty's growth.
Merging
The shop agent merged the two helpers' work with each other and with 71's:
- One copy of each shared piece.
AddSpcItem, which Trade and Gift share;ChangeEquipmentand the skill bookkeeping, from Equipment's equip.rs;- the menu fade, from PERSONAL's.
- Members' stats written as Equipment writes them. A member's trade or
gift writes its
realandtuneto the save throughequip::calc_real. It also raises the existingCalcRealandChangeEquiprequests.
In the runtime
The action button's menus on a party member (21), an administrator (23) and a breeder (27) now tell the field UI who was spoken to first, as the PC and shop menus already did. Without that, the pages found no character.
Checked
- Against the game.
tools/test_fieldui_trade_rs.py: 10 tests.tools/test_fieldui_talk_rs.py: 25 tests.- The shop, field UI, PERSONAL and OPTION suites still pass.
- Members in the trade and gift tests now have levels and worn pieces,
so their
realandtuneare compared too.
- Re-run in a clean worktree. All of these pass, with the workspace's
tests, clippy (including piney-fieldui with
trace), fmt and the docs check. - Shots from the runtime (the talk agent's): Crest's list, and Trade with its offers, the gauge and Approve, then the give page.
- Not wired into the runtime. These requests are dropped: - a member's book use (
SpcUseItem); -PresentOther; - feeding a Grunty (Feed,GruntyGrowth); -CalcRealandChangeEquip.