Modding New Policies
Policies are basically just a line in a spreadsheet. In this case that spreadsheet is in \program files\democracy 4\data\simulation\policies.csv, and each row that starts with a '#' in the first column becomes a policy that gets loaded into the game. The key to adding policies is to understand what all those columns do, so here is a breakdown of each one, and what it means. I'm using the titles for each column taken from the very first row to describe them...
The Name is the word or words used to reference this object internaly within the game by other objects. This is never shown in the game.
if set to 'default' then the slider for this policy has no specific features. If set to a name, this name is used inside 'sliders.csv' to select a bunch of names for the different slider positions, and optionally to 'clamp' them to a series of fixed options.
Can be blank, or one of a number of presets. UNCANCELLABLE means the cancel button is greyed out and the policy is always implemented at 0.5 strength unless specified at a different level. MULTIPLYINCOME means that when determining the amount of income generated by the policy, the various inputs to the income get multipleid rather than added (see below).
Comma-separated list of the names of policies that conflict with this one. They should also list this policy in their opposites. This ensures that any conflicting policies are automatically cancelled when this one is implemented.
This is the amount of political capital required to introduce this as a new policy, cancel it, and raise or lower the current slider level once it's implemented.
Decides which 'zone' on the screen the icon for this policy will appear in, which category on the new policies screen it will be listed under, and also which cabinet minister will be in charge of the policy, and thus affect the efficiency with which it is implemented.
Values that *must* be true if this policy is to be available to the player. This can be any entry found in the file \democracy 4\data\simulation\prereqs.txt
These show the cost of the policy per turn at a levekl of 0 on the slider and at maximum on the slider. This is a fixed value, which then gets multiplied by a set multiplier for each country (specified within the country file) and then adjusted for ministerial competence to get an actual cost for this policy (This is then adjusted by the next column...)
The equation determining how costs are calculated, at a base level. Best to leave this at 0+(1.0*x) to get a nice smooth linear increase in cost as the slider goes from 0 to 1
A series of inputs, separated by colons, which determine how we get a 'cost multiplier' for the policy, which is a value by which the final cost of the policy is multiplied. Each entry in the list is either _default_ and a set value or it's an actual effect, as specified here.
How many turns it will take for this policy to be fully implemented (or cancelled). This will be adjusted in practice for the competence of the minister in charge of this policy.
Same as MinCost,MaxCost but for income
The equation determining how income is calculated, at a base level. Best to leave this at 0+(1.0*x) to get a nice smooth linear increase in income as the slider goes from 0 to 1
Exactly the same as Cost Multiplier, except the flag MULTIPLYINCOME under flags can convert this to be a value where the inputs are multiplied together rather than added.
nationalisation GDP percentage
The value to the player as a percentage of current GDP, credited to the players funds if this policy is cancelled leading to a privatisation, or vice versa during a nationalisation.
This special column marks the start of the effects list (one in each cell) for this policy. These are all 'outputs' from this policy to other items, probably voter groups, situations and simulation values/statistics.
Copyright Positech Games 2020