From 4fcb0c043ae5ff60b6b54d132a5bd2b249eede4a Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Sun, 3 May 2020 01:11:31 +0200
Subject: [PATCH] Add Pacifist1 & 2

---
 client/src/translations/en.js                 |  2 +
 client/src/translations/es.js                 |  2 +
 client/src/translations/fr.js                 |  2 +
 .../src/translations/rules/Pacifist1/en.pug   | 12 ++--
 .../src/translations/rules/Pacifist1/es.pug   | 69 +++++++++++++++++++
 .../src/translations/rules/Pacifist1/fr.pug   | 69 +++++++++++++++++++
 .../src/translations/rules/Pacifist2/en.pug   | 12 ++--
 .../src/translations/rules/Pacifist2/es.pug   | 35 ++++++++++
 .../src/translations/rules/Pacifist2/fr.pug   | 35 ++++++++++
 server/db/populate.sql                        |  2 +
 10 files changed, 228 insertions(+), 12 deletions(-)

diff --git a/client/src/translations/en.js b/client/src/translations/en.js
index 8b7daa72..419cfc75 100644
--- a/client/src/translations/en.js
+++ b/client/src/translations/en.js
@@ -177,6 +177,8 @@ export const translations = {
   "Capture the princess": "Capture the princess",
   "Captures reborn": "Captures reborn",
   "Change colors": "Change colors",
+  "Convert & support (v1)": "Convert & support (v1)",
+  "Convert & support (v2)": "Convert & support (v2)",
   "Dangerous collisions": "Dangerous collisions",
   "Double moves (v1)": "Double moves (v1)",
   "Double moves (v2)": "Double moves (v2)",
diff --git a/client/src/translations/es.js b/client/src/translations/es.js
index 4b5c2759..9aad9dbc 100644
--- a/client/src/translations/es.js
+++ b/client/src/translations/es.js
@@ -177,6 +177,8 @@ export const translations = {
   "Capture the princess": "Capturar a la princesa",
   "Captures reborn": "Las capturas renacen",
   "Change colors": "Cambiar colores",
+  "Convert & support (v1)": "Convertir & apoyar (v1)",
+  "Convert & support (v2)": "Convertir & apoyar (v2)",
   "Dangerous collisions": "Colisiones peligrosas",
   "Double moves (v1)": "Jugadas doble (v1)",
   "Double moves (v2)": "Jugadas doble (v2)",
diff --git a/client/src/translations/fr.js b/client/src/translations/fr.js
index 8684b286..aa885df2 100644
--- a/client/src/translations/fr.js
+++ b/client/src/translations/fr.js
@@ -177,6 +177,8 @@ export const translations = {
   "Capture the princess": "Capturer la princesse",
   "Captures reborn": "Les captures renaissent",
   "Change colors": "Changer les couleurs",
+  "Convert & support (v1)": "Convertir & soutenir (v1)",
+  "Convert & support (v2)": "Convertir & soutenir (v2)",
   "Dangerous collisions": "Collisions dangeureuses",
   "Double moves (v1)": "Coups doubles (v1)",
   "Double moves (v2)": "Coups doubles (v2)",
diff --git a/client/src/translations/rules/Pacifist1/en.pug b/client/src/translations/rules/Pacifist1/en.pug
index ca2f8fb9..237c83bc 100644
--- a/client/src/translations/rules/Pacifist1/en.pug
+++ b/client/src/translations/rules/Pacifist1/en.pug
@@ -21,20 +21,20 @@ figure.diagram-container
   figcaption Before and after 1.Nf5
 
 p.
-  The game ends when a king is converted, and the side cannot convert a king
+  The game ends when a king is converted, and no king can be converted
   at the next turn. Note that kings may be exchanged, as on the following
   diagram: 1...g6 would convert back the original black king on e7, but
-  1...Nb6 is also possible, turning the white one on a4 into black.
+  1...Nb6 is also possible, turning the white king on a4 into black.
 
 figure.diagram-container
   .diagram.diag12
     | fen:nbr1b1qr/ppppKppp/7n/4pN2/K3P3/P7/QPPP1PPP/B1R1RBN1:
   .diagram.diag22
     | fen:1br1b1qr/ppppKppp/1n5n/4pN2/k3P3/P7/QPPP1PPP/B1R1RBN1:
-  figcaption before and after 1...Nb6
+  figcaption Before and after 1...Nb6
 
 p.
-  On this final illustration, the king cannot be converted at next turn:
+  On this final illustration, no king can be converted at next turn:
   white wins.
 
 figure.diagram-container
@@ -51,10 +51,10 @@ ul
     friendly pieces. For example, rooks and queens in the same orthogonal
     or bishops and queens in the same diagonal.
   li.
-    The Pawn is forbidden to move through a cell which is overly persuaded
+    The pawn is forbidden to move through a cell which is overly persuaded
     during its initial two-step move.
   li.
-    A King is allowed to move to cells which are being persuaded as
+    A king is allowed to move to cells which are being persuaded as
     long as the level of persuasion is not greater than its support.
 
 h3 Source
diff --git a/client/src/translations/rules/Pacifist1/es.pug b/client/src/translations/rules/Pacifist1/es.pug
index e69de29b..53939c75 100644
--- a/client/src/translations/rules/Pacifist1/es.pug
+++ b/client/src/translations/rules/Pacifist1/es.pug
@@ -0,0 +1,69 @@
+p.boxed
+  | No hay capturas.
+  | Las piezas atacadas insuficientemente defendidas cambian de color.
+
+p.
+  Una conversión tiene lugar cuando la persuasión total es más fuerte que la
+  apoyo. Las piezas persuaden a los demás según sus movimientos de ataque.
+  Las piezas opuestas persuaden, las amigas apoyan.
+
+p.
+  En el siguiente diagrama, por ejemplo, 1.Nf5 ataca a g7.
+  Como el alfil no es defendido, se vuelve blanco. Del mismo modo para el peón
+  e7. Entonces la torre f8 se convierte. Esto convierte tanto el
+  caballo en d8 y el alfil en g8. Finalmente los peones f7 y h7 son atacados
+  y por lo tanto cambian de color.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:rkqn1rb1/ppppppbp/P7/1n4p1/8/4N3/1PPPPPPP/RNK1BBQR:
+  .diagram.diag22
+    | fen:rkqN1RB1/ppppPPBP/P7/1n3Np1/8/8/1PPPPPPP/RNK1BBQR:
+  figcaption Antes y después 1.Nf5
+
+p.
+  El juego termina cuando un rey se convierte, y ningún rey puede ser
+  convertido a la siguiente ronda. Tenga en cuenta que los reyes se pueden
+  intercambiar, como en el siguiente diagrama: 1...g6 devolvería al rey negro
+  a su color original en e7, pero 1...Nb6 también es posible, convirtiendo el
+  rey blanco a a4 en negro.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:nbr1b1qr/ppppKppp/7n/4pN2/K3P3/P7/QPPP1PPP/B1R1RBN1:
+  .diagram.diag22
+    | fen:1br1b1qr/ppppKppp/1n5n/4pN2/k3P3/P7/QPPP1PPP/B1R1RBN1:
+  figcaption Antes y después de 1...Nb6
+
+p.
+  En esta última ilustración, ningún rey puede convertirse en el turno
+  siguiente: las blancas ganan.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:1rknn1br/p1pp1p1p/3bp1p1/1p1q2n1/5p2/2P4B/pP1PP1PP/B1RKR1QN:
+  .diagram.diag22
+    | fen:1RKNN1br/P1PP1p1p/1Q1Bp1p1/1P1q2n1/5P2/2P4B/pP1PP1PP/B1RKR2N:
+  figcaption Antes y después 1.Qb6#
+
+p Notas:
+ul
+  li.
+    Las piezas pueden persuadir o apoyar a través de otras piezas amigables.
+    Por ejemplo, torres y damas en el mismo ortogonal o alfiles y damas
+    en la misma diagonal.
+  li.
+    El peón no puede pasar a través de una casilla demasiado persuadida
+    durante su doble avance inicial.
+  li.
+    Un rey puede ir en casillas persuadidas, siempre que el nivel de
+    la persuasión no excede el número de seguidores.
+
+h3 Fuente
+
+p
+  | Adaptado de 
+  a(href="https://www.chessvariants.com/rules/pacifist-chess") Pacifist Chess
+  | &nbsp;en chessvariants.com.
+
+p Inventor: Larry L. Smith (2007)
diff --git a/client/src/translations/rules/Pacifist1/fr.pug b/client/src/translations/rules/Pacifist1/fr.pug
index e69de29b..a25a0df0 100644
--- a/client/src/translations/rules/Pacifist1/fr.pug
+++ b/client/src/translations/rules/Pacifist1/fr.pug
@@ -0,0 +1,69 @@
+p.boxed
+  | Pas de captures.
+  | Les pièces attaquées insuffisamment défendues changent de couleur.
+
+p.
+  Une conversion a lieu quand la persuasion totale est plus forte que le
+  soutien. Les pièces persuadent les autres selon leur déplacements d'attaque.
+  Les pièces adverses persuadent, les amies soutiennent.
+
+p.
+  Sur le diagramme suivant par exemple, 1.Nf5 attaque g7.
+  Puisque le fou n'est pas défendu, il devient blanc. De même pour le pion e7.
+  Ensuite, la tour f8 est convertie. Cela permet de convertir à la fois le
+  cavalier en d8 et le fou en g8. Finalement les pions f7 et h7 sont attaqués
+  et donc changent de couleur.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:rkqn1rb1/ppppppbp/P7/1n4p1/8/4N3/1PPPPPPP/RNK1BBQR:
+  .diagram.diag22
+    | fen:rkqN1RB1/ppppPPBP/P7/1n3Np1/8/8/1PPPPPPP/RNK1BBQR:
+  figcaption Avant et après 1.Nf5
+
+p.
+  La partie se termine quand un roi est converti, et aucun roi ne peut être
+  converti au tour suivant. Notez que les rois peuvent être échangés, comme sur
+  le diagramme suivant : 1...g6 ramènerait le roi noir à sa couleur initiale
+  en e7, mais 1...Nb6 est possible également, convertissant le roi blanc en
+  a4 en noir.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:nbr1b1qr/ppppKppp/7n/4pN2/K3P3/P7/QPPP1PPP/B1R1RBN1:
+  .diagram.diag22
+    | fen:1br1b1qr/ppppKppp/1n5n/4pN2/k3P3/P7/QPPP1PPP/B1R1RBN1:
+  figcaption Avant et après 1...Nb6
+
+p.
+  Sur cette dernière illustration, aucun roi ne peut être converti au tour
+  suivant : les blancs gagnent.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:1rknn1br/p1pp1p1p/3bp1p1/1p1q2n1/5p2/2P4B/pP1PP1PP/B1RKR1QN:
+  .diagram.diag22
+    | fen:1RKNN1br/P1PP1p1p/1Q1Bp1p1/1P1q2n1/5P2/2P4B/pP1PP1PP/B1RKR2N:
+  figcaption Avant et après 1.Qb6#
+
+p Notes :
+ul
+  li.
+    Les pièces peuvent persuader ou soutenir à travers d'autres pièces amies.
+    Par exemple, tours et dames sur une même orthogonale ou fous et dames
+    sur une même diagonale.
+  li.
+    Le pion n'a pas le droit de passer par une case sur-persuadée lors de sa
+    double avancée initiale.
+  li.
+    Un roi peut aller sur des cases persuadées, tant que le niveau de
+    persuasion n'excède pas le nombre de soutiens.
+
+h3 Source
+
+p
+  | Adapté depuis 
+  a(href="https://www.chessvariants.com/rules/pacifist-chess") Pacifist Chess
+  | &nbsp;sur chessvariants.com.
+
+p Inventeur : Larry L. Smith (2007)
diff --git a/client/src/translations/rules/Pacifist2/en.pug b/client/src/translations/rules/Pacifist2/en.pug
index d4543621..8e8f3b82 100644
--- a/client/src/translations/rules/Pacifist2/en.pug
+++ b/client/src/translations/rules/Pacifist2/en.pug
@@ -7,12 +7,12 @@ p
   a(href="/#/variants/Pacifist1") Pacifist1
   | , but persuasion and support are determined by the sum of pieces values
   | attacking a square. For example on the following diagram,
-  | 1...Qa7 converts many white pieces because the rook is worth more than the
-  | knight defending e1, so the king turns black. The king then turns all
-  | surrounding pieces black, then c2 changes color because it is attacked by
-  | the bishop on d1. Finally the pawn on c2 attacks the rook, which converts
-  | the bishop on a1 and then the b2 pawn with the help of the newly converted
-  | bishop.
+  | 1...Qa7 converts several white pieces because the rook is worth more than
+  | the knight defending e1, so the king turns black. He turns then all
+  | surrounding pieces into black, then c2 changes color because this square
+  | is attacked by the bishop on d1. Finally the pawn on c2 attacks the rook,
+  | which converts the bishop on a1 and then the b2 pawn with the help of the
+  | newly converted bishop.
   | In Pacifist1, only the rook would change color.
 
 figure.diagram-container
diff --git a/client/src/translations/rules/Pacifist2/es.pug b/client/src/translations/rules/Pacifist2/es.pug
index e69de29b..8d3156da 100644
--- a/client/src/translations/rules/Pacifist2/es.pug
+++ b/client/src/translations/rules/Pacifist2/es.pug
@@ -0,0 +1,35 @@
+p.boxed
+  | No hay capturas.
+  | Las piezas atacadas insuficientemente defendidas cambian de color.
+
+p
+  | Igual que
+  a(href="/#/variants/Pacifist1") Pacifist1
+  | , pero la persuasión y el apoyo están determinados por la suma de valores
+  | de las piezas atacando una casilla. Por ejemplo en el siguiente diagrama,
+  | 1...Qa7 convierte varias piezas blancas ya que la torre vale más que
+  | el caballo defiende e1, por lo que el rey se vuelve negro. Luego cambia
+  | todas las habitaciones vecinas en negro, luego c2 cambia de color porque
+  | esta casilla es atacado por el alfil en d1. Finalmente el peón en c2 ataca
+  | la torre, que convierte al alfil en a1 y luego el peón b2 con la ayuda del
+  | alfil recien convertido.
+  | En Pacifist1, solo la torre habría cambiado de color.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:qrbnkb1n/1pppp1rp/p7/5Pp1/5PPP/3N3Q/PPPPP3/BR1BK1RN:
+  .diagram.diag22
+    | fen:1rbnkb1n/qpppp1rp/p7/5Pp1/5PPP/3N3Q/Ppppp3/br1bk1rN:
+  figcaption Antes y después de 1...Qa7
+
+p Los valores de las piezas son los siguientes:
+ul
+  Li Peón: 1
+  Li Torre: 5
+  li Caballo: 3
+  li Alfil: 3
+  li Dama: 9
+  li Rey: 1000
+p.
+  Entonces el rey convierte todo a su alrededor, a menos que
+  el otro rey esté presente.
diff --git a/client/src/translations/rules/Pacifist2/fr.pug b/client/src/translations/rules/Pacifist2/fr.pug
index e69de29b..058b5f2a 100644
--- a/client/src/translations/rules/Pacifist2/fr.pug
+++ b/client/src/translations/rules/Pacifist2/fr.pug
@@ -0,0 +1,35 @@
+p.boxed
+  | Pas de captures.
+  | Les pièces attaquées insuffisamment défendues changent de couleur.
+
+p
+  | Pareil que 
+  a(href="/#/variants/Pacifist1") Pacifist1
+  | , mais la persuasion et le soutien sont déterminés par la somme des valeurs
+  | des pièces attaquant une case. Par exemple sur le diagramme suivant,
+  | 1...Qa7 convertit plusieurs pièces blanches puisque la tour vaut plus que
+  | le cavalier défendant e1, donc le roi devient noir. Il change ensuite
+  | toutes les pièces voisines en noir, puis c2 change de couleur car cette
+  | case est est attaquée par le fou en d1. Finalement le pion en c2 attaque la
+  | tour, qui convertit le fou en a1 puis le pion b2 avec l'aide du fou
+  | nouvellement converti.
+  | Dans Pacifist1, seule la tour aurait changé de couleur.
+
+figure.diagram-container
+  .diagram.diag12
+    | fen:qrbnkb1n/1pppp1rp/p7/5Pp1/5PPP/3N3Q/PPPPP3/BR1BK1RN:
+  .diagram.diag22
+    | fen:1rbnkb1n/qpppp1rp/p7/5Pp1/5PPP/3N3Q/Ppppp3/br1bk1rN:
+  figcaption Avant et après 1...Qa7
+
+p Les valeurs des pièces sont les suivantes :
+ul
+  li Pion : 1
+  li Tour : 5
+  li Cavalier : 3
+  li Fou : 3
+  li Dame : 9
+  li Roi : 1000
+p.
+  Ainsi le roi convertit tout ce qui se trouve autour de lui, à moins que
+  l'autre roi soit présent.
diff --git a/server/db/populate.sql b/server/db/populate.sql
index 97f78bc4..df100229 100644
--- a/server/db/populate.sql
+++ b/server/db/populate.sql
@@ -67,6 +67,8 @@ insert or ignore into Variants (name, description) values
   ('Monster', 'White move twice'),
   ('Omega', 'A wizard in the corner'),
   ('Orda', 'Mongolian Horde'),
+  ('Pacifist1', 'Convert & support (v1)'),
+  ('Pacifist2', 'Convert & support (v2)'),
   ('Parachute', 'Landing on the board'),
   ('Perfect', 'Powerful pieces'),
   ('Racingkings', 'Kings cross the 8x8 board'),
-- 
2.44.0