From cfa37af093bf8b8311b8fff5f79697308dc2bc07 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Thu, 11 Jun 2020 21:52:14 +0200
Subject: [PATCH] Fix Pawnmassacre

---
 TODO                                |  2 ++
 client/src/variants/Pawnmassacre.js | 11 ++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/TODO b/TODO
index 9a8c2e3a..9f46a8ea 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,5 @@
+r5k1/1R5p/3N4/4pP2/1p4P1/2p5/1rP1PKP1/8 w - - 0 1
+
 Simultaneous games: view Game + Simultaneous, using component (One)Game
 Storage: just key ID => IDs of actual games (in indexedDB)
 In Hall challenge: acceptation on sender side (who launch the game when ready --> left click [which just delete if nobody registered, with confirm box])
diff --git a/client/src/variants/Pawnmassacre.js b/client/src/variants/Pawnmassacre.js
index 563fd00b..45756bce 100644
--- a/client/src/variants/Pawnmassacre.js
+++ b/client/src/variants/Pawnmassacre.js
@@ -6,13 +6,18 @@ export class PawnmassacreRules extends ChessRules {
   }
 
   static GenRandInitFen(randomness) {
-    return (
-      ChessRules.GenRandIntFen(randomness)
+    const bFen =
+      ChessRules.GenRandInitFen(randomness)
       // Remove castle flags
-      .slice(0, -6).concat("-")
+      .slice(0, -6).concat("-");
+    const splitIdx = bFen.indexOf(' ');
+    return (
+      bFen.substr(0, splitIdx)
       .replace("PPPPPPPP", "pppppppp")
       // Next replacement is OK because only acts on first occurrence
       .replace("pppppppp", "PPPPPPPP")
+      .split("").reverse().join("")
+      .concat(bFen.substr(splitIdx))
     );
   }
 };
-- 
2.44.0