From abe2b962ed3ca32bab36e9a2b99280079d397521 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 7 Apr 2021 17:39:12 +0100 Subject: [PATCH] deck, hand: Do not move unless Wresting Signed-off-by: Ian Jackson --- src/deck.rs | 3 ++- src/hand.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/deck.rs b/src/deck.rs index 8009f7e0..80b233f0 100644 --- a/src/deck.rs +++ b/src/deck.rs @@ -37,7 +37,7 @@ impl OutlineTrait for Deck { #[typetag::serde(name="PickupDeck")] impl PieceSpec for piece_specs::Deck { #[throws(SpecError)] - fn load(&self, _: usize, _: &mut GPiece, + fn load(&self, _: usize, gpc: &mut GPiece, _pcaliases: &PieceAliases, _ir: &InstanceRef) -> PieceSpecLoaded { let common = SimpleCommon { @@ -58,6 +58,7 @@ impl PieceSpec for piece_specs::Deck { if shape.count_faces() != 2 { throw!(SpE::WrongNumberOfFaces); } + gpc.moveable = PieceMoveable::IfWresting; let p = Box::new(Deck { shape, label: self.label.load()?, diff --git a/src/hand.rs b/src/hand.rs index e9de19eb..b94cf138 100644 --- a/src/hand.rs +++ b/src/hand.rs @@ -119,9 +119,10 @@ impl piece_specs::OwnedCommon { #[typetag::serde] impl PieceSpec for piece_specs::Hand { #[throws(SpecError)] - fn load(&self, _: usize, _: &mut GPiece, + fn load(&self, _: usize, gpc: &mut GPiece, _pcaliases: &PieceAliases, _ir: &InstanceRef) -> PieceSpecLoaded { + gpc.moveable = PieceMoveable::IfWresting; self.c.load(Behaviour::Hand)? } } -- 2.30.2