| 1 | const variants = [ |
| 2 | /* { name: 'Absorption', desc: 'Absorb powers' }, |
| 3 | { name: 'Alapo', desc: 'Geometric Chess' }, |
| 4 | { name: 'Alice', desc: 'Both sides of the mirror' }, |
| 5 | { name: 'Align4', desc: 'Align four pawns' }, |
| 6 | { name: 'Allmate', desc: 'Mate any piece' }, |
| 7 | { name: 'Ambiguous', desc: "Play opponent's pieces" }, |
| 8 | { name: 'Antiking1', desc: 'Keep antiking in check', disp: 'Anti-King' }, |
| 9 | { name: 'Antimatter', desc: 'Dangerous collisions', disp: 'Antimatter' }, |
| 10 | { name: 'Apocalypse', desc: 'The end of the world' }, |
| 11 | { name: 'Arena', desc: 'Middle battle' }, |
| 12 | { name: 'Atarigo', desc: 'First capture wins', disp: 'Atari-Go' }, |
| 13 | { name: 'Atomic', desc: 'Explosive captures' }, |
| 14 | { name: 'Avalam', desc: 'Build towers' }, |
| 15 | { name: 'Avalanche', desc: 'Pawnfalls' }, |
| 16 | { name: 'Ball', desc: 'Score a goal' }, |
| 17 | { name: 'Balaklava', desc: 'Meet the Mammoth' }, |
| 18 | { name: 'Bario', desc: 'A quantum story' }, |
| 19 | { name: 'Baroque', desc: 'Exotic captures' },*/ |
| 20 | { name: "Benedict", desc: "Change colors" }, |
| 21 | /* { name: 'Berolina', desc: 'Pawns move diagonally' }, |
| 22 | { name: 'Bicolour', desc: 'Harassed kings' }, |
| 23 | { name: 'Bishopawns', desc: 'Bishop versus pawns', disp: 'Bishop-Pawns' }, |
| 24 | { name: 'Brotherhood', desc: 'Friendly pieces' }, |
| 25 | { name: 'Cannibal', desc: 'Capture powers' }, |
| 26 | { name: 'Capablanca', desc: 'Capablanca Chess', disp: 'Capablanca Chess' }, |
| 27 | { name: 'Capture', desc: 'Mandatory captures' }, |
| 28 | { name: 'Castle', desc: 'Win by castling long' }, |
| 29 | { name: 'Chakart', desc: 'Capture the princess' }, |
| 30 | { name: 'Checkered', desc: 'Shared pieces' }, |
| 31 | { name: 'Checkless', desc: 'No-check mode' }, |
| 32 | */ { name: 'Chess960', disp: "Chess 960", desc: "Standard rules" }, |
| 33 | /* { name: 'Circular', desc: 'Run forward' }, |
| 34 | { name: 'Clorange', desc: 'A Clockwork Orange', disp: 'Clockwork Orange' }, |
| 35 | { name: 'Convert', desc: 'Convert enemy pieces' }, |
| 36 | { name: 'Copycat', desc: 'Borrow powers' }, |
| 37 | { name: 'Coregal', desc: 'Two royal pieces' }, |
| 38 | { name: 'Coronation', desc: 'Long live the Queen' }, |
| 39 | { name: 'Crazyhouse', desc: 'Captures reborn' }, |
| 40 | { name: 'Crossing', desc: 'Cross the river' }, |
| 41 | { name: 'Cylinder', desc: 'Neverending rows' }, |
| 42 | { name: 'Cwda', desc: 'New teams', disp: 'Different armies' }, |
| 43 | { name: 'Dark', desc: 'In the shadow' }, |
| 44 | { name: 'Diamond', desc: 'Rotating board' }, |
| 45 | { name: 'Dice', desc: 'Roll the dice' }, |
| 46 | { name: 'Discoduel', desc: 'Enter the disco', disp: 'Disco Duel' }, |
| 47 | { name: 'Dobutsu', desc: "Let's catch the Lion!" }, |
| 48 | { name: 'Doublearmy', desc: '64 pieces on the board', disp: 'Double Army' }, |
| 49 | { name: 'Doublemove', desc: 'Double moves' }, |
| 50 | { name: 'Dynamo', desc: 'Push and pull' }, |
| 51 | { name: 'Eightpieces', desc: 'Each piece is unique', disp: '8-Pieces' }, |
| 52 | { name: 'Emergo', desc: 'Stacking Checkers variant' }, |
| 53 | { name: 'Empire', desc: 'Empire versus Kingdom' }, |
| 54 | { name: 'Enpassant', desc: 'Capture en passant', disp: 'En-passant' }, |
| 55 | { name: 'Evolution', desc: 'Faster development' }, |
| 56 | { name: 'Extinction', desc: 'Capture all of a kind' }, |
| 57 | { name: 'Fanorona', desc: 'Malagasy Draughts' }, |
| 58 | { name: 'Football', desc: 'Score a goal' }, |
| 59 | { name: 'Forward', desc: 'Moving forward' }, |
| 60 | { name: 'Freecapture', desc: 'Capture both colors', disp: 'Free Capture' }, |
| 61 | { name: 'Fugue', desc: 'Baroque Music' }, |
| 62 | { name: 'Fullcavalry', desc: 'Lancers everywhere', disp: 'Full Cavalry' }, |
| 63 | { name: 'Fusion', desc: 'Fusion pieces (v1)' }, |
| 64 | { name: 'Gomoku', desc: 'Align five stones' }, |
| 65 | { name: 'Grand', desc: 'Big board' }, |
| 66 | { name: 'Grasshopper', desc: 'Long jumps over pieces' }, |
| 67 | { name: 'Gridolina', desc: 'Jump the borders' }, |
| 68 | { name: 'Hamilton', desc: 'Walk on a graph' }, |
| 69 | { name: 'Hidden', desc: 'Unidentified pieces', disp: 'Strate-Go' }, |
| 70 | { name: 'Hiddenqueen', desc: 'Queen disguised as a pawn', disp: 'Hidden Queen' }, |
| 71 | { name: 'Hoppelpoppel', desc: 'Knibis and Bisknis', disp: 'Hoppel-Poppel' }, |
| 72 | { name: 'Horde', desc: 'A pawns cloud' }, |
| 73 | { name: 'Hypnotic', desc: 'Mind control (v1)' }, |
| 74 | { name: 'Iceage', desc: 'Ice Age is coming!', disp: 'Ice Age' }, |
| 75 | { name: 'Interweave', desc: 'Interweaved colorbound teams' }, |
| 76 | { name: 'Isardam', desc: 'No paralyzed pieces' }, |
| 77 | { name: 'Janggi', desc: 'Korean Chess' }, |
| 78 | { name: 'Joker', desc: 'Replace pieces' }, |
| 79 | { name: 'Karouk', desc: 'Thai Chess (v3)', disp: 'Kar-Ouk' }, |
| 80 | { name: 'Kinglet', desc: 'Protect your pawns' }, |
| 81 | { name: 'Kingsmaker', desc: 'Promote into kings' }, |
| 82 | { name: 'Knightmate', desc: 'Mate the knight' }, |
| 83 | { name: 'Knightpawns', desc: 'Knight versus pawns', disp: 'Knight-Pawns' }, |
| 84 | { name: 'Knightrelay', desc: 'Move like a knight' }, |
| 85 | { name: 'Konane', desc: 'Hawaiian Checkers' }, |
| 86 | { name: 'Koopa', desc: 'Stun & kick pieces' }, |
| 87 | { name: 'Koth', desc: 'King of the Hill', disp:'King of the Hill' }, |
| 88 | { name: 'Losers', desc: 'Get strong at self-mate' }, |
| 89 | { name: 'Madhouse', desc: 'Rearrange enemy pieces' }, |
| 90 | { name: 'Madrasi', desc: 'Paralyzed pieces' }, |
| 91 | { name: 'Magnetic', desc: 'Laws of attraction' }, |
| 92 | { name: 'Maharajah', desc: 'Augmented Queens' }, |
| 93 | { name: 'Makpong', desc: 'Thai Chess (v2)' }, |
| 94 | { name: 'Makruk', desc: 'Thai Chess (v1)' }, |
| 95 | { name: 'Maxima', desc: 'Occupy the enemy palace' }, |
| 96 | { name: 'Mesmer', desc: 'Mind control (v2)' }, |
| 97 | { name: 'Minishogi', desc: 'Shogi 5 x 5' }, |
| 98 | { name: 'Minixiangqi', desc: 'Xiangqi 7 x 7' }, |
| 99 | { name: 'Monocolor', desc: 'All of the same color' }, |
| 100 | { name: 'Monster', desc: 'White move twice' }, |
| 101 | { name: 'Musketeer', desc: 'New fairy pieces' }, |
| 102 | { name: 'Newzealand', desc: 'Kniros and Rosknis', disp: 'New-Zealand' }, |
| 103 | { name: 'Omega', desc: 'A wizard in the corner' }, |
| 104 | { name: 'Orda', desc: 'Mongolian Horde (v1)' }, |
| 105 | { name: 'Ordamirror', desc: 'Mongolian Horde (v2)', disp: 'Orda Mirror' }, |
| 106 | { name: 'Otage', desc: 'Capture and release hostages' }, |
| 107 | { name: 'Pacifist', desc: 'Convert & support' }, |
| 108 | { name: 'Pacosako', desc: 'Dance with the King', disp: 'Paco-Sako' }, |
| 109 | { name: 'Pandemonium', desc: 'Noise and confusion' }, |
| 110 | { name: 'Parachute', desc: 'Landing on the board' }, |
| 111 | { name: 'Pawnmassacre', desc: 'Pieces upside down', disp: 'Pawn Massacre' }, |
| 112 | { name: 'Pawns', desc: 'Reach the last rank (v1)' }, |
| 113 | { name: 'Pawnsking', desc: 'Reach the last rank (v2)', disp: 'Pawns & King' }, |
| 114 | { name: 'Perfect', desc: 'Powerful pieces' }, |
| 115 | { name: 'Pocketknight', desc: 'Knight in pocket', disp: 'Pocket Knight' }, |
| 116 | { name: 'Progressive', desc: 'Play more and more moves' }, |
| 117 | { name: 'Queenpawns', desc: 'Queen versus pawns', disp: 'Queen-Pawns' }, |
| 118 | { name: 'Racingkings', desc: 'Kings cross the 8x8 board', disp: 'Racing Kings' }, |
| 119 | { name: 'Rampage', desc: 'Move under cover' }, |
| 120 | { name: 'Relayup', desc: 'Upgrade pieces', disp: 'Relay-up' }, |
| 121 | { name: 'Rifle', desc: 'Shoot pieces' }, |
| 122 | { name: 'Recycle', desc: 'Reuse pieces' }, |
| 123 | { name: 'Refusal', desc: 'Do not play that!' }, |
| 124 | { name: 'Rollerball', desc: 'As in the movie' }, |
| 125 | { name: 'Rococo', desc: 'Capture on the edge' }, |
| 126 | { name: 'Rookpawns', desc: 'Rook versus pawns', disp: 'Rook-Pawns' }, |
| 127 | { name: 'Royalrace', desc: 'Kings cross the 11x11 board', disp: 'Royal Race' }, |
| 128 | { name: 'Rugby', desc: 'Transform an essay' }, |
| 129 | { name: 'Schess', desc: 'Seirawan-Harper Chess', disp: 'Seirawan-Harper Chess' }, |
| 130 | { name: 'Screen', desc: 'Free initial setup' }, |
| 131 | { name: 'Selfabsorb', desc: 'Fusion pieces (v2)', disp: 'Self-Absorption' }, |
| 132 | { name: 'Shako', desc: 'Non-conformism and utopia' }, |
| 133 | { name: 'Shatranj', desc: 'Ancient rules' }, |
| 134 | { name: 'Shinobi', desc: 'A story of invasion' }, |
| 135 | { name: 'Shogi', desc: 'Japanese Chess' }, |
| 136 | { name: 'Shogun', desc: "General's Chess" }, |
| 137 | { name: 'Sittuyin', desc: 'Burmese Chess' }, |
| 138 | { name: 'Spartan', desc: 'Spartan versus Persians' }, |
| 139 | { name: 'Squatter', desc: 'Squat last rank' }, |
| 140 | { name: 'Stealthbomb', desc: 'Beware the bomb', disp: 'Stealth Bomb' }, |
| 141 | { name: 'Suicide', desc: 'Lose all pieces' }, |
| 142 | { name: 'Suction', desc: 'Attract opposite king' }, |
| 143 | { name: 'Swap', desc: 'Dangerous captures' }, |
| 144 | { name: 'Switching', desc: "Exchange pieces' positions" }, |
| 145 | { name: 'Synchrone', desc: 'Play at the same time' }, |
| 146 | { name: 'Synochess', desc: 'Dynasty versus Kingdom' }, |
| 147 | { name: 'Takenmake', desc: 'Prolongated captures', disp: 'Take and make' }, |
| 148 | { name: 'Teleport', desc: 'Reposition pieces' }, |
| 149 | { name: 'Tencubed', desc: 'Four new pieces' }, |
| 150 | { name: 'Threechecks', desc: 'Give three checks', disp: 'Three Checks' }, |
| 151 | { name: 'Titan', desc: 'Extra bishops and knights' }, |
| 152 | { name: 'Twokings', desc: 'Two kings', disp: 'Two Kings' }, |
| 153 | { name: 'Upsidedown', desc: 'Board upside down', disp: 'Upside-down' }, |
| 154 | { name: 'Vchess', desc: 'Pawns capture backward', disp: 'Victor Chess' }, |
| 155 | { name: 'Wildebeest', desc: 'Balanced sliders & leapers' }, |
| 156 | { name: 'Wormhole', desc: 'Squares disappear' }, |
| 157 | { name: 'Xiangqi', desc: 'Chinese Chess' }, |
| 158 | { name: 'Yote', desc: 'African Draughts' },*/ |
| 159 | { name: "Zen", disp: "Zen Chess", desc: "Reverse captures" } |
| 160 | ]; |
| 161 | |
| 162 | // Next line for usage on server (Node.js) |
| 163 | if (typeof window === 'undefined') module.exports = variants; |