This was quite broken.
* Actually set the value of the new (change) piece.
* Set the value of tghe taken piece correctly.
* Set the WRC so that clients see the taken piece value.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
let remaining = tgpc_value.qty.checked_sub(take)
.ok_or(Ia::CurrencyShortfall)?;
- ngpc.xdata_init(Value { qty: take })?;
+ tgpc_value.qty = take;
+ ngpc.xdata_init(Value { qty: remaining })?;
tgpc.held = Some(player);
ngpc.held = None;
-
+
tgpc.pinned = false;
let logents = log_did_to_piece(
let update = PieceUpdateOp::ModifyQuiet(());
Ok((
- (WhatResponseToClientOp::Predictable,
+ (WhatResponseToClientOp::UpdateSvg,
update,
logents).into(),
default()