Skip to content

Add GiveItems command for member-to-member handoffs#29

Merged
mmacy merged 1 commit into
mainfrom
add-give-items-command
Jul 24, 2026
Merged

Add GiveItems command for member-to-member handoffs#29
mmacy merged 1 commit into
mainfrom
add-give-items-command

Conversation

@mmacy

@mmacy mmacy commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

Adds GiveItems, a command that hands items and coins from one party member to another in zero game time — the distribute-the-load move for shifting weight off an overloaded companion so the party's marching rate recovers.

  • Legal in town and while exploring (not mid-encounter or in battle); both members must be able-bodied and distinct.
  • A given magic item releases its worn effects and lands unequipped in the recipient's pack; mundane items merge into a like stack; valuables and coins move across.
  • Emits a player-visible ItemsGivenEvent.
  • The giver must actually carry what's named, and a revealed cursed item cannot be handed off.

Implementation notes

  • The carried-goods check shared by drop and give is factored out of DropItems into a renamed _validate_carried(member, item_ids, coins) guard, and _handle_drop_during_encounter updated to match.
  • New exploration.give.same_member rejection (documented in rejection_codes.json), plus the exploration.item.given message template.

Testing

  • Full suite: 1556 passed, 58 skipped.
  • New TestGiveItems covers coins + mundane item transfer, valuables, zero-time, relieving an overloaded/frozen party, and rejections (lacks item, insufficient coin, self-gift, unknown recipient, allowed in town).
  • Docs-gate tests confirm the new rejection code and event stay in sync with the generated reference.

Left in [Unreleased] in the changelog — no release cut for this.

https://claude.ai/code/session_015gLzwFqWygcffUqqhwb9Zh

Hand items and coins between party members in zero game time to
redistribute load. Shares the carried-goods validation with DropItems
via the renamed _validate_carried guard. Adds ItemsGivenEvent, its
message template, the same_member rejection, and full test coverage.

Claude-Session: https://claude.ai/code/session_015gLzwFqWygcffUqqhwb9Zh
@mmacy
mmacy merged commit 6c69796 into main Jul 24, 2026
5 checks passed
@mmacy
mmacy deleted the add-give-items-command branch July 24, 2026 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant