Sub-ticket of #42501. Sciencebox editing is handled separately in #42502. Player server API should be extended with:
bool :rename(string new_plr_name)
bool :set_nation(Nation_Type nation)
bool :gov_change(Gov_Type government, int revolen = -1) -- edithand.c behaviour: normal govs are set immediately, gov during revolution starts untargeted revolution to anarchy with the default turns, if it is not allowed, it sends a notice to the player
Server Gov_Type API must have int .changed_to property to control revolution length properly. Probably it should have also :revolution_length(Player revolter) method to get the default length (uses RNG in certain modes).
Common API should include Gov_Type game.government_during_revolution ruleset constant. Maybe we also need a constant enum for pretty checking of revolen mode option. Also, let's add here int (Player).age since it is shown in the form.
Sub-ticket of #42501. Sciencebox editing is handled separately in #42502. Player server API should be extended with:
Server Gov_Type API must have int .changed_to property to control revolution length properly. Probably it should have also :revolution_length(Player revolter) method to get the default length (uses RNG in certain modes).
Common API should include Gov_Type game.government_during_revolution ruleset constant. Maybe we also need a constant enum for pretty checking of revolen mode option. Also, let's add here int (Player).age since it is shown in the form.