The secret is the order of the pieces in the ID (and thus the piece table): the Prince comes first there, the Pawn second. So as far as the ID is concerned, the Prince is the only piece that promotes here (since maxPromote=1), and makes use of the promoChoice=QF when it does. The F is there because you have the choice to promote to Queen, or stay a Prince.
The promotions of Pawn and Ship don't involve any choice, and are taken care of by a JavaScript function WeirdPromotion() embedded in the page. The modern way of doing this would be to use morph parameters behind the definition lines of Pawn and Ship, to indicate their automatic promotions without the need for any scripting. Below the Pawn you could write the line
morph=Q
to indicate promotion to Q on the entire last rank. Below the Ship you would write
morph=E.........E
to indicate promotion to Eagle in de corner squares.
There also was a JavaScript function BadZone() embedded in the page, which took care of forbidding the friendly capture of the King to capturing a Prince. This to allow such a capture as a means for entering a succession move. The modern way of doing that would be to define a captureMatrix that forbids all other friendly captures. Like
The secret is the order of the pieces in the ID (and thus the piece table): the Prince comes first there, the Pawn second. So as far as the ID is concerned, the Prince is the only piece that promotes here (since maxPromote=1), and makes use of the promoChoice=QF when it does. The F is there because you have the choice to promote to Queen, or stay a Prince.
The promotions of Pawn and Ship don't involve any choice, and are taken care of by a JavaScript function WeirdPromotion() embedded in the page. The modern way of doing this would be to use morph parameters behind the definition lines of Pawn and Ship, to indicate their automatic promotions without the need for any scripting. Below the Pawn you could write the line
morph=Q
to indicate promotion to Q on the entire last rank. Below the Ship you would write
morph=E.........E
to indicate promotion to Eagle in de corner squares.
There also was a JavaScript function BadZone() embedded in the page, which took care of forbidding the friendly capture of the King to capturing a Prince. This to allow such a capture as a means for entering a succession move. The modern way of doing that would be to define a captureMatrix that forbids all other friendly captures. Like
captureMatrix=///////////=..!11