chiark / gitweb /
magic: Prep reorg
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 17 Feb 2021 22:52:16 +0000 (22:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 17 Feb 2021 22:53:41 +0000 (22:53 +0000)
Not sure if I'm going to want this...

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/magic.rs

index cfeb8748694d710d03cd85a8d5916090ea5af746..89508864dc428cfbe7815249e238b3fb303b4f5d 100644 (file)
@@ -135,11 +135,12 @@ impl Piece for Hand {
     let _occults = &mut gs.occults;
 
     let did;
+    let new_owner;
     match (opname, xdata.owner.is_some()) {
       ("claim", false) => {
         let nick = Html(htmlescape::encode_minimal(&gpl.nick));
         let new_desc = Html(format!("{}'s hand", &nick.0));
-        xdata.owner = Some(MagicOwner {
+        new_owner = Some(MagicOwner {
           player,
           dasharray,
           desc: new_desc,
@@ -148,7 +149,7 @@ impl Piece for Hand {
         did = format!("claimed {}", &old_desc.0);
       }
       ("deactivate", true) => {
-        xdata.owner = None;
+        new_owner = None;
         // xxx recalculate occultations
         did = format!("deactivated {}", &old_desc.0);
       }
@@ -163,6 +164,9 @@ impl Piece for Hand {
 
     let who_by = Html(htmlescape::encode_minimal(&gpl.nick));
     let log = vec![ LogEntry { html: Html(format!("{} {}", who_by.0, did)) }];
+
+    xdata.owner = new_owner;
+
     Ok(PieceUpdate {
       wrc, log,
       ops: PUOs::Simple(PUO::Modify(())), // xxx