As an example of how you can handle non-displacement captures, I have been working on a new preset for Ultima today. I'm writing *_MOVE and *_CHECK functions as separate functions, and I'm using the main function for a piece to call the appropriate function depending on the value of #movetype.
If you use your functions for actual moves, as I have been doing so far, you should set movetype to MOVE in your Pre-Game code. This will give it a default value when you're not in checked or stalemated.
I have already written code for the Withdrawer, and you might be able to figure out how to make its capture optional.
As an example of how you can handle non-displacement captures, I have been working on a new preset for Ultima today. I'm writing
*_MOVE
and*_CHECK
functions as separate functions, and I'm using the main function for a piece to call the appropriate function depending on the value of#movetype
.If you use your functions for actual moves, as I have been doing so far, you should set
movetype
toMOVE
in your Pre-Game code. This will give it a default value when you're not inchecked
orstalemated
.I have already written code for the Withdrawer, and you might be able to figure out how to make its capture optional.