- if (this.promoted[move.end.x][move.end.y])
- {
- move.capturePromoted = true; //required for undo
- this.reserve[color][VariantRules.PAWN]++;
- this.promoted[move.end.x][move.end.y] = false;
- }
- else
- this.reserve[color][move.vanish[1].p]++;
- if (this.promoted[move.start.x][move.start.y])
- {
- this.promoted[move.start.x][move.start.y] = false;
- this.promoted[move.end.x][move.end.y] = true;
- }
- else if (move.vanish[0].p == V.PAWN && move.appear[0].p != V.PAWN)
- this.promoted[move.end.x][move.end.y] = true;