From 91565c633aa6f99e788f040babe1c260fa9936d4 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Mon, 30 Nov 2020 21:59:03 +0100
Subject: [PATCH] Add Evolution + Titan variants

---
 client/src/translations/en.js                 |  2 ++
 client/src/translations/es.js                 |  2 ++
 client/src/translations/fr.js                 |  2 ++
 .../src/translations/rules/Evolution/en.pug   | 24 +++++++------------
 .../src/translations/rules/Evolution/es.pug   | 17 ++++++++++++-
 .../src/translations/rules/Evolution/fr.pug   | 14 ++++++++++-
 client/src/translations/variants/en.pug       |  2 ++
 client/src/translations/variants/es.pug       |  2 ++
 client/src/translations/variants/fr.pug       |  2 ++
 server/db/populate.sql                        |  2 ++
 10 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/client/src/translations/en.js b/client/src/translations/en.js
index ae90c856..5a70547d 100644
--- a/client/src/translations/en.js
+++ b/client/src/translations/en.js
@@ -196,6 +196,8 @@ export const translations = {
   "Exchange pieces' positions": "Exchange pieces' positions",
   "Exotic captures": "Exotic captures",
   "Explosive captures": "Explosive captures",
+  "Extra bishops and knights": "Extra bishops and knights",
+  "Faster development": "Faster development",
   "Four new pieces": "Four new pieces",
   "In the shadow": "In the shadow",
   "Interweaved colorbound teams": "Interweaved colorbound teams",
diff --git a/client/src/translations/es.js b/client/src/translations/es.js
index 8afb92cf..ea64d3fc 100644
--- a/client/src/translations/es.js
+++ b/client/src/translations/es.js
@@ -196,6 +196,8 @@ export const translations = {
   "Exchange pieces' positions": "Intercambiar posiciones de piezas",
   "Exotic captures": "Capturas exóticas",
   "Explosive captures": "Capturas explosivas",
+  "Extra bishops and knights": "Alfiles y caballos adicionales",
+  "Faster development": "Desarrollo acelerado",
   "Four new pieces": "Quatro nuevas piezas",
   "In the shadow": "En la sombra",
   "Interweaved colorbound teams": "Equipos unicolores entrelazados",
diff --git a/client/src/translations/fr.js b/client/src/translations/fr.js
index 95fb5c44..ccd82be3 100644
--- a/client/src/translations/fr.js
+++ b/client/src/translations/fr.js
@@ -196,6 +196,8 @@ export const translations = {
   "Exchange pieces' positions": "Échangez les positions des pièces",
   "Exotic captures": "Captures exotiques",
   "Explosive captures": "Captures explosives",
+  "Extra bishops and knights": "Fous et cavaliers supplémentaires",
+  "Faster development": "Développement accéléré",
   "Four new pieces": "Quatre nouvelles pièces",
   "In the shadow": "Dans l'ombre",
   "Interweaved colorbound teams": "Équipes unicolores entremêlées",
diff --git a/client/src/translations/rules/Evolution/en.pug b/client/src/translations/rules/Evolution/en.pug
index 17241bfd..b82f6350 100644
--- a/client/src/translations/rules/Evolution/en.pug
+++ b/client/src/translations/rules/Evolution/en.pug
@@ -1,25 +1,17 @@
 p.boxed
-  | TODO
+  | Long-range pieces can jump over an obstacle
+  | when they are on the first rank.
 
 p.
-  Besides the usual game end conditions, White can win by preventing black
-  long castle. And, Black can win by castling long.
-
-p For example after 1.e4 e5 2.Bc4, Nc6?? loses immediatly: 3.Bxf7+
+  From the first rank, rook, bishops and queen can play directly on the third
+  rank, even if an obstacle stands in-between.
+  Development is thus accelerated.
 
 figure.diagram-container
   .diagram
-    | fen:r1bqkbnr/pppp1Bpp/2n5/4p3/4P3/8/PPPP1PPP/RNBQK1NR:
-  figcaption After 1.e4 e5 2.Bc4 Nc6 3.Bxf7+ 1-0
+    | fen:r2q2br/ppp2kpp/PN6/8/4pP2/1P1p2P1/P1PPP2P/R2QK2R a6,b6,e6,h6,a3,d3,f3,h3:
+  figcaption Illustration of the possible jumps
 
 h3 Source
 
-p
-  a(href="https://www.chessvariants.com/winning.dir/castle.html")
-    | Castle chess
-  | &nbsp;on chessvariants.com. See also 
-  a(href="http://cinquantesignes.blogspot.com/2020/09/castlechess.html")
-    | this post
-  | &nbsp;giving some clarifications and advices.
-
-p Inventor: Éric Angelini (1996)
+p Variant imagined recently (2020) by Zied Haddad.
diff --git a/client/src/translations/rules/Evolution/es.pug b/client/src/translations/rules/Evolution/es.pug
index 3a33838b..bd5f9c59 100644
--- a/client/src/translations/rules/Evolution/es.pug
+++ b/client/src/translations/rules/Evolution/es.pug
@@ -1,2 +1,17 @@
 p.boxed
-  | TODO
+  | Las piezas de largo alcance pueden saltar sobre un obstáculo
+  | cuando están en la primera fila.
+
+p.
+  Desde la primera fila las torres, los alfiles y la dama pueden jugar
+  directamente en la tercera fila, incluso si un obstáculo lo impide.
+  El desarrollo se acelera.
+
+figure.diagram-container
+  .diagram
+    | fen:r2q2br/ppp2kpp/PN6/8/4pP2/1P1p2P1/P1PPP2P/R2QK2R a6,b6,e6,h6,a3,d3,f3,h3:
+  figcaption Ilustración de posibles saltos
+
+h3 Fuente
+
+p Variante recientemente imaginada (2020) por Zied Haddad.
diff --git a/client/src/translations/rules/Evolution/fr.pug b/client/src/translations/rules/Evolution/fr.pug
index 68accd76..37c22234 100644
--- a/client/src/translations/rules/Evolution/fr.pug
+++ b/client/src/translations/rules/Evolution/fr.pug
@@ -2,4 +2,16 @@ p.boxed
   | Les pièces à longue portée peuvent sauter par dessus un obstacle
   | lorsqu'elle se trouvent sur la première rangée.
 
-p TODO
+p.
+  Depuis la première rangée, les tours, fous et dame peuvent jouer
+  directement sur la troisème rangée, même si un obstacle les en empêche.
+  Le développement s'en trouve accéléré.
+
+figure.diagram-container
+  .diagram
+    | fen:r2q2br/ppp2kpp/PN6/8/4pP2/1P1p2P1/P1PPP2P/R2QK2R a6,b6,e6,h6,a3,d3,f3,h3:
+  figcaption Illustration des sauts possibles
+
+h3 Source
+
+p Variante imaginée récemment (2020) par Zied Haddad.
diff --git a/client/src/translations/variants/en.pug b/client/src/translations/variants/en.pug
index c4b93609..2607bcda 100644
--- a/client/src/translations/variants/en.pug
+++ b/client/src/translations/variants/en.pug
@@ -386,6 +386,7 @@ p.
     "Bicolour",
     "Castle",
     "Doublearmy",
+    "Evolution",
     "Forward",
     "Freecapture",
     "Gridolina",
@@ -393,6 +394,7 @@ p.
     "Magnetic",
     "Parachute",
     "Takenmake",
+    "Titan",
     "Wormhole"
   ]
 ul
diff --git a/client/src/translations/variants/es.pug b/client/src/translations/variants/es.pug
index 7f121589..094a85ef 100644
--- a/client/src/translations/variants/es.pug
+++ b/client/src/translations/variants/es.pug
@@ -397,6 +397,7 @@ p.
     "Bicolour",
     "Castle",
     "Doublearmy",
+    "Evolution",
     "Forward",
     "Freecapture",
     "Gridolina",
@@ -404,6 +405,7 @@ p.
     "Magnetic",
     "Parachute",
     "Takenmake",
+    "Titan",
     "Wormhole"
   ]
 ul
diff --git a/client/src/translations/variants/fr.pug b/client/src/translations/variants/fr.pug
index 9ce1e438..591b725c 100644
--- a/client/src/translations/variants/fr.pug
+++ b/client/src/translations/variants/fr.pug
@@ -396,6 +396,7 @@ p.
     "Bicolour",
     "Castle",
     "Doublearmy",
+    "Evolution",
     "Forward",
     "Freecapture",
     "Gridolina",
@@ -403,6 +404,7 @@ p.
     "Magnetic",
     "Parachute",
     "Takenmake",
+    "Titan",
     "Wormhole"
   ]
 ul
diff --git a/server/db/populate.sql b/server/db/populate.sql
index 13d6594e..47ed4a86 100644
--- a/server/db/populate.sql
+++ b/server/db/populate.sql
@@ -49,6 +49,7 @@ insert or ignore into Variants (name, description) values
   ('Dynamo', 'Push and pull'),
   ('Eightpieces', 'Each piece is unique'),
   ('Enpassant', 'Capture en passant'),
+  ('Evolution', 'Faster development'),
   ('Extinction', 'Capture all of a kind'),
   ('Football', 'Score a goal'),
   ('Forward', 'Moving forward'),
@@ -110,6 +111,7 @@ insert or ignore into Variants (name, description) values
   ('Teleport', 'Reposition pieces'),
   ('Tencubed', 'Four new pieces'),
   ('Threechecks', 'Give three checks'),
+  ('Titan', 'Extra bishops and knights'),
   ('Twokings', 'Two kings'),
   ('Upsidedown', 'Board upside down'),
   ('Vchess', 'Pawns capture backward'),
-- 
2.44.0