Skip to content

Fix #4835: Intimidation Tactics exiles chosen hand card - #4847

Merged
matthewevans merged 5 commits into
phase-rs:mainfrom
kiannidev:fix/4835-intimidation-tactics-exile
Jul 2, 2026
Merged

Fix #4835: Intimidation Tactics exiles chosen hand card#4847
matthewevans merged 5 commits into
phase-rs:mainfrom
kiannidev:fix/4835-intimidation-tactics-exile

Conversation

@kiannidev

Copy link
Copy Markdown
Contributor

Summary

  • Fix ChangeZone hand exiles after RevealHand choice so ParentTarget cards in hand are exiled directly instead of being misrouted through dig tracked-set logic.
  • Preserve Expressive Iteration dig-tail behavior by only using tracked-set library exile when the looked-at set still has library members.
  • Add integration tests for Intimidation Tactics reveal, filter, and exile flow.

Test plan

  • cargo test -p engine --test integration intimidation_tactics
  • cargo test -p engine --lib expressive_iteration_dig_chain_reaches_library_bottom_and_exile

Fixes #4835

Made with Cursor

Only reroute ParentTarget hand exiles through tracked-set library members for dig tails; RevealHand choose-then-exile now sets hand origin and exiles the chosen card.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kiannidev
kiannidev requested a review from matthewevans as a code owner July 2, 2026 01:53
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@matthewevans matthewevans left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the targeted bug fix. I reviewed the backend path and the current blocker is mechanical: the Rust lint workflow is failing at cargo fmt --all -- --check on crates/engine/src/game/effects/change_zone.rs and crates/engine/tests/integration/issue_4835_intimidation_tactics.rs.

Please run cargo fmt --all and push the formatted result. I’m holding approval/enqueue until the head is formatted.

@matthewevans matthewevans added the bug Bug fix label Jul 2, 2026
Unblocks the Rust lint workflow failure reported in review.

Co-authored-by: Cursor <cursoragent@cursor.com>
@matthewevans

Copy link
Copy Markdown
Member

Backend review note on current head 70692210f5da0e11127756336d2e23e6f51914b1: the previous formatting blocker is addressed and I do not see a remaining backend implementation blocker. This PR is still textually conflicted with main only in the recurring integration test module list (crates/engine/tests/integration/main.rs). I resolved that mechanically in a maintainer worktree by keeping current main and adding mod issue_4835_intimidation_tactics;, but GitHub rejected my maintainer push to the fork branch, so I can’t update/approve/enqueue it from the sweep. Please merge current main and keep both module lines.

kiannidev and others added 2 commits July 2, 2026 05:16
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep both issue_4835 and issue_4836 modules in alphabetical order.

Co-authored-by: Cursor <cursoragent@cursor.com>
@matthewevans matthewevans self-assigned this Jul 2, 2026

@matthewevans matthewevans left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed current head a501b68. Backend fix is at the ChangeZone continuation seam, preserves the tracked-set dig-tail path, and the new integration test drives the real RevealChoice -> ChangeZone pipeline for Intimidation Tactics.

@matthewevans
matthewevans enabled auto-merge July 2, 2026 03:25
@matthewevans matthewevans removed their assignment Jul 2, 2026
# Conflicts:
#	crates/engine/tests/integration/main.rs

@matthewevans matthewevans left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approving current merge-forward head 231e343. The only post-review change is the deterministic origin/main merge resolving the integration main.rs module list after #4852 landed.

@matthewevans
matthewevans added this pull request to the merge queue Jul 2, 2026
Merged via the queue into phase-rs:main with commit 5b20ba7 Jul 2, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Intimidation Tactics lets opponent reveal hand without exiling a valid card

2 participants