- const tr = (piece != "p" ? { c: color, p: piece } : null);
- moves.push(this.getBasicMove([x1, y1], [x2, y2], tr));
+ const tr = !this.options["pawnfall"] && piece != "p"
+ ? { c: color, p: piece }
+ : null;
+ let newMove = this.getBasicMove([x1, y1], [x2, y2], tr);
+ if (promotionOk && this.options["pawnfall"]) {
+ newMove.appear.shift();
+ newMove.pawnfall = true; //required in prePlay()
+ }
+ moves.push(newMove);