From 40ac07d9dfc8a58911550aa9c87a0f0736723f1f Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Sun, 22 Mar 2020 04:16:42 +0100
Subject: [PATCH] Fix Hawk and Elephant movements in S-chess

---
 client/src/variants/Schess.js | 38 ++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/client/src/variants/Schess.js b/client/src/variants/Schess.js
index 7cbb47a1..ebc2c7c2 100644
--- a/client/src/variants/Schess.js
+++ b/client/src/variants/Schess.js
@@ -199,16 +199,14 @@ export class SchessRules extends ChessRules {
   }
 
   getPotentialHawkMoves(sq) {
-    return this.getSlideNJumpMoves(
-      sq,
-      V.steps[V.BISHOP].concat(V.steps[V.KNIGHT])
+    return this.getSlideNJumpMoves(sq, V.steps[V.BISHOP]).concat(
+      this.getSlideNJumpMoves(sq, V.steps[V.KNIGHT], "oneStep")
     );
   }
 
   getPotentialElephantMoves(sq) {
-    return this.getSlideNJumpMoves(
-      sq,
-      V.steps[V.ROOK].concat(V.steps[V.KNIGHT])
+    return this.getSlideNJumpMoves(sq, V.steps[V.ROOK]).concat(
+      this.getSlideNJumpMoves(sq, V.steps[V.KNIGHT], "oneStep")
     );
   }
 
@@ -221,20 +219,28 @@ export class SchessRules extends ChessRules {
   }
 
   isAttackedByHawk(sq, color) {
-    return this.isAttackedBySlideNJump(
-      sq,
-      color,
-      V.HAWK,
-      V.steps[V.BISHOP].concat(V.steps[V.KNIGHT])
+    return (
+      this.isAttackedBySlideNJump(sq, color, V.HAWK, V.steps[V.BISHOP]) ||
+      this.isAttackedBySlideNJump(
+        sq,
+        color,
+        V.HAWK,
+        V.steps[V.KNIGHT],
+        "oneStep"
+      )
     );
   }
 
   isAttackedByElephant(sq, color) {
-    return this.isAttackedBySlideNJump(
-      sq,
-      color,
-      V.ELEPHANT,
-      V.steps[V.ROOK].concat(V.steps[V.KNIGHT])
+    return (
+      this.isAttackedBySlideNJump(sq, color, V.ELEPHANT, V.steps[V.ROOK]) ||
+      this.isAttackedBySlideNJump(
+        sq,
+        color,
+        V.ELEPHANT,
+        V.steps[V.KNIGHT],
+        "oneStep"
+      )
     );
   }
 
-- 
2.44.0