The rule that a Pawn dropped on 2nd rank regains his double push makes it a case of location-dependent moving, rather than an initial move. Position-dependent moving is not directly supported by the Interactive Diagram, but if can be emulated through automatic promotion: define multiple piece types for the piece with the variable move (all using the same symbol), and automatically 'promote' any of these types to the type that has the move belonging to the square they land on. This can be done by a user-supplied JavaScript function WeirdPromotion(). I did that in the Diagram I recently made for The Consuls.
In this case you would need two Pawn types, where only type 2 has the double push (and only type 1 promotes according to the normal mechanism on reaching the zone). Type 2 would always change into type 1 when it moves; both types would change into type 1 or 2 when they are dropped, depending on where they are dropped.
To make the promotion choice dependent on other pieces present on the board is problematic. The function WeirdPromotion() can also be used to veto promotions that would otherwise be possible. But the Diagram currently doesn't keep track of how many pieces of each type there are on the board. So it would have to scan the entire board to detect whether the proposed promotion piece is already there. This is possible, but would slow down the AI a lot. (But the AI currently cannoot handle games with drops anyway, so perhaps this is not a problem.)
The rule that a Pawn dropped on 2nd rank regains his double push makes it a case of location-dependent moving, rather than an initial move. Position-dependent moving is not directly supported by the Interactive Diagram, but if can be emulated through automatic promotion: define multiple piece types for the piece with the variable move (all using the same symbol), and automatically 'promote' any of these types to the type that has the move belonging to the square they land on. This can be done by a user-supplied JavaScript function WeirdPromotion(). I did that in the Diagram I recently made for The Consuls.
In this case you would need two Pawn types, where only type 2 has the double push (and only type 1 promotes according to the normal mechanism on reaching the zone). Type 2 would always change into type 1 when it moves; both types would change into type 1 or 2 when they are dropped, depending on where they are dropped.
To make the promotion choice dependent on other pieces present on the board is problematic. The function WeirdPromotion() can also be used to veto promotions that would otherwise be possible. But the Diagram currently doesn't keep track of how many pieces of each type there are on the board. So it would have to scan the entire board to detect whether the proposed promotion piece is already there. This is possible, but would slow down the AI a lot. (But the AI currently cannoot handle games with drops anyway, so perhaps this is not a problem.)