chiark / gitweb /
autolower: Call piece_make_heavy when pinning
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 21 Jul 2021 17:25:27 +0000 (18:25 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 21 Jul 2021 19:40:37 +0000 (20:40 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/api.rs

index a6f70f988e4f38fd555aa6f8f213e5794ca759b9..c40fdda33a4f8c5d4d0219b88d2d4305a96b441b 100644 (file)
@@ -558,6 +558,7 @@ api_route!{
   fn op(&self, a: ApiPieceOpArgs) -> PieceUpdate {
     let ApiPieceOpArgs { gs,ioccults,player,piece,ipc, .. } = a;
     let ops = PUOs_Simple_Modify;
+    let new_z = piece_make_heavy(&gs.pieces, piece)?;
     let gpc = gs.pieces.byid_mut(piece).unwrap();
     let gpl = gs.players.byid_mut(player).unwrap();
     let log = log_did_to_piece(
@@ -566,6 +567,7 @@ api_route!{
     )?;
     gpc.forbid_involved_in_occultation()?;
     gpc.pinned = self.0;
+    gpc.zlevel.z = new_z;
     PieceUpdate {
       wrc: WhatResponseToClientOp::Predictable,
       ops: ops.into(),