From: Ian Jackson Date: Wed, 7 Apr 2021 16:39:12 +0000 (+0100) Subject: deck, hand: Do not move unless Wresting X-Git-Tag: otter-0.5.0~138 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=abe2b962ed3ca32bab36e9a2b99280079d397521;p=otter.git deck, hand: Do not move unless Wresting Signed-off-by: Ian Jackson --- 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)? } }