I have pushed basic great people mechanism. It is very simple and rather hacky. Hacky, because I decided to use unit types to create great person definition. Unit type for great person should be unbuildable and in game it's an singleton. Only one great person per game may be created (so unit type is something like singleton). And one think. To declare type for great person, you must add field to unit type, which specify great person type.
Default ruleset supports only two great person: Sławomir Lach (great politic) and Lord Void (great general). Game supports only four type of great person:
- Great politic
- Great general
- Great scientist
- Great engineer
Maybe in future I will allow moders to define great person type by editing ruleset, so they can create a great prophet type for example. Another type is great warrior or hero (unit without special actions, but with great attack/defense values).
Currently, there's no action/orders introduced for use with great person. I propose actions for great politic:
- Change government (allows to change government in one turn without cost)
- Social science boost (adds many points to social science points)
I propose also an action for great general:
- Military science boost
I asks you for adds proposition for your own actions/orders.
I must also tell you, that the game uses XDG_USER_DIR variable in place of HOME. To make game work in non-flatpak environment, you should change "XDG_DATA_DIR" into "HOME" in utility/shared.c. Maybe somebody know how correct handle both case (game is compiled against flatpak or against GNU/Linux)?