- party.jsonc's "members" is now a key/value object (e.g. "hero",
"companion") instead of an array - partyInit seeds party_t.keys
alongside members, and partyGetMemberIndexByKey/partyGetMemberKey do the
lookups. Cutscene items (PARTY_ADD_MEMBER/PARTY_REMOVE_MEMBER/
PARTY_HEAL_MEMBER) now take a "key" JSON field, resolved to a roster
index at load time, instead of a raw index.
- Battle UI shows who's acting: uibattlemenu.c draws the current fighter's
party key above the action menu, and uibattlehud.c draws each ally
fighter's key as an extra line above their HP/MP.
Co-Authored-By: Claude Sonnet 5 <[email protected]>