X-Git-Url: https://git.auder.net/?p=xogo.git;a=blobdiff_plain;f=base_rules.js;h=4627eb78e34aef0a152fc7009ae67fc644cb0cdf;hp=2d08bd614d0123a7c69a05475606696dd80e87c3;hb=0e466aac11288f35b34d744b2652c7b4e9df2e24;hpb=518bfb7a260f95e282f763878c2e9cf5ba58ef86 diff --git a/base_rules.js b/base_rules.js index 2d08bd6..4627eb7 100644 --- a/base_rules.js +++ b/base_rules.js @@ -1341,7 +1341,13 @@ export default class ChessRules { } getStepSpec(color, x, y, piece) { - return this.pieces(color, x, y)[piece || this.getPieceType(x, y)]; + let pieceType = piece; + const allSpecs = this.pieces(color, x, y); + if (!piece) + pieceType = this.getPieceType(x, y); + else if (allSpecs[piece].moveas) + pieceType = allSpecs[piece].moveas; + return allSpecs[pieceType]; } // Can thing on square1 capture thing on square2?