Defines
Defines are variables used by the engine. They regulate basic game behaviors and settings that are not opened to scripting (estate thresholds, camera field-of-view, etc.).
Defines are static and global: they apply to the whole game and cannot be changed dynamically.
Base game values are configured in the folder /Europa Universalis V/game/loading_screen/common/defines/, primarily in 00_defines.txt.
Each of the lists on this represents a section of the defines; in the defines files, these sections are all prefixed with N, for example NCountry.
Define modding[edit | edit source]
Defines can be modified individually or in batches without overwriting an entire defines file. This better preserves compatibility and makes it easier to keep up with changes in future patches.
To modify a define, create a new file in <mod>/loading_screen/common/defines/ that loads after the base game files such as 01_mod_defines.txt. In that file, add a block for each set of defines to be modified and include the modified defines in those blocks, for example
NCountry = {
COUNTRIES_GETTING_SCORE = 12 # Base game 8; number of top countries that gain score
}
NDiplomacy = {
CALL_FOR_PEACE_THRESHOLD_MONTHS = 120 # Base game 60
}
In the case of multiple mods modifying the same define, the mod with the last loaded filename determines the final value of the define.
List of defines[edit | edit source]
Sections are ordered alphabetically, rather than by their position in the file. Many of these are defined in 00_defines.txt with most graphic related defines in /graphic/00_graphics.txt or the files in /jomini/
AI[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| USE_REGULARS_IN_WAR_WEIGHT_MULT | 10 | |
| USE_LEVIES_IN_WAR_WEIGHT_MULT | 5 | |
| USE_MERCENARIES_IN_WAR_WEIGHT_MULT | 1 | |
| AI_HEAVY_DEBT_THRESHOLD | 0.75 | if total debt is >% of max debt |
| FOG_OF_WAR_FORGET_CHANCE | 1 | Chance of AI forgetting a unit in FoW. |
| OFFER_MINIMUM_MONTHS | 18 | Minimum months until AI may resend a similar offer to a human country. |
| PEACE_STALLED_WAR_THRESHOLD | 3 | |
| PEACE_KNAPSACK_EXTRAS | 0 | Number of times knapsack algo is run by default with (different) pre-selected treaties |
| PEACE_KNAPSACK_EXTRAS_MAX | 3 | absolute max number of tries it will do if it can't find anything that works |
| WAR_ALLY_DISTANCE_BASE | 200 | |
| WAR_BALANCE_MANPOWER_IMPORTANCE | 0.5 | |
| WAR_BALANCE_LEVIES_IMPORTANCE | 1 | |
| WAR_BALANCE_REGULARS_IMPORTANCE | 2 | |
| WAR_BALANCE_SAILORS_IMPORTANCE | 1 | |
| WAR_BALANCE_LEVY_BOATS_IMPORTANCE | 10 | |
| WAR_BALANCE_TAXBASE_IMPORTANCE | 0.05 | |
| WAR_WIN_CHANCE_SENSITIVITY | 4 | |
| MARKET_FLIPPING_IMPORTANCE | 0.1 | |
| LOCATION_CITY_RELIGION_PERCENTAGE_FACTOR | 2 | |
| LOCATION_RELIGION_PERCENTAGE_FACTOR | 5 | utility of having your entire country be your primary religion |
| AI_UTILITY_PER_CAPITA_THRESHOLD | 0.25 | when a location has less than this amount of available peasants start favouring utility per capita |
| AI_UTILITY_PER_CAPITA_BASE_EMPLOYMENT | 0.3 | employment number to normalize against, employing more is penalized and employing less is encouraged |
| AI_CULTURE_CONVERSION_UTIL | 0.5 | score when converting pops in our cores |
| AI_CULTURE_CONVERSION_CORE_FACTOR | 5 | AI score for promoting primary culture to make a location into a core, normalized by tax base of location |
| AI_GLOBAL_ASSIMILATION_SPEED_UTIL | 0.25 | modifier score multiplied by inverse accepted culture ratio |
| AI_GLOBAL_ASSIMILATION_SPEED_MODIFIER_UTIL | 0.25 | modifier score multiplied by inverse accepted culture ratio |
| AI_INTEGRATION_IMPORTANCE_MULT | 0.5 | overall importance of integrating provinces |
| AI_INTEGRATION_ACCEPTED_CULTURE_MULT | 1 | bonus multiplier of importance for locations of accepted culture |
| AI_INTEGRATION_POPULATION_SHARE_MULT | 2.5 | importance factor of the population for integration |
| AI_INTEGRATION_TAXBASE_SHARE_MULT | 1.5 | importance factor of the taxbase for integration |
| UNBALANCED_FAVORS_ACCEPTANCE_MULT | 200 | |
| AFFORDABLE_LOAN_COST_FRACTION | 0.2 | |
| COLONY_OWNED_AREA_UTILITY_MODIFIER | -100 | negative if others owns.. |
| MONTHLY_MIGRATION_UTILITY_MODIFIER | 10 | |
| MORE_COLONIES_UTILITY_MODIFIER | 0.75 | |
| AI_BASE_COLONY_UTILITY | 3 | AI base desire to create colonial charters |
| AI_COLONIAL_RANGE_UTILITY | 2e-05 | how much non landlocked countries care about colonial range modifier |
| AI_GREAT_POWER_COLONIAL_RANGE_UTILITY | 0.0002 | how much non landlocked great powers care about colonial range modifier |
| AI_COLONIAL_MIGRATION_SPEED_UTILITY | 0.05 | utility per colonial charter |
| AI_COLONY_COMPETING_CHARTER_UTILITY_PENALTY | 0.25 | Utility penalty when creating a charter for each other ongoing charter |
| COLONY_GOODS_PRICE_UTILITY_MODIFIER | 0.1 | Utility based on the cost of the RGO multiplied by the population when creating new colonies |
| COLONY_LOCATION_POPULATION_UTILITY_MODIFIER | 0.02 | Utility based on the population when creating new colonies (if < thresold) |
| COLONY_LOCATION_POPULATION_PENALTY_MODIFIER | -0.01 | Utility based on the population when creating new colonies (if > thresold) |
| COLONY_NEIGHBORING_UTILITY_BONUS | 10 | additive bonus to colonize neighboring land |
| COLONY_NEIGHBORING_CHARTER_UTILITY_BONUS | 5 | additive bonus to colonize neighboring charter |
| COLONY_REGION_COMPLETION_UTILITY_BONUS | 5 | multiplicative bonus from ratio of locations we own (or vassals) in the region which we colonize |
| COLONY_POP_THRESHOLD | 20 | |
| AI_MARKET_LOW_FOOD_THRESHOLD | 0.5 | when market food stockpile reaches this level AI will improve food production if food balance is negative |
| AI_MARKET_CRITICAL_FOOD_THRESHOLD | 0.1 | when market food stockpile reaches this level AI will improve food production even if food balance is positive |
| AI_PROVINCE_FOOD_STOCKPILE_UTILITY | 0.1 | utility for province food stockpile modifier, upper limit based on total province food consumption change |
| AI_RGO_SIZE_PRICE_UTIL | 0.02 | utility for RGO size modifier based on price of the location RGO, multiplied further by the goods ai_rgo_size_importance |
| AI_MAXIMUM_EXPECT_TOWN_RATIO | 0.33 | when evaluating RGO vs town efficiency modifier we consider this town Ratio as "100% urbanized" |
| AI_TOWN_RATIO_PRODUCTION_EFFICIENCY_UTIL | 2 | global building efficiency modifier based on ratio of locations that are towns |
| AI_RGO_PRODUCTION_EFFICIENCY_UTIL | 2 | global RGO efficiency modifier util from inverse ratio of locations that are towns |
| AI_UPGRADE_CITY_POPULATION_UTILITY | 8 | utility based on number of pops in location |
| AI_UPGRADE_CITY_COASTAL_POPULATION_UTILITY | 2 | utility from pops on coastal location |
| AI_UPGRADE_CITY_PROVINCE_POPULATION_UTILITY | 0.2 | utility based on total pops in province |
Next 3 defines is to tell AI to build more coastal cities when they don't have any sailors, only active when we don't have any ongoing city construction only active if province doesnt have any city/town already | ||
| AI_UPGRADE_CITY_LOW_MONTHLY_SAILORS_THRESHOLD | 0.01 | less than 1% of total sailors gained per month |
| AI_UPGRADE_CITY_LOW_CURRENT_SAILORS_THRESHOLD | 0.2 | have less than 20% of maximum sailors |
| AI_UPGRADE_CITY_LOW_SAILORS_UTILITY | 0.025 | how strong the incentive is to build more costal cities when both above requirements are met |
| AI_ONGOING_CITY_UPGRADE_MULT | 0.5 | multiplicative score factor for each ongoing city upgrade |
| AI_MIN_ALLOWED_URBANIZE_FOOD_LOCATION_RATIO | 0.2 | minimum ratio of food locations that is allowed to be cities based on market average market food yield |
| AI_MAX_ALLOWED_URBANIZE_FOOD_LOCATION_RATIO | 0.8 | maximum ratio of food locations that is allowed to be cities based on market average market food yield |
| AI_AVERAGE_MARKET_FOOD_FOR_MAX_FOOD_URBANIZATION | 5 | AI_MAX_ALLOWED_URBANIZE_FOOD_LOCATION is reached when average location in market has this base food output of their rgo |
| PROFITABLE_EXPORT_GOODS_UTILITY_FACTOR | 0.5 | How much AI factors in that a building is producing a profitable export good that has no surplus when building new buildings |
| PROFITABLE_EXPORT_GOODS_REDUCE_PRICE_UTILITY_FACTOR | 0.05 | Same as above but when we have surplus, this is AI working to lower price of their exports to make them more profitable |
| CONSTRUCTION_GOODS_SHORTAGE_UTILITY_FACTOR | 0.66 | How much AI factors in that a building is producing a goods that is in shortage for construction |
| CONSTRUCTION_GOODS_SHORTAGE_MAX_UTILITY_FACTOR | 2 | Maximum extra utility for building something that produces a construction good with shortage |
| CONSTRUCTION_GOODS_OVERPRICED_UTILITY_FACTOR | 3 | multiplied on price ratio above 50% of default |
| POP_MISSING_GOODS_UTILITY_FACTOR | 0.02 | Extra utility for building a resource that pop currently are missing for their demands |
| MISSING_MILITARY_GOODS_UTILITY_FACTOR | 0.015 | Extra utility for producing a resource needed to build the best type of regiment that is not in stockpile in capital market |
| FOOD_NEGATIVE_IN_PROV_UTILITY | 0.1 | |
| AI_ALLOWED_FORT_BUDGET | 0.1 | % of income allowed fort maintenance, normalized to full slider value |
| AI_ALLOWED_BUILDING_MAINTENANCE | 0.25 | % of income allowed for building maintenance excluding forts, only used to close or reopen buildings during crisis |
| AI_STEAL_MERCHANT_CAPACITY_PROFIT_MARGIN | 1.25 | AI will remove merchant capacity from low profit and move it to high profit if its this much more profitable |
| AI_STEAL_MERCHANT_CAPACITY_RATIO | 0.1 | How much in % that AI can move their trade capacity from low to high profit per month |
| AI_MINIMUM_TRADE_SIZE | 0.5 | AI will avoid to make trades smaller than this whenever possible |
| ADJUST_TRADE_ROUTE_CHANCE | 0.5 | Chance AI will act on any given trade opportunity (sorted by profitability) lower chance reduces likelihood of all AI jumping on the same profitable trade |
| AI_IMPORT_POP_NEED_SCORE_BONUS | 3 | bonus score for AI to import goods that are in shortage for pop needs |
| AI_IMPORT_INSTITUTION_SCORE_BONUS | 2 | bonus score for AI to import from a market that has an institution that we dont |
| AI_LONG_TERM_DISCOUNT_FACTOR | 0.9988 | AI long term utility planing, used for evaluating long term modifiers such as estate privileges: 1 - (1 / 75*12) 75 years lookahead |
| AI_DEVELOPMENT_UTILITY | 0.1 | Utility bonus from development as it has so many modifiers that are hard to calculate |
These two defines adjust AI desire to maintain a profit margin for their country | ||
| AI_PROFIT_MARGIN_TARGET | 0.25 | the desired profit margin |
| AI_GOLD_COST_UTIL_FROM_LOW_PROFIT_MARGIN | 3 | how hard the AI tries to maintain that margin |
| AI_EARLY_GAME_MONTHS | 36 | during these first months AI will focus more on building up their initial economy by disabling some other things like unit recruitment |
| PEASANT_BUILDING_IN_CITY_UTILITY_MULT | 0.5 | penalty for building peasant building in city that could be built in rural |
| AI_UPGRADE_BUILDING_UTILITY | 0.001 | score from upgrading buildings, becomes relevant when new building choices run out due to lack of pops |
| INPUT_GOODS_SHORTAGE_UTILITY_FACTOR | 0.02 | |
| SELL_PROVINCE_DEBT_CAP | 2 | Max bonus from being in debt, in percentage |
| SELL_PROVINCE_DEBT_CASH_CAP | 2 | Multiplied with the Total Debt and cap the bonus from cash, in percentage |
| AI_PROFITABILITY_THRESHOLD_FOR_MISSING_GOODS_UTIL | 1.15 | Must be at least 15% profitable to build it in order to solve input issues for other buildings, safe guard against it closing |
| AI_ESTATE_PROFIT_UTILITY_FACTOR | 0.5 | AI utility score for enriching estates based on income from tax rates being lower than 35% |
| AI_UTILITY_MARGIN_REQUIRED_TO_REOPEN_BUILDING | 0.2 | AI needs at least this much utility to reopen a closed building |
| AI_CHANCE_TO_REOPEN_PROFITABLE_BUILDING | 0.25 | chance to reopen a building each month if it meets the profit requirements |
These two defines below determine AI performance optimizations for extremely large markets Example: AI market with 500 locations that are all desert, we try to evaluate if we can build a fishing village in at least the minimum target, up to the maximum of the ratio of they market. A small market will look everywhere, a huge market will only try 10% and then give up. Next month they will try a different 10% of the market anyway. | ||
| AI_PERFORMANCE_EVALUATE_MARKET_RATIO_PER_BUILDING | 0.042 | 1/24, check all locations against all buildings at least bi yearly |
| AI_PERFORMANCE_EVALUATE_MARKET_MINIMUM_PER_BUILDING | 20 | Check at least 20 different locations before giving up on a building |
| AI_PERFORMANCE_EVALUATE_CITY_UPGRADES_MINIMUM | 20 | Upgrade (1/56) of all locations or minimum 100 whichever is largest |
| AI_PERFORMANCE_EVALUATE_CITY_UPGRADES_RATIO | 0.017 | 1/56, check all locations once per 5 years if they should upgrade city |
| AI_ALLOWED_PARALLEL_SAME_TYPE_CONSTRUCTION_RATIO | 0.02 | allowed to build the same type of building in 2% of our locations in parallel |
| AI_ALLOWED_PARALLEL_SAME_TYPE_CONSTRUCTION_MINIMUM | 3 | minimum allowed of parallel construction of the same type of building |
| AI_ALLOWED_PARALLEL_TOTAL_CONSTRUCTION_RATIO | 0.05 | Allowed to start new constructions in 5% of our locations each monthly tick |
| AI_PERFORMANCE_UTILITY_LOCATIONS_TO_SAMPLE | 20 | Maximum number of sample locations for AI modifier utility for performance costly modifiers |
| AI_PERFORMANCE_CABINET_ACTION_LOCATION_SAMPLE_SIZE | 20 | Maximum number of sample locations for AI cabinet actions |
| AI_PERFORMANCE_CABINET_ACTION_PROVINCE_SAMPLE_SIZE | 5 | Maximum number of sample provinces for AI cabinet actions |
| AI_PERFORMANCE_CABINET_ACTION_AREA_SAMPLE_SIZE | 1 | Maximum number of sample areas for AI cabinet actions |
| AI_PERFORMANCE_CABINET_ACTION_MONTHS_BETWEEN_UPDATES | 36 | Number of months between each AI update to change cabinet actions |
| AI_PERFORMANCE_REFORMS_MONTHS_BETWEEN_UPDATES | 24 | Number of months between each AI update to change government reforms |
| AI_PERFORMANCE_POLICIES_MONTHS_BETWEEN_UPDATES | 6 | Number of months between each AI update to change policies of laws |
| AI_PERFORMANCE_ESTATE_PRIVILEGES_MONTHS_BETWEEN_UPDATES | 12 | Number of months between each AI update to change estate privileges |
| AI_PERFORMANCE_ESTATE_PRIVILEGES_UNUSED_TAX_MONTHS_BETWEEN_UPDATES | 2 | Number of months between each AI update to change estate privileges |
| AI_PERFORMANCE_SCHOLARS_MONTHS_BETWEEN_UPDATES | 6 | Number of months between each AI update to change religion scholars |
| AI_PERFORMANCE_TRADE_PROFIT_PER_WEIGHT_CUTOFF | 0.5 | If expected profit from a trade route is less than this amount per merchant capacity used we skip it |
| AI_PERFORMANCE_PATHFIND_DISTANCE_THRESHOLD | 100 | distance threshold for less accurate pathfind to save performance for ai, smaller threshold saves more performance |
| AI_NAVAL_PERFORMANCE_PATHFIND_DISTANCE_THRESHOLD | 2500 | same as above but for navies; Naval threshold higher as it causes ships to incorrectly sail against the wind accross the atlantic otherwise |
| AI_PERFORMANCE_NODE_LIMIT_PER_DISTANCE | 4 | AI allowed pathfind node depth based on map distance |
| AI_PERFORMANCE_NAVAL_NODE_LIMIT_PER_DISTANCE | 3 | AI allowed pathfind node depth based on map distance for naval |
| AI_PERFORMANCE_NODE_LIMIT_BASE | 100 | each pathfind is allowed at least this many node expansions |
| CHANGE_RELIGION_THRESHOLD | 1.25 | New religion must be >25% bigger |
| AI_PERFORMANCE_ATTACH_UNIT_MAX_DISTANCE | 200 | maximum distance AI allied units are allowed to travel to attach, shorter number saves more performance on pathfinding |
| AI_PERFORMANCE_TRADE_ATTEMPT_PER_GOOD | 5 | number of attempts AI will do per good per market when looking for profitable import/exports before giving up |
| AI_PERFORMANCE_SAMPLE_SIZE | 3 | cutting down on colonial charter tests |
| AI_PERFORMANCE_TECH_QUEUE_SIZE | 5 | how many techs AI queue at once, higher number is better performance but makes AI slower to react to changes |
| AI_ESTATE_SATISFACTION_TAX_TARGET | 0.5 | AI will adjust tax sliders to have this minimum estate satisfaction |
| AI_REVOKE_PRIVILEGE_STABILITY_THRESHOLD | -50 | ai needs at least this much stability left after revoking a privilege |
| AI_ESTATE_SATISFACTION_TARGET_FOR_GRANTING_PRIVILEGES | 0.55 | when below this target satisfaction (excluding temp modifiers) we want to grant a privilege |
| AI_ESTATE_SATISFACTION_TARGET_FOR_REVOKING_PRIVILEGES | 0.75 | When above this target satisfaction (excluding temp modifiers) we want to revoke a privilege |
| AI_ESTATE_SATISFACTION_STABILITY_ESTIMATE | 0.3 | when evaluating if we should remove or grant a privilege we estimate estate satisfaction based on this stability |
| AI_GRANT_ESTATE_PRIVILEGE_THRESHOLD | 75 | positive utility needed to grant an estate privilege so won't change our mind and remove it later |
| AI_ESTATE_SATISFACTION_TARGET_PARLIAMENT_AGENDAS | 0.4 | Parliament agendas will not be considered if they lower estate satisfaction below this point |
| AI_ESTATE_SATISFACTION_TARGET_PRIVILEGES | 0.02 | Estate privileges will not be considered if they give less estate satisfaction than this |
| AI_ESTATE_TARGET_SATISFACTION_NEEDED_THRESHOLD_PRIVILEGES | 0.05 | |
| AI_DEFAULT_COUNTRY_INTERACTION_FREQUENCY | 30 | default number of days between ai checking each country interaction |
| AI_DEFAULT_CHARACTER_INTERACTION_FREQUENCY | 180 | default number of days between ai checking each character interaction |
| LOCATION_POP_PROMOTION_SPEED_FACTOR | 20 | How much AI values quick pop promotion |
| MARKET_ACCESS_IMPORTANCE | 0.15 | How much the AI values having high market access per raw tax base, measured in monthly ducats (assuming large markets) |
| MARKET_TAX_BASE_REFERENCE | 100 | A reference for how large markets should be, measured in raw tax base (raw = assuming 100% market access) |
| MARKET_OWNING_IMPORTANCE | 0.0005 | How much the AI values owning the market center per raw tax base, measured in monthly ducats |
| MERCHANT_CAPACITY_GOLD_RELATION_FACTOR | 0.25 | Estimated profitability of trade per merchant capacity, used when AI has 0 trades so there is nothing to calc profitability on |
| RECRUITMENT_TIME_BASE_DAYS | 10 | Base number of days to consider getting a new unit to a place |
| RECRUITMENT_TIME_FACTOR | 0.1 | Multiplier for how significant recruitment time is for AI recruitment decisions |
| SHIP_RECRUITMENT_COST_FACTOR | 0.2 | multiplier for how much we care about the cost of ships vs budget |
| REGIMENT_RECRUITMENT_COST_FACTOR | 0.5 | multiplier for how much we care about the cost of regiments vs budget |
| MONTHLY_MANPOWER_MAXIMUM_VALUE | nil | The maximum value the manpower scale curve can reach |
| MONTHLY_MANPOWER_PER_BASE_TAX_REFERENCE | 0.04 | This is how big manpower pool AI wants based on their tax base |
| MAXIMUM_MANPOWER_MAXIMUM_VALUE | 0.5 | This is how hard they will try to reach their manpower pool target |
| AI_ESSENTIAL_MANPOWER_UTILITY_VALUE | 0.25 | This is how hard they will try to reach their essential manpower pool target, which is enough to maintain their armies and have enough replenishment to rebuild them fast |
| MONTHLY_SAILORS_PER_BASE_TAX_REFERENCE | 0.00012 | This much monthly_sailors per tax base will be used as "default" reference |
| MONTHLY_SAILORS_DESIRE_FACTOR | 0.2 | |
| MONTHLY_SAILORS_MAXIMUM_VALUE | 0.04 | The maximum value the sailors scale curve can reach |
| MAXIMUM_SAILORS_MAXIMUM_VALUE | 0.2 | inherent utility scale for maximum sailor modifier |
| AVERAGE_FRONTAGE | 12 | |
| MONTHLY_CONTROL_MAXIMUM_VALUE | 0.1 | The maximum value the control scale curve can reach |
| MAX_CONTROL_DESIRE_PER_PROFIT | 1 | The maximum the max control we have per spread |
| MAXIMUM_LOCAL_CONTROL_MAXIMUM_VALUE | 1 | The maximum max control desire we have |
| AI_CULTURE_INFLUENCE_UTILITY_FACTOR | 0.1 | Utility from having 125% culture influence compared to highest culture tradition present in country |
| AI_CULTURE_TRADITION_UTILITY_FACTOR | 0.05 | Utility from having 125% culture tradition compared to highest influence present in country |
| AI_DISEASE_RESISTANCE_UTILITY | 0.05 | base utility for disease resistance |
| AI_DISEASE_RESISTANCE_AFFECTED_MULTIPLIER | 10 | multiplier for locations with ongoing diseases |
| AI_HEATHEN_TOLERANCE_UTILITY | 0.05 | Utility scaled on % of heathen population |
| PROXIMITY_DESIRE_PER_MAX_CONTROL | 0.1 | The maximum value the proximity scale curve can reach on max control |
| MAXIMUM_LOCAL_PROXIMITY_MAXIMUM_VALUE | 0.2 | The maximum proximity desire we have (inherent utility) |
| PROXIMITY_NEIGHBOURS_ON_MAX_CONTROL | 0.1 | Proximity utility per neighbors on max control |
| LOCAL_PROXIMITY_SOURCE_DESIRE | 0.1 | The local proximity source desire (currency effect) |
| AI_GLOBAL_PROXIMITY_COST_UTILITY | -0.5 | Inherent utility for global proximity cost modifier, negative as cost reduction is good |
| AI_GLOBAL_INSTITUTION_GROWTH_UTILITY | 0.8 | Inherent value of global institution growth modifier |
| AI_UNLOCK_BUILDING_ADVANCE_UTIL | 5 | Base score from unlocking new builings for AI that doesnt have capital modifiers |
| ROAD_MARKET_VALUE_FLOW_FACTOR | 0.0005 | how much AI cares about building roads that increase the flow towards market capital |
| ROAD_TAX_RATE_ESTIMATE_FOR_ESTATES | 25 | estimated recovery percentage of lost tax due to low control, when estates build roads |
| ROAD_MARKET_VALUE_FLOW_FACTOR_FOR_ESTATES | 0.5 | how much AI cares about building roads that increase the flow towards market capital, when estates build roads |
| MONTHLY_INFLATION_COST_PER_TAX_BASE | 0.33 | |
| MAX_ALLOWED_INFLATION | 0.08 | Try to tune this to be the maximum inflation under which we could run a surplus. Underestimate is better than overestimate |
| CURRENCY_AMOUNT_BIAS_MONTHLY_DECAY | 0.96 | |
| AI_REVOKE_PRIVILEGE_COST_MODIFIER_UTILITY | -0.1 | Utility of the revoke privilege cost modifier |
| AI_GLOBAL_MARITIME_PRESENCE_DECAY_UTIL | -20 | |
| AI_GLOBAL_MARITIME_PRESENCE_MODIFIER_UTIL | 0.5 | |
| AI_GLOBAL_MARITIME_PROXIMITY_COST_UTIL | -0.03 | |
| AI_GLOBAL_PORT_PROXIMITY_COST_UTIL | -0.01 | |
| AI_GLOBAL_MERCHANT_POWER_FROM_MARITIME_UTIL | 0.5 | |
| AI_GLOBAL_SEA_TRADE_COST_UTIL | -0.2 | |
| GOVERNMENT_POWER_INHERENT_UTILITY | 0.7 | inherent util when below 55 to avoid bad situations |
| AI_STABILITY_INHERENT_UTILITY | 0.25 | AI inherent willingness to invest in stability slider |
| AI_EMBRACE_INSTITUTION_STABILITY_UTILITY | 0.05 | AI extra willingness to invest in stability slider when it is close to embracing institutions |
| AI_ALLOWED_STABILITY_FIRST_INSTITUTION_EMBRACE | 20 | AI is allowed to go a bit negative into stability to embrace their first institution of each age |
| AI_REBEL_JOIN_THRESHOLD_IMPORTANCE | 5 | AI willingness to invest into rebel join threshold modifier |
| AI_REBEL_LEAVE_THRESHOLD_IMPORTANCE | 2.5 | AI willingness to invest into rebel leave threshold modifier |
| POP_SATISFACTION_IMPORTANCE_FOR_REVOLTS | 10 | AI willingness to invest into unrest reduction / satisfaction to reduce revolts |
| POP_SATISFACTION_IMPORTANCE_TO_ESTATES | 250 | |
| ESTATE_SATISFACTION_LEVY_THRESHOLD_IMPORTANCE | 10 | AI willingness to specifically keep estate satisfaction above the threshold for raising levies |
| AI_ESTATE_SATISFACTION_LINEAR_UTIL | 0 | |
| AI_ESTATE_SATISFACTION_QUAD_UTIL | 1 | |
| GRANT_PRIVILEGE_COOLDOWN | 1500 | Cooldown for an individual estate for AI to grand privilege to let the effect of the grant play out |
| GRANT_PRIVILEGE_UNUSED_TAX_COOLDOWN | 180 | |
| REVOKE_PRIVILEGE_COOLDOWN | 3000 | Cooldown for all estates when AI revokes a privilege |
| ARMY_LEVY_SIZE_IMPORTANCE | 20 | |
| NAVY_LEVY_SIZE_IMPORTANCE | 5 | |
| POP_SATISFACTION_IMPORTANCE | 60 | |
| OPINION_IMPORTANCE | 0.2 | |
| MAX_LOAN_FOR_TROOPS | 0 | How many % in debt the AI can be before they stop buying troops with loans |
| ESTATE_MAX_TAX_MODIFIER_UTILITY_IMPORTANCE | 0.025 | AI utility of changing the max estate tax modifier is determine by this multiplied with the estate taxbase |
| NUM_PRIVILEGES_QUADRATIC_UTILITY_PENALTY | 0 | stacking quadratic penalty for handing out estate privileges |
| AI_ALLOWED_NAVAL_CONSTRUCTIONS_TAX_BASE_DIVIDER | 100 | Taxbase divided by this is how many parallel fleet constructions AI is allowed |
| AI_ALLOWED_ARMY_CONSTRUCTIONS_TAX_BASE_DIVIDER | 100 | Taxbase divided by this is how many parallel armies constructions AI is allowed |
| FLEET_REPAIR_THRESHOLD | 0.9 | if a fleet average strength is below this threshold the fleet will repair |
| AI_DAYS_AT_SEA_ATTRITION_THRESHOLD | 60 | if a ship is in risk of taking attrition and has been this many days at sea AI will go to port |
| MINIMUM_GALLEY_THRESHOLD | 0.33 | AI needs to have at least this many % of their coast be appropriate for galleys in order for galley to be allowed |
| AI_HEAVY_SHIP_RATIO_FOR_TRANSPORTS | 0.25 | AI wants this % of heavy ships to be part of their transport fleets for safety |
| HUNT_ARMIES_MAX_RADIUS | 20 | |
| HUNT_ARMIES_STAY_PRIO | 0.05 | This number works like a threshold for how important tasks should be for the AI to leave base |
| HUNT_ARMIES_CONFRONT_FACTOR | 2 | This factor determines how likely the AI is to initiate a battle, as opposed to just staying close by |
| HUNT_ARMIES_WIN_CHANCE_SPLIT | 0.99 | Split up the army if it has more than this win chance |
| HUNT_ARMIES_MAX_SPLINTERS | 6 | Don't split into more armies than this |
| HUNT_ARMIES_PRESENCE_RADIUS | 3 | Consider armies this far away |
| HUNT_ARMIES_DESIRED_STRENGTH_MULT | 1.5 | We want this number times the enemy strength |
| HUNT_ARMIES_AI_MAX_DISTANCE | 3 | Maximum distance AI will have between base location and important province |
| HUNT_ARMIES_AI_RADIUS_BUFFER | 2 | Additional objective radius |
| HUNT_ARMIES_AI_MAX_NUM_OBJECTIVES | 5 | How many simultaneous HUNT_ARMIES objectives the AI will have at most (soft cap) |
| HUNT_ARMIES_AI_WAR_GOAL_VALUE | 1 | |
| HUNT_ARMIES_AI_CAPITAL_VALUE | 1 | |
| HUNT_ARMIES_AI_PROVINCE_CAPITAL_VALUE | 1 | |
| HUNT_ARMIES_AI_ENEMY_VALUE_FACTOR | 0.5 | |
| HUNT_ARMIES_AI_REACHABLE_FACTOR | 10 | |
| HUNT_NAVIES_DESIRED_STRENGTH_MULT | 1.5 | We want this number times the enemy strength |
| MAXIMUM_ALLOWED_NUMBER_OF_EACH_OBJECTIVE | 20 | How many objectives (e.g. carpet siege area) of a certain type the AI can have at once for performance reasons |
| MAXIMUM_ALLOWED_SIDE_OBJECTIVES | 10 | How many side objectives we can have per objective, e.g. "win war versus". So in 1 war we focus on maximum this many enemies at once |
| CARPET_SIEGE_REQUIRED_WIN_CHANCE | 0.8 | |
| CARPET_SIEGE_CONFRONT_FACTOR | 0.5 | This factor determines how likely the AI is to initiate a battle, as opposed to just staying close by |
| CARPET_SIEGE_SEARCH_DEPTHS | { 10, 8, 6, 5, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1 } | How far away will units look when carpet sieging; First (biggest) units looks 10 steps away, smaller units get less allowance. This is important for performance. If they don't find anything, they get moved to logistics to get them somewhere near |
| CARPET_SIEGE_MAX_ARMIES | 10 | carpet siege won't split down to more armies than this |
| AI_SUPPLY_LIMIT_TARGET | 0.75 | AI will try to make army stacks of this ratio of average supply limit in their country |
| RATIO_OVER_SUPPLY_TARGET_TO_SPLIT | 1.3 | A stack has to be this much over the supply limit target to be split in half |
| AI_GROUP_RECENTLY_REMOVED_UNIT_FORGET_CHANCE | 0.25 | chance to forget a forcefully removed unit which prevents it to be assigned again |
| AVOID_BATTLES_PATHFIND_CONFRONT_FACTOR | 0.5 | This factor determines how likely the AI is to initiate a battle, as opposed to just staying close by |
| AI_POWER_PROJECTION_UTIL_FROM_COLONIZATION | 0.01 | Power Projection util per ongoing colonization |
| MAX_RECRUIT_DISTANCE | 10 | How far away from base location AI may recruit troops |
| RELEVANT_ARMY_MIN_RAW_STRENGTH | 0.025 | How many levies to even worth considering raising |
| RELEVANT_NAVY_MIN_RAW_STRENGTH | 0.025 | How many levies to even worth considering raising |
| AI_MAXIMUM_ARMY_VS_NAVY_BUDGET_ALLOCATION | 0.75 | maximum allocation budget for land vs navy based on society value |
| AI_MAINTENANCE_BUDGET_RATIO | 0.2 | How much of monthly income is allocated for maintenance budget of armies and navies |
| SUPPLY_DEPOT_RANGE | 2 | how far away a supply depot can be to be used by a unit |
| NAVAL_SUPPLY_RANGE | 2 | how far away a ship can be to supply an army |
| FOOD_STORAGE_TO_ESCORT_STRENGTH_RATIO | 0.2 | how many troops will escort supply wagons |
| GO_LOOKING_FOR_FOOD_RANGE | 6 | how far supply wagons will wander looking for food |
| GO_LOOKING_FOR_FOOD_DISTANCE_IMPORTANCE | -1 | further away is worse |
| GO_LOOKING_FOR_FOOD_AMOUNT_IMPORTANCE | 3 | more is better |
| AI_AVOID_ATTRITION_MAX_PATH_FIND_DISTANCE | 100 | further distance can cost more performance |
| BATTLE_WIN_CHANCE_SENSITIVITY | 16 | |
| BATTLE_WIN_CHANCE_ENEMY_BIAS | 1.1 | |
| BATTLE_WIN_CHANCE_GENERAL_MIL_FACTOR | 0.25 | -> 100 MIL ~ 25% bigger army |
| BATTLE_WIN_CHANCE_ADMIRAL_SKILL_FACTOR | 0.25 | -> 100 Dip ~ 25% better fleet |
| INITIATIVE_COMBAT_STRENGTH_FACTOR | 0.025 | -> 10 initiative ~25% better army |
| BUILDING_THRESHOLD_FACTOR | 1.2 | Increase this to make AI more careful with building buildings. Don't make < 1 |
| LOCATION_BORDER_DISTANCE_RELEVANCE_THRESHOLD | 20 | |
| BASE_FORT_LEVEL_BENEFIT_SCALAR | 0.1 | |
| BASE_ZOC_BENEFIT_SCALAR | 0.1 | |
| FORT_PROTECTION_BORDER_MULT | 20 | |
| FORT_PROTECTION_LOCATION_MULT | 1 | |
| FORT_PROTECTION_CAPITAL_MULT | 0.3 | |
| FORT_PROTECTION_PROVINCE_CAPITAL_MULT | 1 | |
| FORT_UTILITY_NO_MARKET_ACCESS | -50 | |
| HOW_MUCH_WE_CARE_ABOUT_PRIVATEERING_RIVALS | 1 | |
| HOW_MUCH_WE_CARE_ABOUT_PRIVATEERING_ENEMIES | 1 | |
| HOW_MUCH_WE_CARE_ABOUT_PRIVATEERING_NEUTRALS | 0.2 | |
| HOW_MUCH_WE_CARE_ABOUT_PRIVATEERING_FRIENDS | 0 | |
| HOW_MUCH_WE_CARE_ABOUT_PRIVATEERING_MERCHANT_POWER | 50 | |
| PRIVATEERING_MERCHANT_POWER_HALF_LIFE_MIN | 10 | |
| PRIVATEER_TRADE_COUNT_FACTOR | 0.2 | |
| EXPLORATION_UTILITY_SEA | 6 | |
| EXPLORATION_UTILITY_LAND | 10 | |
| EXPLORATION_PREPARATION_TIME_UTILITY | -0.4 | |
| EXPLORATION_DISTANCE_BASE | 1000 | |
| EXPLORATION_GOLD_EFFECT | 1 | |
| ONGOING_EXPLORATION_UTILITY_PENALTY | 0.5 | utility penalty for each ongoing exploration |
| ROYAL_MARRIAGE_RULER_WEIGHT | 20 | |
| ROYAL_MARRIAGE_HEIR_WEIGHT | 10 | |
| ROYAL_MARRIAGE_OTHER_WEIGHT | 10 | |
| MOVEMENT_SPEED_FACTOR | 0.05 | |
| AI_LITERACY_LOCAL_GROWTH_RATE_IMPORTANCE | 0.1 | |
| AI_LITERACY_GLOBAL_GROWTH_RATE_IMPORTANCE | 0.1 | |
| AI_LITERACY_UTILITY_FACTOR | 4 | |
| AI_RESEARCH_SPEED_UTILITY | 2 | |
| AI_MARKET_POWER_UTIL | 0.0005 | inherent util for market power |
| PEACE_OFFER_WAR_ENTHUSIASM_THRESHOLD | 0.6 | |
| PEACE_OFFER_WAR_SCORE_THRESHOLD | 50 | |
| PEACE_OFFER_ACCEPTANCE_THRESHOLD | -20 | |
| PEACE_OFFER_OCCUPATION_PERCENTAGE_THRESHOLD | 0.25 | |
| PEACE_OFFER_WARSCORE_PERCENTAGE_THRESHOLD | 0.33 | |
| PEACE_OFFER_WAR_ENTHUSIASM_STALE_WAR | 0.5 | |
| PEACE_OFFER_ALLY_LEAVE_WAR_ENTHUSIASM | 0.25 | |
| AI_CIRCULAR_STRAIT_DISTANCE_THRESHOLD | 8 | when distance (in locations) to walk around a strait is smaller than this just ignore it |
| AI_STRAIT_DISTANCE_TO_ENEMY_THRESHOLD | 6 | distance (in locations) how close a strait has to be to enemy controlled area to be important |
| AI_FOW_FORGET_CHASE_ARMY_CHANCE | 0.33 | chance that AI will forget a chase army objective about an army that goes into fow |
| AI_RECOVER_MORALE_THRESHOLD | 66 | AI will stop and rest armies when their morale is below this percentage |
| AI_AWAIT_REINFORCING_ARMY_DISTANCE_MAX | 50 | above this map AI will wait for other collaborating armies before engaging their target |
| AI_AWAIT_REINFORCING_ARMY_DISTANCE_MIN | 35 | below this map distance collaborating armies are considered closed enough to start moving again |
Used for AI assignment of units to objectives | ||
| AI_MILITARY_ARMY_ASSIGNMENT_PROXIMITY_FACTOR | -1 | Negative score for army targets further away |
| AI_MILITARY_NAVY_ASSIGNMENT_PROXIMITY_FACTOR | -0.1 | negative score for navy targets further away |
| AI_MILITARY_ASSIGNMENT_PRIORITY_FACTOR | 100 | Positive score based on objective priority (1-10) |
|
all these cumulative multiply the total war-worth if true.. | ||
| PEACE_MAKE_SUBJECT_BASE_FACTOR | 0.8 | |
| PEACE_MAKE_SUBJECT_OTHER_DOMINANT_CULTURE | 1.2 | |
| PEACE_MAKE_SUBJECT_OTHER_DOMINANT_RELIGION | 1.2 | |
| PEACE_MAKE_SUBJECT_TOO_MUCH_TO_INTEGRATE | 1.5 | |
| PEACE_MAKE_SUBJECT_OVER_LIMIT | 0.05 | |
| PEACE_MAKE_SUBJECT_REVOLT_WAR | 0 | If the target is a rebellious province |
| PEACE_MAKE_SUBJECT_AS_ALLY | 0.5 | If as the taker we are only an ally in the war, focus on land |
| TRANSFER_OCCUPATION_WAR_PARTICIPATION_BASE_SCORE | 0.5 | |
| TRANSFER_OCCUPATION_WAR_PARTICIPATION_MULTIPLIER | 1 | |
| TRANSFER_OCCUPATION_OPINION_BIAS_MULTIPLIER | 1 | |
| TRANSFER_OCCUPATION_WAR_LEADER_MULTIPLIER | 0.5 | |
| TRANSFER_OCCUPATION_RIVAL_MULTIPLIER | -1 | |
| TRANSFER_OCCUPATION_CONTROLLER_SCORE_BASE | 10 | |
| TRANSFER_OCCUPATION_CONTROLLER_SCORE_MULTIPLIER | 3 | |
| PEACE_ANNUL_GUARANTEED_FACTOR | 0.25 | |
| PEACE_ANNUL_GUARANTEEING_FACTOR | 0.25 | |
| PEACE_ANNUL_ALLIANCE_FACTOR | 0.25 | |
| PEACE_ANNUL_ALLIANCE_FUTURE_WAR_FACTOR | 0.5 | |
| PEACE_ANNUL_GUARANTEEING_FUTURE_WAR_FACTOR | 0.25 | |
| AI_ANNEX_SUBJECT_DISTANCE_THRESHOLD | 50 | How far it can be between borders until AI does not want to annex a subject |
| AI_ANNEX_SUBJECT_BORDERING_CONTROL_NEEDED | 0.35 | AI will only subjugate another country if they have at least this much bordering control |
| CONQUER_DESIRE_POPULATION_FACTOR | 0.25 | How the population of the location influences the conquer desire |
| CONQUER_DESIRE_TAX_BASE_FACTOR | 1 | How the tax base of the location influences the conquer desire |
| TARGET_SAFE_ANTAGONISM_FOR_AI | 50 | How much antagonism Ai is willing to take before getting a too much antagonism modifier |
| EXPECTED_WAR_SCORE_BASE | 25 | How much warscore Ai expects to get in a war |
| EARLY_PEACE_TIME_MONTHS | 4 | How many months need to pass for Ai to lose the early war peace acceptance modifier |
| EARLY_PEACE_TIME_BASE | 10 | How much negative acceptance is added by the early war modifier |
| EARLY_PEACE_TIME_FACTOR | 1.5 | How much acceptance is multiplied by the early war modifier |
| MINIMUM_WIN_CHANCE_TO_CONSIDER_DEFEAT | 0.25 | Win chance below this number will make Ai try to White Peace or give something instead of fighting on |
| MINIMUM_WAR_SCORE_TO_CONSIDER_DEFEAT | -50 | Warscore below this number will make Ai try to White Peace or give something instead of fighting on |
| POTENTIAL_COALITION_MAX_SAFE_RELATIVE_STRENGTH | 1 | A potential coalition will be ignored if its strength is lower than our strength times this mult |
| IDEAL_WARSCORE_DIFFERENCE_THRESHOLD_TO_CONSIDER_PEACE | 20 | If the current warscore is only X away from the ideal peace deal warscore, AI will try to make peace with that nation |
| PEACE_RELEASE_COUNTRY_FUTURE_CONQUEST_FACTOR | 0.15 | How much future conquest of released locations is valued when releasing a country via a peace deal |
| PEACE_RELEASE_COUNTRY_CUT_RIVAL_FACTOR | 0.25 | How much cutting a rival/threat is valued when releasing a country via a peace deal |
| PEACE_RELEASE_COUNTRY_STRENGTH_REQUIREMENT | 0.75 | How strong a nation needs to be relative to us to consider them a threat we need to cut in size |
| PEACE_RELEASE_COUNTRY_RIVAL_FACTOR | 1 | How many times more does Ai value releasing countries from their rival than just a big country |
| PEACE_RELEASE_COUNTRY_GORE_FACTOR | -3 | multiplied by how many new country areas will be created |
| PEACE_RELEASE_SUBJECT_FUTURE_CONQUEST_FACTOR | 0.1 | How much future conquest of released subject is valued when releasing them via a peace deal |
| PEACE_RELEASE_SUBJECT_CUT_RIVAL_FACTOR | 0.25 | How much cutting a rival/threat is valued when releasing a country via a peace deal |
| PEACE_RELEASE_SUBJECT_STRENGTH_REQUIREMENT | 0.75 | How strong a nation needs to be relative to us to consider them a threat we need to cut in size |
| PEACE_RELEASE_SUBJECT_RIVAL_FACTOR | 1 | How many times more does Ai value releasing countries from their rival than just a big country |
| PEACE_BECOME_JUNIOR_PARTNER_FACTOR | 3 | How much Ai wants to get other countries as junior partners |
| PEACE_RM_CLOSER_TO_THRONE_FACTOR_NUMERATOR | 10 | how much to value a RM target being closer to the throne PEACE_RM_CLOSER_TO_THRONE_FACTOR_NUMERATOR / ( 1 + rank / PEACE_RM_CLOSER_TO_THRONE_FACTOR_DENOMINATOR ) |
| PEACE_RM_CLOSER_TO_THRONE_FACTOR_DENOMINATOR | 1 | PEACE_RM_CLOSER_TO_THRONE_FACTOR_NUMERATOR / ( 1 + rank / PEACE_RM_CLOSER_TO_THRONE_FACTOR_DENOMINATOR ) |
| PEACE_RM_YOUTH_FACTOR_NUMERATOR | 3 | how much to value youth PEACE_RM_YOUTH_FACTOR_NUMERATOR / ( 1 + age / PEACE_RM_YOUTH_FACTOR_DENOMINATOR ) |
| PEACE_RM_YOUTH_FACTOR_DENOMINATOR | 30 | PEACE_RM_YOUTH_FACTOR_NUMERATOR / ( 1 + age / PEACE_RM_YOUTH_FACTOR_DENOMINATOR ) |
| PEACE_CEDE_PROVINCE_REVOLT_WAR | nil | If the target is a rebellious province |
| PEACE_CEDE_PROVINCE_GORE_FACTOR | -3 | multiplied by how many new country areas will be created |
| PEACE_CEDE_CITY_BASE_MULTIPLIER | 0.5 | Prefer taking provinces not cities |
| PEACE_CEDE_CITY_REVOLT_WAR | 0 | If the target is a rebellious province |
| PEACE_GOLD_REVOLT_WAR | 0 | If the target is a rebellious province |
| PEACE_OFFER_ALLY_DEFAULT_FAIRNESS | 0.4 | Fraction of warscore Ai will distribute according to the war participation |
| PEACE_CEDE_PROVINCE_ALLY_DESIRE_BASE | 0.7 | Base desire multiplier of giving a province to an ally in a peace deal. |
| PEACE_CEDE_PROVINCE_ALLY_DESIRE_OUR_CONQUER_DESIRE_FACTOR | 1 | Multiplies the desire of giving a province to an ally in a peace deal based on how much we desire the province. |
| PEACE_OFFER_TOO_MUCH_ALLY_WARSCORE_THRESHOLD | 1.25 | How much at most should we go above the promised warscore to our allies |
| PEACE_OFFER_ALLY_NOT_ENOUGH_TO_CARE_THRESHOLD | 0.03 | If an ally is promised to get less than this % of warscore in the final offer Ai will ignore them |
| DEFAULT_REGULAR_ARMY_PREFERENCE | 1 | Default number at 0% War Balance |
| DEFAULT_LEVY_ARMY_PREFERENCE | 1 | |
| DEFAULT_MERCENARY_ARMY_PREFERENCE | 1 | |
| REGULAR_ARMY_PREFERENCE_FACTOR | 0 | How fast the preference goes down with War Balance increasing. The higher the number the less of those units will be used if we are stronger than the enemy. |
| LEVY_ARMY_PREFERENCE_FACTOR | 0.5 | With negative numbers the reliance on those units will grow instead. |
| MERCENARY_ARMY_PREFERENCE_FACTOR | 1.33 | |
| MERCENARY_ARMY_PREFERENCE_SMALL_ALLY_IGNORE_THERSHOLD | 0.33 | How much we have to be losing to ignore the small ally factor and go all in anyway. Lower number = Need to be losing more. |
| MERCENARY_ARMY_PREFERENCE_SMALL_ALLY_THRESHOLD | 0.05 | Minimum share of strength we can have before we start ignoring mercenaries |
| MERCENARY_ARMY_PREFERENCE_SMALL_ALLY_FACTOR | 0.25 | |
| DEFAULT_REGULAR_NAVY_PREFERENCE | 1 | |
| DEFAULT_LEVY_NAVY_PREFERENCE | 1 | |
| DEFAULT_MERCENARY_NAVY_PREFERENCE | 1 | |
| REGULAR_NAVY_PREFERENCE_FACTOR | 0 | How fast the preference goes down with War Balance increasing. The higher the number the less of those units will be used if we are stronger than the enemy. |
| LEVY_NAVY_PREFERENCE_FACTOR | 0.5 | With negative numbers the reliance on those units will grow instead. |
| MERCENARY_NAVY_PREFERENCE_FACTOR | 1.33 | |
| MERCENARY_NAVY_PREFERENCE_SMALL_ALLY_IGNORE_THERSHOLD | 0.33 | How much we have to be losing to ignore the small ally factor and go all in anyway. Lower number = Need to be losing more. |
| MERCENARY_NAVY_PREFERENCE_SMALL_ALLY_THRESHOLD | 0.05 | Minimum share of strength we can have before we start ignoring mercenaries |
| MERCENARY_NAVY_PREFERENCE_SMALL_ALLY_FACTOR | 0.25 | |
| COURT_LANGUAGE_POWER_DIFFERENCE_NEEDED | 0.8 | How much more powerful a language needs to be in order to be considered a potential court language |
| LITURGICAL_LANGUAGE_POWER_DIFFERENCE_NEEDED | 0.8 | How much more powerful a language needs to be in order to be considered a potential liturgical language |
| COMMON_LANGUAGE_PREFERENCE_FACTOR | 2 | How much more powerful we consider our common language when changing it |
| COMMON_LANGUAGE_PREFERENCE_BASE | 0.05 | How much more powerful we consider our common language when changing it - static value in case our language has 0% power |
| COURT_LANGUAGE_OVERLORDS_COURT_LANGAUGE_MODIFIER | 1 | How much more powerful we consider our Overlord's court language when changing it. Scaled by Subject Loyalty |
| COURT_LANGUAGE_NEGATIVE_CULTURE_OPINION_FACTOR | 0 | Don't adopt a language of a culture we don't like |
| MINIMUM_MONTHS_BETWEEN_EXPANSION | 6 | |
| SUBJUGATION_EXPANSION_FACTOR | 0.75 | |
| DEFAULT_AGGRESSIVENESS | -1.05 | Higher = more aggressive |
| POWER_BALANCE_AGGRESSIVENESS_FACTOR | 20 | Higher = more aggressive against weak enemies, more cautious against strong enemies |
| EXPANSION_SCORE_OPINION_FACTOR | 1 | How much opinion matters when choosing conquest targets. Keep it between 0-1 |
| ROYAL_MARRIAGE_CONQUEST_FACTOR | 0.1 | |
| ROYAL_MARRIAGE_SUBJUGATION_FACTOR | 1.25 | |
| GUARANTEEING_CONQUEST_FACTOR | 0 | |
| GUARANTEEING_SUBJUGATION_FACTOR | 1.1 | |
| ALLIANCE_CONQUEST_FACTOR | 0 | |
| ALLIANCE_SUBJUGATION_FACTOR | 1.25 | |
| RIVAL_CONQUEST_FACTOR | 1.25 | |
| RIVAL_SUBJUGATION_FACTOR | 0 | |
| DISTANT_WAR_BORDER_DISTANCE | 100 | |
| DISTANT_WAR_CONQUEST_FACTOR | 0.1 | |
| DISTANT_WAR_SUBJUGATION_FACTOR | 0.33 | |
| NO_CASUS_BELLI_CONQUEST_FACTOR | 0.8 | |
| NO_CASUS_BELLI_AND_NO_PARLIAMENT_CONQUEST_FACTOR | 0.25 | |
| EXPANSION_TARGET_SCORE_NEEDED_TO_KEEP | 15 | |
| EXPANSION_TARGET_SCORE_NEEDED_TO_PICK | 20 | |
| AI_NUM_EXPANSION_TARGETS | 20 | AI will evaluate war against the top AI_NUM_EXPANSION_TARGETS targets, more is worse performance but possibly can find more attack targets |
| AI_SUBJUGATION_OBJECTIVE_MONTHLY_CHANCE | 0.083 | 1/12 Once per year on average |
| AI_SUBJUGATION_OBJECTIVE_MAX_ALLOWED | 2 | maximum allowed parallel ongoing ai subjugation objectives |
| PEACE_MILITARY_ACCESS_NEIGBOURS_FACTOR | 10 | |
| PEACE_MILITARY_FLEET_BASING_AREAS_FACTOR | 10 | |
| PEACE_MILITARY_ANTI_PIRACY_LOCATIONS_FACTOR | 3 | |
| MIN_MONTHS_BETWEEN_REJECTED_OFFERS | 48 | |
| LOCAL_POPULATION_IMPORTANCE | 4 | |
| MAX_VALUE_SAMPLES_FOR_TARGETTED_ACTIONS | 6 | when looking for a value in targeted actions, how many iterations will we do before settling on the best value we found |
| MONTHS_TO_WAIT_FOR_CASUS_BELLI | 24 | How many months will Ai wait for a potential casus belli from script before declaring a no CB or abandoning the war |
| MONTHS_TO_WAIT_FOR_MAINTENANCE | 3 | How many months will Ai wait for maintenance sliders to go up before declaring a war |
| PEACE_DEAL_BASE_CONTRIBUTION | 0 | |
| PEACE_DEAL_CONTRIBUTION_TAX_BASE_FACTOR | 0.25 | |
| PEACE_DEAL_CONTRIBUTION_BASE_MODIFIER | 1 | |
| PEACE_DEAL_CONTRIBUTION_PARTICIPATION_FACTOR | 1 | |
| PEACE_DEAL_CONTRIBUTION_NEGOTIATION_POWER_FACTOR | 1 | |
| PEACE_DEAL_CONTRIBUTION_OPINION_FACTOR | 0.5 | |
| PEACE_DEAL_INTEGRATION_LIMIT_MULTIPLIER | 2 | |
| PEACE_DEAL_ADDITIONAL_INTEGRATION_LIMIT | 0 | If a peace deal would require more than (Cabinet size + PEACE_DEAL_ADDITIONAL_INTEGRATION_LIMIT) * PEACE_DEAL_INTEGRATION_LIMIT_MULTIPLIER to integrate it won't be accepted, set to -1 so the limit is ignored. |
| PEACE_DEAL_PROMISED_LAND_GUARANTEED_PARTICIPATION | 0.75 | How much warscore share Ai expects and will give if it was promised or itself promised land based on war participation |
| MOVE_CAPITAL_TOTAL_LOCATIONS_THRESHOLD | 0.33 | |
| MOVE_CAPITAL_CURRENT_CAPITAL_AREA_SCORE_FACTOR | 3 | |
| MOVE_CAPITAL_TAX_BASE_FACTOR | 1 | |
| MOVE_CAPITAL_POPULATION_FACTOR | 0.1 | |
| MOVE_CAPITAL_LOCATION_RANK_FACTOR | 1 | |
| WAR_PLANNER_AUTOCALL_ATTACKER_FACTOR | 0.9 | How much "power" does a nation add to a potential war if they are on attackers side and are autocalled |
| WAR_PLANNER_CAN_CALL_ATTACKER_FACTOR | 0.5 | If they can be called on attackers side |
| WAR_PLANNER_CAN_CALL_DEFENDER_FACTOR | 0.75 | If they can be called on defenders side |
| AI_MAX_THRESHOLD_OF_PROVINCES_TO_INTEGRATE | 4 | How many provinces will Ai accept over their cabinet size before they start releasing subjects. |
| AI_BUFFER_TAX_BASE_FACTOR | 2 | AI will save their taxbase multiplied by this for buffer for sudden expenses like event options and hiring mercs |
| AI_HIGH_OPINION_THRESHOLD | 100 | Makes ai use certain interactions with countries with that opinion, only checks Our opinion of Them |
| AI_LOW_OPINION_THRESHOLD | -100 | |
| MONTHS_TO_WAIT_BEFORE_DECLARING_IO_WARS | 4 | |
| POWERBALANCE_NEEDED_FOR_EARLY_IO_WAR | 4 | |
| POWERBALANCE_NEEDED_FOR_IO_WAR | 1.5 | |
| NO_CASUS_BELLI_SELECTION_PENALTY | -100 | How less likely will Ai be to select this as the best casus belli |
| DEFAULT_CHANCE_OF_EXPANSION | 0.25 | How likely AI is to start a war plan against other nations each month |
| AI_WAR_EXHAUSTION_EXPANSION_PENALTY | 0.1 | Penalty to the chance to start new wars per war exhaustion |
| RANDOM_RANGE_OF_EXPANSION_SORTING_VALUES | 0.25 | -25% to 25% will be added to the sorting value of expansion targets to make it more varied |
| SAFE_AMOUNT_OF_ANTAGONISM | 30 | Ai will try not to expand above this, it's NOT their target antagonism when peacing out |
| SAFE_AMOUNT_OF_WAR_EXHAUSTION | 5 | Ai will try not to expand above this WE |
| SAFE_THREAT_LEVEL_DEFEND_OBJECTIVE_KEEP | 0.6 | Threat level below that will cause defend objectives to be abandoned |
| SAFE_WIN_CHANCE_DEFEND_OBJECTIVE_KEEP | 0.4 | Win chance above that will cause defend objectives to be abandoned |
| SAFE_THREAT_LEVEL_DEFEND_OBJECTIVE | 0.6 | Threat level below that will cause defend objectives to be abandoned |
| SAFE_WIN_CHANCE_DEFEND_OBJECTIVE | 0.4 | Win chance above that will cause defend objectives to be abandoned |
| AI_VERY_SMALL_TARGET_THRESHOLD | 0.05 | If Targets tax base is lower than Actors tax base * this, apply the multiplier |
| AI_VERY_SMALL_TARGET_MULTIPLIER | 0.1 | See above, it won't make the conquest score go below the value needed to pick if the original value |
| AI_ENEMY_LAND_SUPREMACY_THRESHOLD | 3 | If enemies have this much more land armies than us and we are in a defensive war then we will hang back and defend |
| AI_REASSIGN_UNIT_THRESHOLD | 1.5 | how much more score is needed for a new objective in order for a unit to be reassigned to it |
| MILITARY_ACCESS_MAX_OBJECTIVES | 3 | |
| THREAT_CALCULATION_BASE_VALUE | 10 | |
| THREAT_CALCULATION_OPINION_DIVISOR | 50 | |
| THREAT_CALCULATION_ANTAGONISM_DIVISOR | 5 | |
| THREAT_DANGEROUS_SCORE | 2.5 | Threat score above this can't be dealt with by just fighting it alone, AI will seek strong allies |
| LAW_TARGET_UTILITY_VALUE | 25 | Additional utility for AI if they need a law for a mission |
| POLICY_TARGET_UTILITY_VALUE | 50 | Additional utility for AI if they need a policy for a mission |
| PARLIAMENT_CALLED_TARGET_UTILITY_VALUE | 25 | Additional utility for AI if they need a parliament called |
| PARLIAMENT_SUPPORT_TARGET_UTILITY_MODIFIER | 1 | Additional utility for AI if they need parliament support for each % |
| AI_MISSION_CURRENCY_TARGET_UTILITY_MODIFIER_MORE | 0.15 | |
| AI_MISSION_CURRENCY_TARGET_UTILITY_MODIFIER_LESS | -0.15 | |
| AI_MISSION_LOCATION_TARGET_UTILITY_VALUE | 10 | |
| AI_CONQUER_DESIRE_DISTANCE_BASE | 200 | |
| AI_CONQUER_DESIRE_DISTANCE_MULTIPLIER | -0.1 | Penalty for ai to attack targets far away |
| AI_CONQUER_DESIRE_NAVAL_DISTANCE_MULTIPLIER | -0.5 | Penalty for ai to attack targets far away over sea, smaller number means more likely to attack |
| AI_CONQUER_DESIRE_MAX | 100 | |
| AI_CONQUER_DESIRE_THROUGH_SUBJECT_MULT | 0.5 | Score mult when you have to go through your subject to reach enemy |
| AI_CONQUER_DESIRE_CAPITAL_DISTANCE | 100 | After this map distance locations starts getting a penalty from being too far away from capital |
| AI_CONQUER_DESIRE_CAPITAL_DISTANCE_MIN_FACTOR | 0.05 | Minimum allowed multiplier from distance to capital |
| AI_CEDE_TREATY_DISTANCE | 500 | |
| AI_STABILITY_LOWER_LIMIT | -50 | |
| AI_GOVERNMENT_POWER_LOWER_LIMIT | 50 | |
| AI_NORMAL_SATISFACTION_TARGET | 0.5 | |
| AI_SAVING_MODE_SATISFACTION_TARGET | 0.4 | |
| BUILDING_LOW_PRODUCTION_EFFICIENCY_IMPACT_ON_RGO | 5 | |
| AI_ASSAULT_FORT_NO_BREACH_STRENGTH_NEEDED | 3 | |
| AI_ASSAULT_FORT_BREACH_STRENGTH_NEEDED | 1.5 | |
| AI_ASSAULT_FORT_NEARBY_ENEMY_MAX_RADIUS | 3 | |
| AI_LOCAL_POPULATION_CAPACITY_UTILITY | 0.01 | |
| AI_IMPROVE_RELATIONS_IMPACT_UTILITY | 0.08 | |
| AI_POP_FOOD_CONSUMPTION_MODIFIER_UTILITY | -0.05 | |
| AI_GARRISON_SIZE_UTILITY | 0.05 | |
| AI_DIPLOMATIC_CAPACITY_UTILITY | 0.05 | |
| AI_LOCAL_TRADES_PER_BURGHER_UTILITY | 0.001 | |
| AI_SUBJECTS_LOYALTY_UTILITY | 0.1 | |
| AI_ESTATE_ROADS_UTILITY | 10 | |
| AI_MERCENARY_COST_UTILITY | -0.5 | |
| AI_GOVERNMENT_SIZE_UTILITY | 0.5 | |
| AI_SATISFACTION_RECOVERY_UTILITY | 5 | |
| AI_SATISFACTION_DECAY_UTILITY | -0.1 | |
| AI_MILITARY_TACTICS_UTILITY | 0.01 | |
| AI_LAND_MORALE_RECOVERY_UTILITY | 0.25 | |
| AI_ARMY_INITIATIVE_UTILITY | 0.01 | |
| AI_LEVY_COMBAT_EFFICIENCY_MODIFIER_UTILITY | nil | |
| AI_SCRIPTED_OBJECTIVE_INTERACTION_SCORE_BONUS | 25 | |
| AI_IO_RESOLUTION_PROPOSAL_RANDOM_INTERVAL | 250 | |
| AI_CALL_FOR_PEACE_CHANCE_MULTIPLIER | 0.25 | |
| AI_CONQUER_TREATY_DESIRE_FROM_WORTH_MULT | 5 | |
| AI_CONQUER_TREATY_DESIRE_NOT_WARGOAL_MULT | 0.5 | |
| AI_CHILD_EDUCATION_CHANGE_THRESHOLD | 200 | |
| AI_CONQUER_TREATY_DESIRE_WARGOAL_BASE | 2 | |
| AI_REVOKE_CORES_DESIRE_MULT | 0.1 | |
| AI_CONSTRUCTIONS_PREDICTED_INCOME_MONTHS | 24 | How much more months of last median balance does the evaluator add to the utility bias for construction queue |
| AI_CONSTRUCTIONS_EMPTY_QUEUE_UPDATE_MONTHS | 6 | Cooldown for construction queue if the previous recalc resulted in an empty queue |
| AI_CONSTRUCTIONS_CLEAR_QUEUE_MONTHS | 60 | After how many months will the construction queue be purged |
| AI_CONSTRUCTION_QUEUE_SIZE_OWNED_LOCATIONS_MULT | 0.25 | OwnedLocations * this = How many buildings will be added to the queue at most |
| AI_CONSTRUCTION_QUEUE_SIZE_BUILDING_PRICE_REFERENCE | 60 | Additional buildings will be added to the queue if countries balance allows to build new buildings every 1-2 months, based on this reference |
| AI_CONSTRUCTION_QUEUE_SIZE_MINIMUM | 10 | Minimum allowed size of the build queue if you have low amount of locations |
| AI_CONSTRUCTION_QUEUE_PARALLEL_BUILD_RATIO | 0.025 | 1 + OwnedLocations * this = How many building candidates in AI queue will be built in a month |
| AI_CONSTRUCTION_QUEUE_PARALLEL_CHECK_RATIO | 0.05 | 1 + OwnedLocations * this = How many building candidates in AI queue will be checked in a month |
| AI_CONSTRUCTION_DAILY_RANK_BASE_DIVISION | 4 | Max(this - CountryRank, 1) = BuildingAi will handle candidates every X months |
| AI_CONSTRUCTION_QUEUE_REPEAT_MULT | 0.75 | PrevUtility * this - AI_CONSTRUCTION_QUEUE_REPEAT_BIAS = Utility of a new candidate placed in the queue after starting a construction |
| AI_CONSTRUCTION_QUEUE_REPEAT_BIAS | 10 | See above |
| AI_MIN_COUNTRY_RANK | 1 | Clamped min country rank for AI |
| AI_MAX_COUNTRY_RANK | 4 | Clamped max country rank for AI |
| AI_MONTHLY_DIPLOMATS_THRESHOLD_TO_BUILD_OPINION | 0.2 | Relevant country relation improvements will try to maintain that many monthly diplomats |
| AI_MAX_BUILD_OPINION_AT_ONCE | 2 | |
| AI_BUILD_OPINION_ALLY_BIAS | 3 | Sorting bias for relevant countries if the actor is allied with them |
| AI_BUILD_OPINION_HIGH_ANTAGONISM_BIAS | 5 | Sorting bias for relevant countries if the actor has high antagonism with them |
| AI_BUILD_OPINION_NEIGHBOUR_BIAS | 0.75 | Sorting bias for relevant countries if they are neighbors with the actor |
| AI_BUILD_OPINION_GEOGRAPHY_BIAS | 0.5 | Sorting bias for relevant countries in the same geography depending on country rank (area, region, superregion) |
| AI_BUILD_OPINION_ALREADY_IMPROVED_THRESHOLD | 0.75 | Ai will skip trying to improve relations with relevant countries when the improved opinion modifier is at this fraction of the max value |
| AI_BUILD_OPINION_CURRENT_BIAS_MAX | 75 | Ai will skip trying to improve relations with relevant countries when opinion is above that |
| AI_BUILD_OPINION_IMPROVE_UNTIL | 100 | Ai will improve relations with relevant countries (neighbors, allies) up until this opinion |
Saving mode defines, used mainly when AI enters saving modes: low and high. Goal is to try to stay afloat during bankruptcies and repay loans | ||
| AI_HIGH_DEBT_RATIO_TO_TAX_BASE | 10 | If debt is x times larger than the tax base of a country, high saving mode is enabled |
| AI_SAVING_MODE_STABILITY_THRESHOLD | 0 | See defines below |
| AI_SAVING_MODE_LOW_STABILITY_GROWTH | 0.1 | Stability growth target when below AI_SAVING_MODE_STABILITY_THRESHOLD |
| AI_SAVING_MODE_HIGH_STABILITY_GROWTH | 0 | Stability growth target when above AI_SAVING_MODE_STABILITY_THRESHOLD |
| AI_SAVING_MODE_MONTHS_TO_REPAY_DEBT | 60 | AI will try to have a balance which would allow to repay their debts in that many months |
| AI_SAVING_MODE_GOVERNMENT_POWER_THRESHOLD | 60 | See defines below |
| AI_SAVING_MODE_GOVERNMENT_CRITICAL_POWER_THRESHOLD | 40 | See defines below |
| AI_SAVING_MODE_VERY_LOW_GOVERNMENT_POWER_GROWTH | 0.3 | Government power growth per month target when government power is below AI_SAVING_MODE_GOVERNMENT_CRITICAL_POWER_THRESHOLD |
| AI_SAVING_MODE_LOW_GOVERNMENT_POWER_GROWTH | 0.15 | Government power growth per month target when government power is below AI_SAVING_MODE_GOVERNMENT_POWER_THRESHOLD |
| AI_SAVING_MODE_HIGH_GOVERNMENT_POWER_GROWTH | 0 | Government power growth per month target when government power is above AI_SAVING_MODE_GOVERNMENT_POWER_THRESHOLD |
| AI_DEFAULT_IO_MAINETANCE_VALUE | 0.5 | Default IO maintenance if it's not defined anywhere else |
| AI_SAVING_MODE_COLONIAL_MAINTENANCE | 0.5 | Static colonial maintenance when in saving mode (or lower if it would mean a negative balance) |
| AI_SAVING_MODE_EXPLORATION_MAINTENANCE | 0.5 | Static exploration maintenance when in saving mode (or lower if it would mean a negative balance) |
| AI_SAVING_MODE_CULTURAL_MAINTENANCE | 0.25 | Static cultural maintenance when in saving mode (or lower if it would mean a negative balance) |
| AI_SAVING_MODE_ALLOWED_INFLATION_MODIFIER_LOW | 5 | Mult max allowed inflation by this much when in low saving mode |
| AI_SAVING_MODE_ALLOWED_INFLATION_MODIFIER_HIGH | 10 | Mult max allowed inflation by this much when in high saving mode |
| AI_PRIVILEGE_LONG_MODIFIER_TRESHOLD | 24 | Ai will ignore modifiers giving global estate max tax when adding privileges if the modifier will last for longer than that many months |
| AI_THREAT_STRENGTH_THRESHOLD | 0.5 | Ai will look for allies that would put them around this fraction of their targets strength |
| AI_THREAT_TOO_HIGH_THRESHOLD | 0.875 | Threat level (0 - 1, enemy strength divided by summed strength) at which AI will ignore a threat as it would require a big chain of allies |
| MAX_ALLIES_TO_PICK_AGAINST_ENEMIES | 2 | Amount of allies which will be simultaneously worked towards when looking for allies |
| AI_ALLIES_SELECTION_RANDOMNESS_RANGE | 0.5 | Randomness added to the factor which is used when sorting nations when looking for alliances |
| AI_TOO_STRONG_ALLY | 1.25 | Ai will try to avoid countries that would make the balance of power go above this fraction in comparison to their target strength when looking for allies against strong neighbors |
| AI_TOO_WEAK_ALLY | 0.33 | Ai will try to avoid countries that are below this fraction of our strength when looking for allies against strong neighbors |
| AI_DESIRED_ARMY_MANPOWER_RECOVERY_MONTHS | 48 | Ai will try to have enough manpower recovery to rebuild their whole current army in that many months |
| AI_INDEPENDENCE_WAR_WIN_CHANCE | 0.25 | Winchance above which AI will try to fight independence wars |
| AI_ALLIES_SELECTION_NUM_ALLIES_FACTOR | -0.2 | |
AI TECH | ||
| AI_UNLOCK_UNIT_SCORE_PER_AGE | 25 | AI score to unlock a unit based on age difference in that category |
| AI_PEACE_CHECK_DAYS | 120 | |
Adjacencies[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| UV_SCALE | 0.125 | |
| SMOOTH_FADE_DISTANCE | 5 | |
| SMOOTH_ITERATIONS | 0 | |
| SMOOTH_KERNEL_SIZE | 1 | |
| TESSELATION_MAX_ANGLE | 5 | |
| TESSELATION_MIN_DISTANCE | 0.1 | |
| TESSELATION_MAX_DISTANCE | 1 | |
| DEFAULT_WIDTH | 1.5 | |
| OPACITY_FADE_DISTANCE | 0.25 | |
| GROUND_OFFSET | 1 | |
| MIDPOINT_STRETCH | 0.01 | |
| ADJUST_UNDEFINED | 0.5 |
BlockadeGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| SCHEMATIC_NAME | blockade_schematic | |
| SCALING_SPEED | 5 | |
| FINAL_SCALE | 0.5 | |
| PORT_DISPLACEMENT | { 0, 0, 2.2 } | |
| OPACITY_ZOOM_STEP | 5 |
Border[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
cull borders when zooming out | ||
| MAX_ZOOM_STEP_LOCATION | 12 | @province_zoomstep_max |
| MAX_ZOOM_STEP_PROVINCE | 16 | @location_zoomstep_max |
| MAX_ZOOM_STEP_AREA | 22 | @area_zoomstep_max |
| MAX_ZOOM_STEP_COUNTRY | 22 | |
| MAX_ZOOM_STEP_WAR | 22 | |
| MAX_ZOOM_STEP_SELECTED | -1 | @location_zoomstep_max |
| MAX_ZOOM_STEP_HIGHLIGHTED | -1 | @province_zoomstep_max |
| MAX_ZOOM_STEP_IMPASSABLE | 8 | @province_zoomstep_max |
| MAX_ZOOM_STEP_BLOCKADED | -1 | @province_zoomstep_max |
| MAX_ZOOM_STEP_SEA_LANE | 22 | |
Character[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MAX_INFANT_AGE | 2 | |
| MAX_CHILD_AGE | 10 | |
| MAX_ADOLESCENT_AGE | 15 | |
| ADULT_AGE | 16 | |
| AI_MIN_MARRIAGE_AGE | 19 | |
| AI_MAX_FEMALE_MARRIAGE_AGE | 30 | |
| OLD_AGE_MONTH_CHANCE | 3 | 100 is dice roll |
| MAX_PREGNANCY_AGE | 40 | blocked above this |
| PREGNANCY_AGE_THRESHOLD | 35 | |
| PREGNANCY_CHANCE | 170 | 1000 is diceroll |
| PREGNANCY_FERTILITY_MIN_REDUCTION | 12 | |
| PREGNANCY_FERTILITY_MAX_REDUCTION | 25 | |
| MONTHLY_STAT_INCREASE_CHANCE_FOR_CHILD | 55 | <= on 1d100 |
| MAX_ABILITY_VALUE | 100 | |
| EXPLORER_EXTRA_LIFE | 15 | |
| DYNASTY_HEAD_MARRY_AGE | 25 | |
| DYNASTY_HEAD_MARRY_TARGET_MIN_AGE | 21 | |
| DYNASTY_HEAD_MARRY_TARGET_MAX_AGE | 28 | |
| CHILD_TRAIT_AGE | 3 | |
| YEARS_OF_RULING_FIRST_TRAIT | 1 | |
| YEARS_OF_RULING_SECOND_TRAIT | 10 | |
| YEARS_OF_RULING_THIRD_TRAIT | 25 | |
| LEADER_COMBAT_TRAIT_GAIN_CHANCE | 0.2 | |
| EDUCATION_AGE | 3 | |
| MAX_AGE_SETUP_ERROR_LOG | 100 | |
| INCOMPETENT_TOTAL_ABILITY_THRESHOLD | 50 | If all the ability scores are added together and are still lower than this, the character is considered Incompetent and it will give you an Alert |
| INCOMPETENT_AGE_THRESHOLD | 10 | you won't get Alert until the Ruler/Heir is this age |
| RULER_ATTRIBUTE_IMPORTANCE | 1 | |
| HEIR_ATTRIBUTE_IMPORTANCE | 0.9 | |
| RULER_OTHER_CHILD_ATTRIBUTE_IMPORTANCE | 0.8 | |
| HEIR_OTHER_CHILD_ATTRIBUTE_IMPORTANCE | 0.7 | |
| OTHER_CHARACTER_ATTRIBUTE_IMPORTANCE | 0.5 | |
| ATTRIBUTE_IMPORTANCE_MULTIPLIER | 4 | |
these modify liklihood of certain pops being used to generate a new character | ||
| RANDOM_CHARACTER_CHANCE_PRIMARY_CULTURE_MULTIPLIER | 80 | n-times more likely to select a Primary Culture pop |
| RANDOM_CHARACTER_CHANCE_ACCEPTED_CULTURE_MULTIPLIER | 50 | n-times more likely to select an Accepted Culture Culture pop |
| RANDOM_CHARACTER_CHANCE_TOLERATED_CULTURE_MULTIPLIER | 20 | n-times more likely to select an Tolerated Culture Culture pop |
| RANDOM_CHARACTER_CHANCE_CULTURE_OPINION_MULTIPLIER | 1 | multiplies with primary culture's opinion of a pop's culture, e.g. if it was 10, Kindred 3 becomes 30. Same culture is treated as Kindred |
| RANDOM_CHARACTER_CHANCE_RELIGION_OPINION_MULTIPLIER | 1 | multiplies with primary religion's opinion of a pop's religion, e.g. if it was 10, Kindred 3 becomes 30 |
Cities[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
Select a province and use the "Cities.DrawDebugLines" for easy tweaking | ||
| GRID_TILE_SIZE | 1.25 | Target size of the tiles in the grid. WARNING: this can be set through the user settings. |
| GRID_TILE_MIN_RELATIVE_SIZE | 0.2 | It is quite common for tiles close to water to be very small. All tiles that are smaller than GRID_TILE_SIZE * GRID_TILE_MIN_RELATIVE_SIZE will be ignored |
| MESH_GLOBAL_SCALE_FACTOR | 1.1 | A global multiplier on mesh scales. Preferred place to tweak scales is in gfx/map/city_data |
| MAX_ACTIVE_SOUND_EFFECTS | 5 | |
| CULTURE_THRESSHOLD | 0.05 | min percentage of the dominant culture that another culture hast to have to start being able to spawn buildings |
CityAudio[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| SCHEMATIC_NAME | city_audio | |
| MAX_ZOOM_STEP | 3 |
CityGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| FLAG_MESH_NAME | flag_mesh | Use "simple_plane_A_flag_mesh" for better debugging of the flags |
| FLAG_LOCATOR_PREFIX | flag | |
| FLAG_LOOK_DIRECTION | { 0, -1 } | |
| FLAG_TEXTURE_SIZE | { 192, 128 } | |
| LOW_QUALITY_FLAG_TEXTURE_SIZE | { 42, 28 } | |
| LOW_QUALITY_FLAG_CAMERA_ZOOM_LEVEL | 4 | |
| TOOLTIP_ZOOM_LEVEL | 2 | |
| FLAG_POSITION | { 0, 0, 0 } | |
| FLAG_SCALE | 1 | |
| MAX_LOCATIONS_REBUILT_BY_FRAME | 10 | |
| COUNTRY_COLOR_BUILDING_PRIMARY_REPLACEMENT_OPACITY | 1 | |
| COUNTRY_COLOR_BUILDING_SECONDARY_REPLACEMENT_OPACITY | 0.25 | |
| COUNTRY_COLOR_BUILDING_TERCIARY_REPLACEMENT_OPACITY | 0.25 | |
These two defines create a curve that rescales the location's population for the pop_count contributors All pops up to the first threshold value will be scaled by the first scale factor, all pops from the first threshold value up to the second threshold value will be scaled by the second scale factor, etc. The last scale factor will be used for all pops above the last threshold value | ||
| POP_CURVE_THRESHOLDS | { 10, 50, 100, 200, 400 } | Thousands of pops |
| POP_CURVE_SCALE_FACTORS | { 2, 1, 0.9, 0.8, 0.7, 0.25 } | |
Screen percentage culling values for city graphics This makes large cities be visible for a lot longer than small villages. Lower values mean that the city will be visible at a longer distance (a value of 50% means that the item will be culled if it takes up less than 50% of the screen height) Array values are used for different Map Object quality settings (off,low,medium,high) 'off' will disable all trees etc, but cities are still rendered. We could use the same settings as low, but this allows us to tweak them separately. | ||
| DECAL_CULL_SCREEN_PERCENTAGE | { 0.2, 0.125, 0.075, 0.05 } | |
| ROAD_CULL_SCREEN_PERCENTAGE | { 0.2, 0.125, 0.075, 0.05 } | |
| MESH_CULL_SCREEN_PERCENTAGE | { 0.075, 0.05, 0.04, 0.03 } | |
| MESH_CULL_FADE_RANGE | { 0.3, 0.25, 0.12, 0.08 } | this vale is in actual screen percentage, it's used for gradual mesh culling - when the "city's" screen percentage is MESH_CULL_SCREEN_PERCENTAGE or lower all meshes are culled, when it's MESH_CULL_SCREEN_PERCENTAGE + MESH_CULL_FADE_RANGE or higher all meshes are visible |
| CULL_FADE_RANGE | { 0.1, 0.1, 0.1, 0.1 } | This value is in % of decal/road_cull_screen_percentage |
Impostor settings Impostors are placed with the most important mesh directly on the city position (the locator), and subsequent meshes in a circle around it (filler slots). Some meshes can have the "exclusive" mode set, which means its mesh will be placed in the middle and scaled with EXCLUSIVE_SCALE. In this mode no other meshes will spawn If there's no exclusive mesh there's going to be 1 center piece mesh and up to FILLER_SLOT_COUNT filler meshes Some settings in the db can make the center-piece mesh use filler scale or center-piece scale | ||
| IMPOSTOR_EXCLUSIVE_SCALE | 2.5 | |
| IMPOSTOR_CENTERPIECE_SCALE | 2.25 | |
| IMPOSTOR_FILLER_SCALE | 2 | |
| IMPOSTOR_FILLER_SLOT_COUNT | 5 | |
| IMPOSTOR_FILLER_RADIUS | 3.5 | |
| IMPOSTOR_FILLER_ROT_OFFSET | 0.5s | This value is relative to SLOT_COUNT. 1.0 means the rotation offset is "1 slot" - i.e if you have 4 slots, 1.0 means 90 degrees. |
| IMPOSTOR_ZOOM_STEP | 6 | |
| IMPOSTOR_MOVING_STEP | 1 | |
| ZOOM_OUT_STEP | 9 | |
| CITY_SAFE_GRID_RADIUS | 5 | |
Colony[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| BASE_COST | 1 | |
| DISTANCE_COST_FACTOR | 0.0001 | |
| POPULATION_COST_FACTOR | 0.1 | |
| POPULATION_COST_CAP | 2 | |
| LOCATION_MAX_POP_ALLOWED_FOR_COLONY | 50 | |
| DEVELOPMENT_AT_NEW_COLONY | 5 | |
| SAME_AREA_COST_FACTOR | -0.5 | |
| SAME_REGION_COST_FACTOR | -0.33 | |
| POWER_PROJECTION_SPREAD | 0.005 | |
| CONQUISTADOR_CONSTRUCTION_TIME | 90 | days |
| EXPLORATION_CONSTRUCTION_TIME | 270 | days |
| EXPLORATION_BASE_COST | 10 | |
| EXPLORATION_BASE_TIME | 3 | |
| EXPLORATION_DISTANCE_TIME | 9 | |
| EXPEL_TRIBAL_BENEFIT_DURATION | 120 | |
| MAX_CHARTERS_IN_PROVINCE | 3 |
Combat[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| NAVAL_LEVY_IMPACT | 0.05 | |
| RETREAT_STRENGTH_DAMAGE | 0.1 | |
| GARRISON_AFTER_OCCUPATION | 0.01 | |
| MORALE_COLLAPSE_THRESHOLD | 0.05 | |
| MINIMUM_COMBAT_DURATION | 24 | |
| BOMBARD_BASE_CHANCE | 0.2 | |
| BOMBARD_HOURS | 5 | |
| HOURS_PER_PHASE | 5 | |
| COMBAT_DICE_SIDE | 6 | |
| COMBAT_BASE | 5 | |
| COMBAT_MAX | 15 | |
| COMBAT_DAMAGE_MULT | 0.01 | |
| COMBAT_HOURLY_MORALE_TICK | 0.01 | |
| COMBAT_IMPRISONED_UNIT_DEATH_RATE | 0.4 | |
| STRAIT_CROSSING_DICE | -2 | |
| RIVER_CROSSING_DICE | -1 | |
| SEA_LANDING_DICE | -1 | |
| FOOD_PERCENTAGE_LOST_AT_OCCUPATION | 0.9 | lost 90% at occupation.. |
| LAND_LEVY_COMBAT_IMPACT | 0.2 | |
| LAND_LEVY_COMBAT_AGE_MUL | 0.05 | |
| DAMAGE_ON_LEVY_FACTOR | 0.1 | |
| LEVY_ASSAULT_EFFICIENCY | 0.3 | |
| INITIATIVE_BASE_CHANCE | 0.1 | base chance each tick |
| INITIATIVE_CHANCE_EACH | 0.02 | Chance to engage per point of initiative |
| INITIATIVE_CHANCE_HOURS | 0.01 | Chance to engage per hour passed (adds with INITIATIVE_CHANCE_EACH) |
| COMBAT_SPEED_SCALE = 0.05 | nil | |
| NAVAL_EXPERIENCE_DAMAGE_REDUCTION | 0.5 | |
| LAND_EXPERIENCE_DAMAGE_REDUCTION | 0.5 | |
| LAND_STRENGTH_DAMAGE_MODIFIER | 0.2 | |
| NAVAL_STRENGTH_DAMAGE_MODIFIER | 0.05 | |
| LAND_MORALE_DAMAGE_MODIFIER | 1 | |
| NAVAL_MORALE_DAMAGE_MODIFIER | 0.2 | |
| NOT_ENGAGED_STRENGTH_DAMAGE_MODIFIER | 1.1 | |
| NOT_ENGAGED_MORALE_DAMAGE_MODIFIER | 1.2 | |
| NAVAL_RETREAT_DAMAGE_THRESHOLD | 0.5 | if below this % strength, check chance to retreat. |
| NAVAL_RETREAT_CHANCE | 10 | out of 100 if below the damage threshold, it will retreat .. combat speed increases it. |
| BASE_MORALE_DAMAGE | 1 | |
| FOOD_PERCENTAGE_LOST_AT_RETREAT | 0.5 | |
| EXPERIENCE_GAIN | 30 | |
| LAND_WAR_EXHAUTION_FROM_LOSSES | nil | |
| NAVAL_WAR_EXHAUTION_FROM_LOSSES | nil | Multiplier on losses |
| MAX_WAR_EXHAUSTION_FROM_BATTLE | 10 | |
| TRADITION_GAIN_LAND | 10 | |
| TRADITION_GAIN_NAVAL | 20 | |
| PRESTIGE_FROM_LAND | 0.5 | |
| PRESTIGE_FROM_NAVAL | 0.5 | |
| DAYS_PER_SIEGE_PHASE | 30 | |
| MIN_DAYS_PER_SIEGE_PHASE | 7 | |
| DAYS_PER_SIEGE_PHASE_WITHOUT_FORT | 15 | |
| SIEGE_DISEASE_IMPACT | 0.05 | |
| SIEGE_MAX_FORT_LIMIT_BONUS | 8 | |
| SIEGE_REGIMENTS_FOR_ARTILLERY | 3 | |
| SIEGE_MEMORY | 11 | |
| SIEGE_WIN | 20 | |
| MAX_BREACH | 3 | |
| SIEGE_SUPPLY_SHORTAGE_LOSS | 0.02 | |
| SIEGE_SUPPLY_SHORTAGE_IMPACT | 1 | |
| SIEGE_FOOD_SHORTAGE_LOSS | 0.03 | |
| SIEGE_FOOD_SHORTAGE_IMPACT | 2 | |
| SIEGE_WATER_SHORTAGE_LOSS | 0.05 | |
| SIEGE_WATER_SHORTAGE_IMPACT | 3 | |
| SIEGE_DEFENDER_DESERTION_LOSS | 0.1 | |
| SIEGE_DEFENDER_DESERTION_IMPACT | 2 | |
| SIEGE_BREACH_LOSS | 0.05 | |
| SIEGE_BREACH_IMPACT | 2 | |
| SIEGE_DAYS_PER_PHASE | 5 | |
| ASSAULT_ATTACKER_LOSS | 1.5 | |
| ASSAULT_ATTACKER_MORALE_LOSS | 0.4 | |
| ASSAULT_DEFENDER_LOSS | 0.05 | |
| ASSAULT_DEFENDER_MORALE_LOSS | 0.25 | |
| ASSAULT_DICE_MODIFIER | 5 | |
| ASSAULT_WIDTH_LIMIT | 1 |
CombatPrediction[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| CLEAR_VICTORY_THRESHOLD | 2 | |
| PROBABLE_VICTORY_THRESHOLD | 1 | |
| LEADER_CONTRIBUTION | 0.01 | |
| STRENGTH_THRESHOLD | 0.15 | |
| STRENGTH_CONTRIBUTION | 0.5 | |
| MORALE_THRESHOLD | 0.1 | |
| MORALE_CONTRIBUTION | 2 | |
| QUALITY_THRESHOLD | 0.1 | |
| QUALITY_CONTRIBUTION | 4.5 | |
| TERRAIN_CONTRIBUTION | 0.667 | |
| UNPREDICTABLE_SMALL_BATTLE_THRESHOLD | 0.1 |
Country[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| BASE_ESTATE_POWER_FROM_CABINET | 0.25 | |
| BASE_ESTATE_POWER_FROM_COMMAND | 0.25 | |
| COUNTRIES_GETTING_SCORE | 8 | |
| PEACE_IMPACT_ADM_SCORE | 0.25 | |
| PEACE_IMPACT_DIP_SCORE | 0.25 | |
| PEACE_IMPACT_MIL_SCORE | 0.25 | |
| PEACE_IMPACT_LENGTH_IN_YEARS | 3 | |
| VICTORY_CARD_DECAY_MONTHS | 120 | months to lose all score. |
| VICTORY_CARD_INCREASE_MONTHS | 120 | months to gain all score. |
| VICTORY_CARD_BONUS_SCORE | 1000 | score given per level |
| RANDOM_PRIVATEER_SPAWN_POWER | 0.2 | how much power is added to privateers when they appear or get a random boost |
| SOCIAL_VALUE_REQUIREMENT_FOR_REFORM | 50 | |
| SOCIETAL_VALUE_INERTIA_SCALE | 100 | |
| GRANT_PRIVILEGE_SATISFACTION_IMPACT | 3 | |
| REVOKE_PRIVILEGE_SATISFACTION_BASE | -0.25 | |
| REVOKE_PRIVILEGE_SATISFACTION_IMPACT | -3 | |
| GRANT_PRIVILEGE_PENALTY_FOR_OTHERS_SCALE | -0.5 | |
| PARLIAMENT_AGENDA_FOR_OTHERS_SCALE | -0.2 | |
| POTENTIAL_MISSION_COUNT | 10 | |
| COUNTRY_PRIMARY_COLOR_LIST | normal_colors | |
| COUNTRY_SECONDARY_COLOR_LIST | metal_colors | |
| COUNTRY_TERTIARY_COLOR_LIST | normal_colors | |
| COUNTRY_MAP_COLOR_LIST | normal_colors | |
| COUNTRY_COLOR_MIN_SATURATION | 0.35 | |
| COUNTRY_COLOR_MAX_SATURATION | 1 | |
| COUNTRY_COLOR_MIN_VALUE | 0.7 | |
| COUNTRY_COLOR_MAX_VALUE | 1 | |
| COUNTRY_COLOR_DISTANCE_NEIGHBOUR | 0.1 | |
| COUNTRY_COLOR_DISTANCE_ORIGIN | 0.25 | |
| MINIMUM_GOLD | -999999 | |
| MAXIMUM_GOLD | 999999 | |
| MAX_MANPOWER_YEARS | 5 | |
| MAX_SAILORS_YEARS | 5 | |
| BASE_RESEARCH_COST | 25 | |
| AGE_RESEARCH_MODIFIER | 0.15 | multiplied per age.. |
| PREVIOUS_AGE_REDUCTION | -8 | |
| INSTITUTION_MINIMUM_PERCENT | 0.2 | |
| CABINET_ACTION_SKILL_MODIFIER | 0.005 | |
| ENSLAVE_AT_OCCUPATION_DAY_COOLDOWN | 500 | more than a year, should cover most back&forth shit. |
| ENSLAVE_AT_OCCUPATION | 0.1 | percentage of a pop to enslave on occupying a location |
| ENSLAVE_FROM_PRIVATEERS | 0.01 | |
| MONTHLY_PRIVATEER_SLAVE_CHANCE | 25 | less than this on a d1000 |
| ANNEX_MIN_COST | 50 | |
| ANNEX_COST_PER_LOCATION | 20 | |
| ALERT_HIGH_WAR_EXHAUSTION | 10 | |
| ALERT_HIGH_DOOM | 90 | |
| ARMY_LEVY_RECRUITMENT_TIME | 15 | |
| NAVY_LEVY_RECRUITMENT_TIME | 15 | |
| LEVY_RECOVERY_MONTHS | 240 | |
| LEVY_RECRUIT_THRESHOLD | 0.2 | |
| ESTATE_LEVY_SATISFACTION_THRESHOLD | 0.25 | |
| ESTATE_TAX_SATISFACTION_THRESHOLD | 0.01 | |
| TRADE_SLAVE_FACTOR | 0.2 | |
| COLONIAL_MIGRATION_DISTANCE_FACTOR | 0.0001 | |
| COLONIAL_POWER_PROJECTION_THRESHOLD_TO_START | 25 | |
| COLONIAL_POWER_PROJECTION_THRESHOLD_TO_GET_KICKED_OUT | 20 | |
| CAPITAL_MOVE_BASE_DAYS | 180 | |
| CAPITAL_MOVE_DISTANCE_FACTOR | 0.05 | |
| MERCHANT_DISTANCE_COST_DIVISOR | 2000 | |
| MERCHANT_MAINTENANCE_COST | 0.5 | |
| NEGATIVE_CULTURE_OPINION_ON_COUNTRY | 10 | |
| NEGATIVE_RELIGION_OPINION_ON_COUNTRY | 10 | |
| POSITIVE_CULTURE_OPINION_ON_COUNTRY | 5 | |
| POSITIVE_RELIGION_OPINION_ON_COUNTRY | 5 | |
| POP_SATISFACTION_NUDGE_AFTER_REANNEX | 0.5 | |
| REBEL_MONTHLY_POWER_SCALE | 0.001 | |
| NATIONALISM_BASE_PROGRESS | 0.0025 | |
| REBEL_MONTHLY_FOREIGN_SUPPORT_SCALE | 0.01 | |
| REBEL_DYNASTY_SUPPORT | 0.001 | |
| REBEL_ESTATE_INVEST_IMPACT_PER_POP | 0.01 | |
| REBEL_LACK_OF_CONTROL_FACTOR | 0.005 | |
| REBEL_ESTATE_POWER_FACTOR | 0.05 | |
| KARMA_NEUTRAL_THRESHOLD | 33 | |
| KARMA_POP_SIZE_CONVERSION_MULTIPLY | 1 | |
| KARMA_DEVELOPMENT_RELEASED_MULTIPLY | 0.1 | |
| KARMA_DEVELOPMENT_TAKEN_MULTIPLY | -1 | |
| KARMA_ON_DEATH_MULTIPLY | 0.25 | |
| REGIONAL_FOOD_BASE_CAPACITY | 100 | |
| EXTEND_REGENCY_YEARS | 5 | |
| PRIVATEER_MARITIME_IMPACT | 0.01 | |
| PRIVATEER_NO_SAILORS_DECAY | 0.05 | |
| PRIVATEER_HARASSMENT_IMPACT | -0.005 | |
| PARLIAMENT_DURATION_DAYS | 180 | |
| PARLIAMENT_ISSUE_THRESHOLD | 0.5 | |
| PARLIAMENT_AGENDA_REPEAT_FACTOR | -0.25 | |
| DURATION_BEFORE_PURGING_INACTIVE_COUNTRIES_IN_DAYS | 365 | |
| PARLIAMENT_COOLDOWN_MONTHS | 59 | |
| LOW_CONTROL_THRESHOLD_FOR_BEST_TAX | 0.95 |
Culture[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| ACCEPTED_CULTURE_BASE_COST | 3 | |
| TOLERATED_CULTURE_BASE_COST | 1 | |
| ACCEPTANCE_OPINION_POSITIVE_FACTOR | -0.25 | Kindred and Positive |
| ACCEPTANCE_OPINION_NEGATIVE_FACTOR | -0.5 | Enemy and Negative has a bigger impact |
| ACCEPTANCE_LANGUAGE_FACTOR | -0.15 | |
| ACCEPTANCE_LANGUAGE_FAMILY_FACTOR | -0.05 | |
| ACCEPTANCE_POP_SIZE_COUNTRY_MULTIPLIER | 0.35 | |
| ACCEPTANCE_POP_SIZE_GLOBAL_MULTIPLIER | 0.35 | |
| ACCEPTANCE_POP_SIZE_COUNTRY_MIN_MAX | { -0.35, 0.35 } | |
| ACCEPTANCE_POP_SIZE_GLOBAL_MIN_MAX | { -0.35, 0.35 } | |
| ACCEPTANCE_SHARED_CULTURE_GROUP_FACTOR | -0.3 | the maximum. reduced by each unshared culture group |
| TRADITION_DECAY | -0.05 | |
| INFLUENCE_DECAY | -0.05 | |
| ARTIST_INFLUENCE_GAIN_FACTOR | 2 | |
| ARTIST_MONTHLY_PROGRESS | 0.01 | |
| ART_DESTROY_CHANCE_ON_CONQUEST | 10 | % chance 0-100 |
| ART_CAPTURE_CHANCE_ON_CONQUEST | 40 | % chance 0-100 |
| STATE_CLERGY_LITURGICAL_POWER | 20 | |
| COUNTRY_POWER_COURT_LANGUAGE | 1 | |
| MERCHANT_POWER_COMMON_LANGUAGE | 1 | |
| CULTURAL_INFLUENCE_ON_LANGUAGE_POWER | 1 | |
| MARKET_TOTAL_MERCHANT_POWER_ON_LANGUAGE_POWER | 1 | |
| NOBLE_LIKE_LANGUAGE_THRESHOLD | 0.5 | |
| MINIMUM_NAMES_PER_LANGUAGE | 10 | lowest number of male or female names in a language before throwing an error |
| CORE_THRESHOLD | 0.5 | |
| CULTURE_WAR_RANGE | 0.5 | |
| ACCEPTED_CULTURE_SETUP_ERROR_IF_ABOVE_MAX | 2 | If setup country has this many accepted cultures above the max accepted cultures, throw an error |
| ACCEPTED_CULTURE_SETUP_ERROR_IF_BELOW_MAX | 1 | If setup country has this many accepted cultures below the max accepted cultures (and there are available targets inside the country), throw an error |
Diplomacy[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| AUTO_TIME_OUT_MONTHS | 2 | |
| SEND_GIFT_COOLDOWN | 120 | months |
| PROFESS_TRUST_REPUTATION_COST | 3 | |
| MULTIPLE_ANNEX_PENALTY | -0.5 | |
| SUBJECTS_STRENGTH_THRESHOLD | 0.25 | |
| SUBJECTS_STRENGTH_SCALE | -2 | default value |
| GOOD_RELATION_THRESHOLD_FOR_BUILDINGS | 100 | |
| RIVAL_OPINION_THRESHOLD | 100 | |
| FRIENDLY_CULTURE_SCALE_ON_SHARED_BORDER | 0.1 | |
| MAKE_SUBJECT_PEACE_POP_NATION | 25 | |
| PEACE_BUILD_LEVEL_SCALE | 0.2 | |
| PEACE_BUILD_CAP | 90 | |
base | ||
| SUBJECT_UPKEEP_BASE | 0.1 | |
| SUBJECT_UPKEEP_ECONOMY_RATIO_SCALE | 2 | |
| SUBJECT_UPKEEP_ECONOMY_MIN | 0.1 | |
modifiers | ||
| SUBJECT_UPKEEP_RANK_SCALE | 0.2 | |
| SUBJECT_UPKEEP_COMMON_DIALECT | -0.1 | |
| SUBJECT_UPKEEP_COMMON_LANGUAGE | -0.05 | |
| SUBJECT_UPKEEP_COMMON_RELIGION | -0.1 | |
| SUBJECT_UPKEEP_COMMON_GROUP | -0.05 | |
| TOO_DISLOYAL_THRESHOLD | 50 | |
| DISLOYAL_REVENUE_SCALE | -0.02 | |
| CALL_FOR_PEACE_THRESHOLD_MONTHS | 60 | |
| CALL_FOR_PEACE_WARSCORE_LIMIT | 67 | |
| STABILITY_BLOCK_THRESHOLD | -50 | |
| STAB_HIT_GOOD_PEACE | -10 | |
additive base values | ||
| ANTAGONISM_BASE_PER_LOCATION | 0.4 | fixed for any location |
| ANTAGONISM_BASE_PER_LOCATION_DEVELOPMENT | 0.04 | multiplied by dev |
| ANTAGONISM_BASE_PER_LOCATION_LOG_DEVELOPMENT | 0.4 | multiplied by a log2 scale of dev |
| ANTAGONISM_BASE_ATTACKER_GREAT_POWER_SCORE_MULTIPLIER | 0.01 | +50% cap, multiplied by attacker's GP score to provide antagonism increase |
| ANTAGONISM_BASE_DEFENDER_GREAT_POWER_SCORE_MULTIPLIER | 0.01 | -50% cap, multiplied by defender's GP score to provide antagonism reduction |
| ANTAGONISM_BASE_AE_INCREASE_FOR_NON_TARGET_MODIFIER | 0.33 | AE increase for countries that are not main targets of the war |
modify the base value of antagonism for the location | ||
| ANTAGONISM_BASE_MODIFIER_WE_ARE_OVERLORD | 0.9 | |
| ANTAGONISM_BASE_MODIFIER_WE_ARE_THE_TARGET | 0.5 | |
| ANTAGONISM_BASE_MODIFIER_EPICENTRE_DISTANCE_FACTOR | 0.75 | 0.75 per 100 distance |
these modify dropped antagonism bombs | ||
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_OVERLORD | 0.5 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_CULTURE | 0.4 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_CULTURE_GROUP | 0.2 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_INFIDEL_CONQUEST | 0.4 | different religion group conquered same religion province |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_RELIGION | 0.35 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_RELIGION_GROUP | 0 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_DIFFERENT_RELIGION | -0.35 | we don't care about those heathens |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_GOVERNMENT_TYPE | 0.05 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_DIFFERENT_GOVERNMENT_TYPE | -0.05 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_DIPLOMATIC_REPUTATION | -0.04 | reduces antagonism |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_DIALECT | 0.25 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_LANGUAGE | 0.2 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_SAME_LANGUAGE_FAMILY | 0.05 | |
| ANTAGONISM_ADDITIONAL_MODIFIER_PENALTY_PRE_EXISTING_ANTAGONISM | 0 | how much any existing antagonism impacts future antagonism gains |
| ANTAGONISM_ADDITIONAL_MODIFIER_PERCENT_ABOVE_GP_SCORE_FOR_DONT_CARE | 1.5 | if we're at least 2.5x as powerful as them, we don't care so much about what they do |
| ANTAGONISM_ADDITIONAL_MODIFIER_GP_SCORE_MULTIPLIER_MAX | 0.25 | max amount of extra antagonism for being close in gp score |
| ANTAGONISM_ADDITIONAL_MODIFIER_GP_SCORE_MULTIPLIER_MIN | -0.25 | min amount of extra antagonism for being close in gp score |
| ANTAGONISM_ADDITIONAL_MODIFIER_PEACE_SUBJECT_REDUCTION | -0.5 | AE reduction if it is taken for a subject |
| ANTAGONISM_ADDITIONAL_MODIFIER_SUBJECT_OF_AGGRESSOR | -0.8 | |
these get applied to the antagonism a country feels towards another as a base value | ||
| ANTAGONISM_STATIC_SAME_CULTURE | -2 | |
| ANTAGONISM_STATIC_SAME_CULTURE_GROUP | 0 | |
| ANTAGONISM_STATIC_DIFFERENT_CULTURE_GROUP | 4 | |
| ANTAGONISM_STATIC_SAME_RELIGION | -2 | |
| ANTAGONISM_STATIC_SAME_RELIGION_GROUP | 0 | |
| ANTAGONISM_STATIC_DIFFERENT_RELIGION | 10 | |
| ANTAGONISM_STATIC_SAME_GOVERNMENT_TYPE | -1 | |
| ANTAGONISM_STATIC_DIFFERENT_GOVERNMENT_TYPE | 1 | |
| ANTAGONISM_STATIC_DIFFERING_SOCIETAL_VALUES | 25 | multiplied by how different they are |
| ANTAGONISM_STATIC_SAME_DIALECT | -2 | |
| ANTAGONISM_STATIC_SAME_LANGUAGE | -1 | |
| ANTAGONISM_STATIC_SAME_LANGUAGE_FAMILY | 1 | |
| ANTAGONISM_STATIC_FOREIGN_LANGUAGE_FAMILY | 2 | |
| ANTAGONISM_FOR_COALITION_WARNING | 40 | |
| ANTAGONISM_FOR_COALITION | 50 | |
| PEACE_AUTO_ENFORCE_BASE_DAYS | 365 | |
| PEACE_AUTO_ENFORCE_RANK_DAY | 180 | |
| MIN_WARSCORE_TO_DEMAND | 10 | |
| PEACE_SEPERATE_BLOCK_MONTHS | 12 | |
| PEACE_COST_MODIFIER_FOR_REVOLT_WAR | -0.95 | Applied against a revolt war opponent |
| PEACE_COST_MODIFIER_UNOCCUPIED_FORT | 1 | |
| PEACE_COST_MODIFIER_FOR_NON_TARGET | 0.66 | Applied for countries that are not the main targets of the war |
| PEACE_COST_MODIFIER_FOR_SAME_CULTURE | -0.1 | Applied if dominant culture in location is the same as taker's primary culture |
| PEACE_COST_MODIFIER_FOR_SAME_RELIGION | -0.1 | Applied if dominant religion in location is the same as taker's religion |
| PEACE_COST_MODIFIER_FOR_POWER_PROJECTION_DIFFERENCE | 0.001 | modifies the cost of taking a location through power projection difference |
| PEACE_LOAN_SIZE_MULTIPLIER_FOR_MAX_WARSCORE_GOLD | 5 | how many times the country's loan size can be taken for the max war score amount |
| PEACE_MAX_WARSCORE_FOR_GOLD | 25 | most war score that can be used to take gold |
| PEACE_GOLD_AI_DESIRE | 0.1 | Per war score used |
| INFLATION_FROM_PEACE_GOLD | 0.0002 | inflation per month of income taken in peace (also applied to location sales) |
| PEACE_MAX_NOBLES_SACRIFICED_PERCENT | 0.25 | |
| PEACE_MAX_WARSCORE_FOR_SACRIFICE | 25 | most war score that can be used to sacrifice nobles |
| PEACE_NOBLES_SACRIFICED_PER_DOOM_POINT | 0.01 | pop size is 1/1000 per actual person |
| PEACE_SACRIFICE_AI_DESIRE | 2 | |
| INTERVENE_OPINION_THRESHOLD | 100 | |
| EXECUTION_RELATION_MODIFIER | -200 | |
| BASE_CHARACTER_SPY_CHANCE | 0.5 | |
| BASE_SPY_DISCOVERY_CHANCE_PER_YEAR | 0.25 | |
| MIN_SPY_NETWORK_SIZE_FOR_DISCOVERY | 25 | |
| SPY_DISCOVERY_COOLDOWN_MONTHS | 12 | |
| OPINION_MIN | -200 | |
| OPINION_MAX | 200 | |
| TRUST_MIN | -100 | |
| TRUST_MAX | 100 | |
| ANTAGONISM_MIN | 0 | |
| ANTAGONISM_BIAS_MIN | -100 | |
| ANTAGONISM_MAX | 1000 | |
| FAVORS_MAX | 100 | |
| TRAVEL_DAYS | 30 | |
| MAX_ANNEX_SIZE | 2 | |
| MAX_TRIBUTE_TREASURY_DEFICIT | -100 | |
| DEFAULT_ANNEX_MIN_RELATION | 190 | |
| DEFAULT_INTERNATIONAL_ORGANIZATION_ANNEX_MIN_RELATION | 150 | |
| DEFAULT_ANNEX_MIN_YEARS | 10 | |
| MONTHS_BEFORE_TOTAL_OCCUPATION | 60 | Before this many months have passed in the war, you cannot gain 100% warscore by just occupying the warleader |
| WAR_DEC_LEVY_RECRUIT_SPEED_FOR_MONTHS | 6 | |
| DEFAULT_WARGOAL_TICKINGWARSCORE_BONUS | 2 | Amount of warscore per month since attacker/defender started getting the bonus for completing war goal |
| WARGOAL_MAX_TICKING_WAR_SCORE | 25 | |
| WARGOAL_MAX_BONUS | 50 | |
| DEFAULT_WARGOAL_BATTLESCORE_BONUS | 3 | Battle score bonus from winning battles |
| SUPERIORITY_WARGOAL_WARSCORE_THRESHOLD | 10 | Needed battle score for getting ticking war score for war goal superiority |
| WARSCORE_MAX_FROM_BATTLES | 50 | maximum amount to get from a battles . |
| BATTLE_RESULT_SCALE | 25 | |
| BATTLE_RESULT_CAP | 25 | |
| WAR_JOIN_DEADLINE_MONTHS | nil | |
| TRUCE_YEARS | 3 | |
| SCALED_TRUCE_YEARS | 5 | |
| REVANCHISM_MONTHLY_DECAY | 0.833 | |
| CASUS_BELLI_MONTHS | 60 | |
| ANTAGONISM_IMPACT_ON_OPINION | -4 | |
| ANTAGONISM_NEIGHBOR_MODIFIER_IMPACT_ON_OPINION | -0.33 | |
| ANTAGONISM_OUT_OF_RANGE_MODIFIER_IMPACT_ON_OPINION | -0.25 | |
| ANTAGONISM_DEPENDENCY_MODIFIER_IMPACT_ON_OPINION | -0.9 | |
| ANTAGONISM_UNION_MODIFIER_IMPACT_ON_OPINION | -0.9 | |
| ANTAGONISM_SAME_SIDE_IN_WAR_MODIFIER_IMPACT_ON_OPINION | -0.8 | |
| ANTAGONISM_GETTING_DEFENSIVE_SUPPORT_MODIFIER_IMPACT_ON_OPINION | -0.75 | |
| ANTAGONISM_ROYAL_MARRIAGE_MODIFIER_IMPACT_ON_OPINION | -0.2 | |
| ANTAGONISM_MUTUAL_IO_MODIFIER_IMPACT_ON_OPINION | -0.2 | |
| PEACE_GOLD_MIN_ECONOMY | 20 | |
| PEACE_GOLD_COST_PER_MONTHLY_INCOME | 1 | |
| PEACE_GOLD_MAX_YEARLY_INCOMES | 2 | |
| PEACE_GOLD_STEP | 1 | |
| PEACE_RELEASE_NATION_FACTOR | -0.05 | |
| PEACE_CANCEL_SUBJECT_FACTOR | -0.2 | |
| PEACE_BECOME_SUBJECT_FACTOR | -0.1 | |
| PEACE_JUNIOR_PARTNER | 60 | |
| PEACE_GRANT_INDEPENDENCE | 60 | |
| OPINION_GOOD_RELATIONS | 50 | Threshold for good relations -1 stab hit. |
| OPINION_GREAT_RELATIONS | 100 | Threshold for great relations -2 stab hit. |
| OPINION_NO_WAR | 150 | Threshold for AI, being unable to declare war because one's own opinion of enemy is too high. |
| LOYALTY_FROM_OPINION | 0.15 | how much subject loyalty we get from opinion of overlord |
| IMPROVE_RELATION_SUBJECT_FACTOR | 2 | Subjects have a maximum this times higher. |
| MAX_WARSCORE_REDUCTION | -0.99 | Warscore reduction cannot go below -95% |
| CULTURE_WAR_IMPACT | 10 | |
| FAVORS_DECAY | 0 | |
| CURRY_FAVORS | 0.5 | |
| CURRY_FAVORS_RELATION_REQUIRED | 10 | |
| CURRY_FAVORS_MAX_FAVORS | 25 | |
| FAVORS_REJECTED_TRUST_LOSS | 0.25 | Proportion of favors used |
| FAVORS_REJECTED_DIP_REP_LOSS | 0.005 | Propotion of favors used times actor's trust in recipient |
| FAVORS_REJECTED_DIP_REP_MONTHS | 24 | Duration per point of diplo rep |
| SPY_NETWORK_DECAY | -1 | |
| SPY_NETWORK_SIEGE_EFFECT | 0.2 | |
| SPY_NETWORK_AE_EFFECT | -0.1 | |
| MONTHLY_SPYNETWORK | 1 | |
| INFILTRATE_ADMINISTRATION_DURATION | 24 | |
| BASE_GREAT_POWER | 4 | |
| MIN_TOTAL_RANKS_PER_GREAT_POWER | 400 | |
| MAX_TOTAL_RANKS_PER_GREAT_POWER | 800 | |
| GREAT_POWER_GAIN_PERCENTAGE | 0.7 | |
| GREAT_POWER_DROP_PERCENTAGE | 0.65 | |
| MONTHS_OF_TEETERING_BEFORE_GP_STATUS_LOST | 3 | |
| HEGEMONY_LOST_MONTHS | 120 | |
| HEGEMONY_MONTHLY_PROGRESS | 1 | |
| RANK_PEACE_COST_TIER_DIFF | 0.1 | |
| ROYAL_MARRIAGE_BASE | 2 | |
| ROYAL_MARRIAGE_PRESTIGE_DIFF_FACTOR | 0.01 | |
| ROYAL_MARRIAGE_RANK_PRESTIGE_DIFF_FACTOR | 0.25 | |
| ROYAL_MARRIAGE_SUBSEQUENT_SPOUSE_PRESTIGE_MULTIPLIER | 0.5 | each subsequent spouse gets a x% prestige gain hit over the previous in a royal marriage |
| ROYAL_MARRIAGE_RULER_IMPORTANCE_MULTIPLIER | 2 | |
| ROYAL_MARRIAGE_NTH_IN_LINE_IMPORTANCE_MULTIPLIER | 0.2 | each step away.. |
| PRESTIGE_FACTOR_FROM_TAKING_ON_DEBT | 0.2 | |
| GIFT_FAVORS | 5 | |
| LIBERTY_DESIRE_MONTHLY_DECAY | -0.5 | |
| PEACE_TREATY_FOOD_ACCESS | 0 | |
| PEACE_TREATY_MILITARY_ACCESS | 0 | |
| PEACE_TREATY_FLEET_BASING | 0 | |
| PEACE_TREATY_ANTI_PIRACY | 10 | |
| PEACE_TREATY_WAR_REPARATIONS | 10 | |
| WAR_REPARATIONS_FACTOR | 0.1 | |
| WAR_REPARATIONS_YEARS | 10 | |
| PEACE_TREATY_ANNUL_ALL_TREATIES | 10 | |
| ANNUL_DURATION_MONTHS | 120 | |
| PEACE_TREATY_ANNEX_REVOLTER_MAX_COST | 70 | |
| PEACE_TREATY_REVOLTER_SURVIVES_MAX_COST | 70 | |
| PEACE_TREATY_FORCE_MIGRATE_COST | 10 | |
| PEACE_TREATY_FORCE_MIGRATE_AE | 0 | |
| PEACE_TREATY_FORCE_MIGRATE_SIZE | 0.25 | |
| PEACE_TREATY_FORCE_MIGRATE_MONTHS | 120 | |
| PEACE_MAX_MONTHS_AT_WAR_BEFORE_START_DATE | 12 | |
| WAR_ENTHUSIASM_BASE | 0.5 | |
| WAR_ENTHUSIASM_ATTACKING_SIEGE | 0.25 | |
| WAR_ENTHUSIASM_DEFENDING_SIEGE | -0.5 | |
| WAR_ENTHUSIASM_CALL_FOR_PEACE | -0.01 | |
| WAR_ENTHUSIASM_WAR_EXHAUSTION | -0.02 | |
| WAR_ENTHUSIASM_UNIT_BALANCE | 0.5 | |
| WAR_ENTHUSIASM_REBEL_THREAT | -0.2 | |
| WAR_ENTHUSIASM_ONGOING_BATTLES | 10 | |
| WAR_ENTHUSIASM_CAPITAL | 0.05 | |
| WAR_ENTHUSIASM_WAR_GOAL | 0.05 | |
| WAR_ENTHUSIASM_INDEPENDENCE | 0.05 | |
| WAR_ENTHUSIASM_MEN_LOSSES | -2.5 | |
| WAR_ENTHUSIASM_SHIP_LOSSES | -4 | |
| WAR_ENTHUSIASM_TIME_MONTHS | 24 | Months of additional AI stubbornness in a war |
| WAR_ENTHUSIASM_TIME_EARLY_FACTOR | 0.0075 | During months of stubbornness the effect of time passed is multiplied by this |
| WAR_ENTHUSIASM_TIME_LATE_FACTOR | 0.01 | After months of stubbornness the effect of time passed is multiplied by this (only applied to positive war enthusiasm) |
| WAR_ENTHUSIASM_WAR_DIRECTION_FACTOR | 0.005 | AI willingness to peace based on who's making gains in the war |
| WAR_ENTHUSIASM_WAR_DIRECTION_WINNING_MULT | 5 | Multiplies AI emphasis on war direction if it's the one making gains |
| WAR_ENTHUSIASM_MILITARY_STRENGTH_FACTOR | 0.1 | AI unwillingness to peace based on manpower & forcelimits |
| WAR_ENTHUSIASM_SEPERATE_PEACE | -0.1 | |
| WAR_ENTHUSIASM_COALITION_FACTOR | 0.3 | AI unwillingness to peace based on being in a coalition war |
| WAR_ENTHUSIASM_ALLY_MULT | 0.5 | |
| WAR_ENTHUSIASM_DESPERATION | -0.75 | |
| WAR_ENTHUSIASM_ALLY_BASE_RELUCTANCE_MULT | 1.5 | |
| WAR_ENTHUSIASM_ALLY_WAR_EXHAUSTION_MULT | 1 | |
| WAR_ENTHUSIASM_ALLY_TIME_MULT | 1 | |
| WAR_ENTHUSIASM_ALLY_WAR_DIRECTION_MULT | 0 | |
| WAR_ENTHUSIASM_ALLY_FORCE_BALANCE_MULT | 0 | |
| WAR_ENTHUSIASM_ALLY_WARGOAL_MULT | 0 | |
| WAR_ENTHUSIASM_ALLY_CAPITAL_MULT | 1 | |
| WAR_ENTHUSIASM_ALLY_DESPERATION_MULT | 1 | |
| WAR_ENTHUSIASM_ALLY_REBELS_MULT | 1 | |
| WAR_ENTHUSIASM_ALLY_MILITARY_STRENGTH_MULT | 2 | |
| WAR_ENFORCE_DEMANDS_MAX_WARSCORE_FRACTION | 0.5 | How much warscore is needed to enforce demands in general |
| WAR_ENFORCE_DEMANDS_WARSCORE_COST_NEEDED | 2 | How many times more warscore do we need to have than the cost of an offer to enforce demands, |
| RANGE_MULTIPLIER_FOR_RIVALRY | 0.5 | Countries needs to be in this range to be valid |
| SETUP_NUM_RELATIONS_OVER_LIMIT_ERROR | 0.5 | If setup country has this % of diplomatic relations over the limit, throw an error |
| LIBERATE_SLAVES_BASE_COST | 5 | |
| LIBERATE_SLAVES_MAX_COST | 25 | |
| LIBERATE_SLAVES_POPULATION_DIVISOR | 10000 | |
Disease[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MAX_DISEASE_PERCENTAGE | 1 | |
| ESTIMATED_TRAVELLERS_TO_NEIGHBOURING_LOCATIONS | 0.05 | |
| ESTIMATED_PEOPLE_PER_UNIT_MERCHANT_CAPACITY | 0.01 | |
| ESTIMATED_TRAVELLERS_TO_CAPITAL | 0.05 | |
| ESTIMATED_TRAVELLERS_TO_MARKET_CENTRE | 0.05 | |
| ESTIMATED_MIXING_WITH_UNITS | 0.05 | |
| ESTIMATED_MIXING_WITHIN_UNITS | 0.3 | |
| PANDEMIC_LOCATIONS | 1000 | |
| SEVERE_LOCATIONS | 500 | |
| MODERATE_LOCATIONS | 200 | |
| PANDEMIC_MIN_DEATHS | 50000 | 50M |
| SEVERE_MIN_DEATHS | 1000 | 1M |
| MODERATE_MIN_DEATHS | 50 | 50k |
| MAX_ACCEPTABLE_PERCENTAGE_DIFFERENCE_TO_AMALGAMATE_POPS | 0.05 |
Dynasty[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| NAME_TEMPLATE_KEYS | { SOMEONE_OF_SOMEWHERE, SOMEONE_FROM_SOMEWHERE, SOMEONE_THE_SOMETHING_OF_SOMEWHERE__TYPE, SOMEONE_THE_SOMEDESC_SOMETHING__ADJ_TYPE, SOMEONE_THE_SOMELOCALITY_SOMETHING__TYPE, SOMEONE_THE_SOMENATIONALITY_SOMETHING__TYPE } | |
| NAME_ADJECTIVE_KEYS | { mighty, courageous, learned, expert } | |
| NAME_NOUN_KEYS | { scholar, executioner, warrior, knight } | |
| CALC_DYNASTY_HEAD_SCORE_MALE | 25 | Ignore this if country has Gender Equality |
| CALC_DYNASTY_HEAD_SCORE_RULER | 50 | We also add the Great Power Score of all the countries the character rules |
| CALC_DYNASTY_HEAD_SCORE_HEIR | 20 | Only if not also a ruler |
| CALC_DYNASTY_HEAD_SCORE_ESTATE | 100 | if the character's estate type has 'priority_for_dynasty_head = yes' |
Economy[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| ECONOMICAL_BASE_FROM_TAX_BASE | 0.75 | |
| ECONOMICAL_BASE_FROM_POP | 0.015 | |
| ECONOMICAL_BASE_FROM_TRADE_VALUE | 0.2 | |
| ECONOMICAL_BASE_FROM_TRADE_PROFIT | 0.2 | |
| ECONOMICAL_BASE_INTEREST | 0.25 | |
| ECONOMICAL_BASE_FROM_SUBJECT | 0.05 | |
| ECONOMICAL_BASE_SCALE_FROM_EACH_INSTITUTION | 0.066 | |
| ECONOMICAL_BASE_ALL_HAS_TRADE | false | if no, only building based countries, if yes, all countries |
| ESTATE_LOAN_SIZE | 0.5 | |
| MIN_ESTATE_LOAN | 2 | |
| ESTATE_LOAN_DURATION_IN_MONTHS | 60 | 5 years minimum |
| ESTATE_LOAN_MIN_INTEREST | 0.01 | |
| OVER_FORT_LIMIT_MULTIPLIER | 1 | |
| OVER_FORT_LIMIT_ERROR_LOG | 1 | If setup country is this far above its fort level, throw an error |
| ARTIST_SALARY_BASE_FACTOR | 0.025 | |
| UPGRADE_PRICE_MODIFIER | -0.25 | |
| CHANCE_FOR_BUILDING_REDUCTION_AT_BANKRUPTCY | 10 | |
| BANKRUPTCY_STAB_LOSS | -50 | |
| BANKRUPTCY_INFLATION_CHANGE_PERCENT | -0.25 | |
| BANKRUPTCY_DURATION_IN_MONTHS | 60 | |
| BANKRUPTCY_CONTROL_CHANGE_PERCENT | -0.33 | |
| SUPPLY_AND_DEMAND_STABILITY_OFFSET_CONSTANT | 1 | added to supply and demand when calculating market price, higher value means lower price volatility |
| UNPROFITABLE_BUILDING_WORKERS_LAID_OFF_PERCENTAGE | 10 | percentage of workers that an unprofitable, unsubsidised building will lay off per month |
| PROFITABLE_BUILDING_WORKERS_REHIRED_PERCENTAGE | 10 | percentage of workers that a profitable, unsubsidised building look to rehire per month if they're not at full employment percentage |
| LOAN_MIN_INTEREST | 0.01 | |
| LOAN_MAX_INTEREST | 0.25 | |
| LOAN_MIN_DURATION | 12 | |
| LOAN_MAX_DURATION | 360 | |
| LOAN_MIN_AMOUNT | 10 | |
| PRODUCTION_EFFIENCY_BONUS_PER_LEVEL | 0.01 | |
| PATROL_THE_SEAS_THRESHOLD | 90 | patrol until this maritime (0-100) |
| REFUND_FACTOR | 0.8 | |
| BUILDING_UPKEEP_FACTOR | 0.2 | |
| INFLATION_MINTING_GOLD_DEMANDS_FACTOR | 1 | |
| INFLATION_RGO_IMPACT_FACTOR | 0.01 | |
| INFLATION_RGO_CAP | 0.5 | |
| INFLATION_RGO_INCOME_FACTOR | 2 | |
| INFLATION_MINTING_IMPACT_FACTOR | 0.005 | |
| INFLATION_MINTING_TAX_FACTOR | 0.25 | |
| STABILITY_INVEST_FACTOR | 0.5 | |
| STABILIY_EXPENSE_FACTOR | 0.1 | |
| PRESTIGE_INVEST_FACTOR | 0.1 | |
| GOV_POWER_INVEST_FACTOR | 2 | |
| ESTATE_BUILD_MAX_CONTROL_THRESHOLD | 0.75 | |
| DESTROY_ESTATE_BUILD_MIN_CONTROL_THRESHOLD | 0.75 | |
| ESTATE_MAX_PRICE_MULTIPLIER | 2 | |
| SETUP_PRINT_OBSOLETE_BUILDINGS | false | |
| BALANCE_CACHE_IN_MONTHS | 12 | |
| MOTHBALL_MAINTENANCE_FACTOR | 0.5 | |
| PRISONERS_MAINTENANCE_FACTOR | 0.3 | |
| SOUND_TOLL_FACTOR | 0.25 | |
| BURGHER_MAX_TRADE_RANGE | 1000 | |
| TRADE_BURGHER_PROFIT_SCALE | 0.1 | |
| TRADE_IMPACT_ON_SUPPLY_AND_DEMAND | true | |
| DEFAULT_CURRENCY_STABILITY | 30 | |
| DEFAULT_CURRENCY_GOVERNMENT_POWER | 75 | |
| DEFAULT_CURRENCY_PRESTIGE | 20 | |
| DEFAULT_CURRENCY_PURITY | 60 | |
| DEFAULT_CURRENCY_RIGHTEOUSNESS | 90 | |
| GROWTH_FROM_FOOD_MULTIPLIER_MAX | 10 | Maximum scaling of the growth from food |
| TRADE_PATH_UPSTREAM_COST_MULTIPLIER | -0.2 | moving upstream is still better than over land |
| TRADE_PATH_DOWNSTREAM_COST_MULTIPLIER | -0.5 | moving downstream is easy peasy |
| TRADE_PATH_RIVER_CROSSING_COST_MULTIPLIER | 0.3 | crossing a river :\ |
| TRADE_SEA_MULTIPLIER | 0.2 | moving through sea is cheaper |
| TRADE_PORT_COST | 10 | fixed cost of loading/unloading boats |
| LOCATION_DEPOPULATION_ALERT_MONTHS | 60 | |
| TRADE_PATH_TRAVEL_COST_MULT | 10 | |
| LOW_PURITY_THRESHOLD | 25 |
Estate[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| PARLIAMENT_MONTHS_NOT_CALLED_THRESHOLD | 120 | |
| LOW_POWER_THRESHOLD | 0.25 | |
| LOW_SATISFACTION_THRESHOLD | 0.5 |
FogOfWar[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
Jomini defines | ||
these are used when generating the FoW alpha mask | ||
| TEXTURE_WIDTH | 4096 | noise texture will be baked into this one so the size should be at least as big as the noise texture for best result |
| TEXTURE_HEIGHT | 2048 | |
| KERNEL_SCALE | 4 | |
| SAMPLE_COUNT | 8 | |
| NOISE_TEXTURE | gfx/map/surround_map/fow_texture.dds | |
these are used when applying FoW to terrain and meshes etc | ||
| ALPHA_MIN | 0.5 | |
| PATTERN_SPEED | { -0.005, 0 } | |
| PATTERN_STRENGTH | 0.1 | |
| PATTERN_TILING | 50 | |
| FADE_OUT_ZOOM_STEP | 8 | |
| FADE_OUT_SPEED | 2 | |
Game defines | ||
| BASE_ALPHA | 0 | Increase this if you hate FoW. |
| FADE_SPEED | 1 | |
| REALM_ALPHA | 1 | |
| REALM_NEIGHBOR_ALPHA | 0.5 | |
| UNIT_ALPHA | 1 | |
| UNIT_NEIGHBOR_ALPHA | 0.5 | |
| FIXED_ALPHA_IN_IMPASSABLE | false | |
| IMPASSABLE_ALPHA | 0.5 | |
| COLOR_1 | { 0.5, 0.1, 0, 0.7 } | HSVa - Color that is used on the "bright" spots |
| COLOR_2 | { 0.5, 0.1, 0, 0.9 } | HSVa - Color that is used on the "dark" spots |
GUI[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| VALUE_LIMIT_SHOW_K | 100000 | army values greater that this will be shown as 50K |
| RENAME_MAX_LENGTH | 40 | How long can names and such be when renaming things (E.G., characters, titles, dynasties) |
| MAX_BREAKDOWN_ENTRIES | 10 | Used to limit the number of entries in some breakdowns (E.G., tax from vassals) |
| CONFIRM_MOUSE_HOLD_TIME | 0.5 | how long you have to hold the mouse button down to get an action |
| SIDEMENU_VERTICAL_OFFSET | 10 | |
| SIDEMENU_TOP_MARGIN | 180 | |
| SIDEMENU_BOTTOM_MARGIN | 110 | |
| SIDEMENU_SCROLLAREA_HEIGHT_OFFSET | 50 | |
| VERY_LOW_FOOD_ALERT_THRESHOLD | 0.25 | |
| LOW_FOOD_ALERT_THRESHOLD | 0.6 | |
| RGO_QUEUE_CTRL_CLICK | 5 | |
| BUILDINGS_QUEUE_CTRL_CLICK | 5 | |
| ARMIES_QUEUE_CTRL_CLICK | 5 | |
| CANCEL_CONSTRUCTION_QUEUE_CTRL_CLICK | 5 | Armies and buildings |
| REDUCE_RGO_QUEUE_CTRL_CLICK | 5 | |
| DESTROY_BUILDINGS_QUEUE_CTRL_CLICK | 5 | |
| TAKE_LOANS_CTRL_CLICK | 5 | |
| ROADS_QUEUE_CTRL_CLICK | 5 | |
| SHOWN_ROAD_UPGRADES_COUNT | 10 | |
| SHOW_SCROLLBAR_EVENT_OPTIONS_NUMBER | 5 | |
| TUTORIAL_STEP_INSTRUCTION_BUTTON_ID | next | |
| HINT_CAROUSEL_TIME | 10 | Time for each hint displayed. |
| PURGE_COA_SEARCH_COUNT | 100 | How many COA entries we will search through in a frame for purging |
| DARK_COLOR_THRESHOLD | 0.6 | |
| SIGNIFICANT_AMOUNT_FOR_NEGATIVE_INCOME | 0.01 | |
| GOVERNMENT_REFORM_SOCIETAL_VALUE_REQUIREMENT_FORECAST_IN_MONTHS | 12 | |
| GOVERNMENT_REFORM_SOCIETAL_VALUE_REQUIREMENT_FORECAST_CUTOFF_IN_MONTHS | 24 |
Game[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| START_DATE | 1337.4.1 | |
| END_DATE | 1836.12.31 | |
| HOUR_TICK | 2 | |
| MORNING_OFFSET | 8 | |
| GAME_SPEED_TICKS | { 1, 0.4, 0.1, 0.02, 0 } | how many seconds should an hour take in every game speed |
| GAME_SPEED_SCALES | { 0.75, 1, 1.25, 1.5, 2 } | Factors to scale speed |
| PAUSED_SPEED_SCALE | 0.15 | |
| HOTJOIN_TICK_LIMIT | 3 | |
| EVENT_MP_TIMEOUT_MONTHS | 3 | |
| GAME_SPEED_FOR_MULTI_PLAYERS_WARS | 2 | |
| LOSE_OWNERSHIP_ON_EMPTY_LOCATION | false |
GameCityLocators[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| FLAT_MAX_SLOPE | 0.25 | how much slope a location should have before being considered a mountain |
| HEIGHT_BADNESS | 50 | |
| SLOPE_BADNESS | 100 | |
| CLOSE_TO_RIVER_BADNESS | -200 | |
| IN_RIVER_BADNESS | 10 | |
| WATER_MASS_BADNESS | -300 | |
| SEA_BADNESS | -400 | |
| CENTER_DISTANCE_BADNESS | 1 | |
| DEBUG_TEXT_HEIGHT | 10 | |
| TEST_EXTENSION | 2 | |
| RIVER_DELTA_BADNESS | -400 | |
| OUT_OF_BOUNDS_BADNESS | 50 |
GameIcons[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| FLAG_TEXT_ICON_FONT_SIZE | 16 | |
| FLAG_TEXT_ICON_SIZE | { 21, 14 } | |
| FLAG_TEXT_ICON_OFFSET | { 0, 1 } | |
| GAME_CONCEPT_TEXT_ICON_FONT_SIZE | 16 | |
| GAME_CONCEPT_TEXT_ICON_SIZE | { 18, 18 } | |
| GAME_CONCEPT_TEXT_ICON_OFFSET | { 0, 3 } | |
| ESTATE_TYPE_TEXT_ICON_FONT_SIZE | 16 | |
| ESTATE_TYPE_TEXT_ICON_SIZE | { 17, 17 } | |
| ESTATE_TYPE_TEXT_ICON_OFFSET | { 0, 1 } | |
| ICON_PATH | gfx/interface/icons | |
| ICON_SMALL_POSTFIX | _small | |
| ICON_BIG_POSTFIX | _big | |
| ICON_FLAT_POSTFIX | _flat | |
| ICON_LEFT_POSTFIX | _left | |
| ICON_RIGHT_POSTFIX | _right | |
| ICON_BACKGROUND_POSTFIX | _background | |
| COMBAT_IMMINENT_ICON_PATH | gfx/interface/icons/combat_imminent | |
| UNIT_STATUS_ICON_PATH | gfx/interface/icons/unit_status | |
| UNIT_ABILITY_ICON_PATH | gfx/interface/icons/unit_ability | |
| UNIT_CATEGORY_ICON_PATH | gfx/interface/icons/unit_category | |
| UNIT_BATTLE_CATEGORY_ICON_PATH | gfx/interface/icons/unit_battle_category | |
| UNIT_TYPE_ICON_PATH | gfx/interface/icons/unit_type | |
| TOPOGRAPHY_TYPE_ICON_PATH | gfx/interface/topography | |
| VEGETATION_TYPE_ICON_PATH | gfx/interface/vegetation | |
| CLIMATE_ICON_PATH | gfx/interface/icons/climate | |
| COUNTRY_RANK_ICON_PATH | gfx/interface/icons/country_ranks | |
| ROAD_ICON_PATH | gfx/interface/icons/roads | |
| SOCIETAL_VALUE_ICON_PATH | gfx/interface/icons/societal_values | |
| LOCATION_RANK_ICON_PATH | gfx/interface/mapitems | |
| TRADE_GOODS_ICON_PATH | gfx/interface/icons/trade_goods | |
| GOODS_ICON_PREFIX | icon_goods_ | |
| PARLIAMENT_TYPES_ICON_PATH | gfx/interface/icons/parliament_types | |
| CABINET_ACTION_ICON_PATH | gfx/interface/icons/cabinet_actions | |
| CHARACTER_INTERACTION_ICON_PATH | gfx/interface/icons/character_interactions | |
| COUNTRY_INTERACTION_ICON_PATH | gfx/interface/icons/country_interactions | |
| BUILDINGS_ICON_PATH | gfx/interface/icons/buildings | |
| POP_ICON_PATH | gfx/interface/icons/pops | |
| HOLY_SITE_TYPE_ICON_PATH | gfx/interface/icons/holy_site_types | |
| HOLY_SITE_ICON_PATH | gfx/interface/illustrations/holy_sites/ | |
| RELIGIOUS_FACTION_ICON_PATH | gfx/interface/icons/religious_factions | |
| GOD_ICON_PATH | gfx/interface/icons/gods | |
| AVATAR_ICON_PATH | gfx/interface/icons/avatars | |
| DISEASE_ICON_PATH | gfx/interface/icons/disease | |
| RELIGIOUS_FOCUS_ICON_PATH | gfx/interface/icons/religious_focuses | |
| RELIGIOUS_ASPECT_ICON_PATH | gfx/interface/icons/religious_aspects | |
| ESTATE_ICON_PATH | gfx/interface/icons/estates | |
| AGE_ICON_PATH | gfx/interface/icons/age | |
| EDUCATION_ICON_PATH | gfx/interface/icons/education | |
| INSTITUTIONS_ICON_PATH | gfx/interface/icons/institutions | |
| ESTATE_PRIVILEGE_ICON_PATH | gfx/interface/icons/privileges | |
| HEIR_SELECTION_ICON_PATH | gfx/interface/icons/heir_selection | |
| CASUS_BELLI_ICON_PATH | gfx/interface/icons/casus_belli | |
| WARGOAL_ICON_PATH | gfx/interface/icons/war_goals | |
| SUBJECT_TYPES_ICON_PATH | gfx/interface/icons/subject_types | |
| ARTIST_ICON_PATH | gfx/interface/icons/artist | |
| WORK_OF_ART_ICON_PATH | gfx/interface/icons/work_of_art | |
| HEGEMONY_BORDER_PATH | gfx/interface/hegemony | |
| HEGEMONY_ICON_PATH | gfx/interface/icons/hegemony | |
| DISASTER_ICON_PATH | gfx/interface/icons/disasters | |
| SITUATION_ICON_PATH | gfx/interface/icons/situations | |
| RELIGIOUS_SCHOOL_ICON_PATH | gfx/interface/icons/religious_schools | |
| INTERNATIONAL_ORGANIZATION_PAYMENT_ICON_PATH | gfx/interface/icons/flat_icons/balance | |
| ADVANCE_ICON_PATH | gfx/interface/advance | |
| CHECK_ADVANCE_ICONS_ERRORS | 0 | |
| LAW_ICON_PATH | gfx/interface/icons/laws | |
| LAW_CATEGORY_ICON_PATH | gfx/interface/icons/laws/categories | |
| LAW_CATEGORY_COLOR_PATH | gfx/interface/icons/laws/categories/colors | |
| POLICY_ICON_PATH | gfx/interface/icons/policies | |
| SORT_BUTTON_ICON_PATH | gfx/interface/icons/sort | |
| CONTROL_GROUP_ICON_PATH | gfx/interface/icons/control_groups | |
| RECRUIT_METHOD_ICON_PATH | gfx/interface/icons/unit_recruit | |
| INTERNATIONAL_ORGANIZATION_TYPE_ICON_PATH | gfx/interface/icons/international_organizations | |
| INTERNATIONAL_ORGANIZATION_TYPE_ILLUSTRATION_PATH | gfx/interface/illustrations/international_organization_types | |
| INTERNATIONAL_ORGANIZATION_SPECIAL_STATUS_ICON_PATH | gfx/interface/icons/international_organizations/special_statuses | |
| GRAPHICAL_CULTURES_ICON_PATH | gfx/interface/graphical_cultures | |
| GRAPHICAL_CULTURES_POPS_PATH | pops | |
| PRICE_DIFFERENCE_ICON_PATH | gfx/interface/icons/prices | |
| DIPLOMATIC_ACTIONS_ICON_PATH | gfx/interface/icons/diplomatic_actions/ | |
| DIPLOMATIC_STATUS_ICON_PATH | gfx/interface/icons/diplomatic_status/ | |
| TREATY_TYPE_ICON_PATH | gfx/interface/icons/treaty_type/ | |
| RELIGION_ICON_PATH | gfx/interface/icons/religion/ | |
| WORK_OF_ART_QUALITY_ICON_PATH | gfx/interface/icons/work_of_art/art_quality_badges/ | |
| MISSION_TASKS_ICON_PATH | gfx/interface/advance | |
| MISSION_ICON_PATH | gfx/interface/icons/missions/ | |
| MAP_MODES_ICON_PATH | gfx/interface/icons/map_modes/ | |
| EXCLUSIVE_ACTION_GROUPS_ICON_PATH | gfx/interface/icons/situations/exclusive_groups | |
| TROOP_SUFFICIENCY_IMPOSSIBLE_COLOR | { 0, 1, 0.7 } | Red |
| TROOP_SUFFICIENCY_BARELY_POSSIBLE_COLOR | { 0.12, 1, 0.7 } | Yellow |
| TROOP_SUFFICIENCY_TRIVIAL_COLOR | { 0.33, 1, 0.7 } | Green |
GameIllustrations[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| SOCIETAL_VALUE_ILLUSTRATION_PATH | gfx/interface/illustrations/societal_values | |
| UNIT_TYPE_ILLUSTRATION_PATH | gfx/interface/illustrations/units | |
| UNIT_TYPE_ILLUSTRATION_MASK_PATH | gfx/interface/illustrations/units/masks | |
| GOVERNMENT_REFORMS_ILLUSTRATION_PATH | gfx/interface/icons/government_reforms/illustrations | |
| TRADE_GOODS_ILLUSTRATION_PATH | gfx/interface/icons/trade_goods/illustrations | |
| SITUATIONS_ILLUSTRATION_PATH | gfx/interface/illustrations/situation | |
| WORK_OF_ART_ILLUSTRATION_PATH | gfx/interface/illustrations/work_of_art | |
| MISSION_ILLUSTRATION_PATH | gfx/interface/illustrations/missions | |
| DISASTER_ILLUSTRATION_PATH | gfx/interface/illustrations/disaster | |
| ILLUSTATION_AUDIO_TAGS_BLACKLIST | { gfx, interface, illustrations, event, frontobjects, burghers, nobles, clergy, peasants } |
GameLocators[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MIN_RIVER_SEPARATION_DISTANCE | 1 | |
| IGNORE_OVER_BADNESS | 3000 | |
| AVOID_CITY_RADIUS | 3 | |
| AVOID_COMBAT_LAND_RADIUS | 2.5 | |
| AVOID_COMBAT_SEA_RADIUS | 15 | |
| SEA_ZONE_RECT_SCALE | 3 | |
| OUT_OF_BOUNDS_BADNESS | 5000 | |
| AVOID_POS_BADNESS | 1000 | |
| DISTANCE_TO_CENTER_BADNESS | 50 | |
| LATITUDE_BIAS_UNIT_STACK | -1 | |
| LATITUDE_BIAS_COMBAT | 5 | |
| UNIT_EXTENT_MIN | { -4, -2 } | |
| UNIT_EXTENT_MAX | { 4, 2 } | |
| COMBAT_EXTENT_MIN | { -6, -4 } | |
| COMBAT_EXTENT_MAX | { 6, 4 } | |
| SLOPE_BADNESS | 1500 |
Graphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| ARROW_MOVEMENT_SPEED | 2 | |
| DRAG_SELECTION_THRESHOLD | 10 | if selecting less than this it will count as a click instead of dragselect |
| NO_LOCATION_HIGHLIGHT_ZOOM_STEP | 5 | where to not show location highlight |
| SECONDARY_COLOR_BORDER_COLOR | { 0, 0, 0 } | |
| SECONDARY_COLOR_BORDER_WIDTH | 0.15 | |
| SECONDARY_COLOR_BORDER_STRENGHT | 2 | |
| FLAT_MAP_HEIGHT | 3.92 | |
| FLAT_MAP_FADE_SPEED | 2 | How fast to fade to/from flat map state |
| FLAT_MAP_ZOOM_STEP | 12 | At which zoom step to fade to flat map |
| FLAT_MAP_ZOOM_STEP_FORCE | 15 | At this zoomsteep we will force flatmap with no transition |
| FLAT_MAP_NOISE_SIZE | 512 | Size of the noise applied to the flatmap lerp (must be power of 2 to avoid wrapping problems) |
| FLAT_MAP_LERP_HEIGHT0 | 0 | Relative height where flatmap will be blended 100% |
| FLAT_MAP_LERP_HEIGHT1 | 0.5 | Relative height where flatmap will be blended 0%. e.g when zooming in mountains will "grow" upwards. When they reach FLAT_MAP_LERP_HEIGHT1 they will no longer show any flat map textures |
| FLAT_MAP_FADE_EDGE_WIDTH | 0.4 | |
| FLAT_MAP_FADE_EDGE_DARKNESS | 8 | |
| FLAT_MAP_FADE_EDGE_NOISE_SIZE | 2.5 | |
| FLAT_MAP_SDF_NOISE_SCALE | 0.5 | Size of the noise that you can see on the coast lines and where the flatmap meets the 3d-map |
| FLAT_MAP_SDF_NOISE_STRENGTH | 0.0025 | |
| FLAT_MAP_SDF_OFFSET | 0 | Adds a manual offset to the coast line distance field. Tweaking this will move the coastline inwards or outwards |
| FLAT_MAP_DETAIL_TILES | 20 | number tiles of the detail texture across the map. Higher value = more tiles = smaller details |
| FLAT_MAP_DETAIL_COAST_TILES | 300 | |
| FLAT_MAP_DETAIL_REMAP | { 0, 1, 0.27, 0.48 } | Remaps the red and green channels from x-y to z-w. This is to prevent compression artifacts by allowing a wider range of values in the texture |
| FLAT_MAP_COLOR_WATER_BLUE_HSV | { 0.58, 0.5, 0.46 } | Base color of water |
| FLAT_MAP_COLOR_COAST_BLUE_HSV | { 0.58, 0.5, 0.95 } | Base color of the gradient that goes from the coastline into the water |
| FLAT_MAP_COLOR_DETAIL_BLUE_HSV | { 0.58, 0.5, 1 } | Color of the detail texture that's applied on top of the base color ^ |
| FLAT_MAP_COLOR_WATER_BROWN_HSV | { 0.056, 0.7, 1 } | Base color of water |
| FLAT_MAP_COLOR_COAST_BROWN_HSV | { 0.056, 0.7, 0 } | Base color of the gradient that goes from the coastline into the water |
| FLAT_MAP_COLOR_DETAIL_BROWN_HSV | { 0.056, 0.7, 0.1 } | Color of the detail texture that's applied on top of the base color ^ |
| FLAT_MAP_COLOR_LAND_HSV | { 0.069, 0.7, 1 } | Base color of land |
| FLAT_MAP_COLOR_DETAIL_STRENGTH | 1 | How much the blue channel in flatmap_detail.dds affects the country colors |
| FLAT_MAP_COLOR_DETAIL_MID_POINT | 0.5 | the color detail mask (blue channel in flatmap_detail.dds) subtracts from the color value when below the mid point and adds when above |
| FLAT_MAP_MATERIAL_TILE_SIZE | 60 | Tuned to give ~2:1 pixel/texel ratio in max zoom on 4k monitor |
| FLAT_MAP_MATERIAL_COLOR_STRENGTH | 0.75 | Like the COLOR_DETAIL values |
| FLAT_MAP_MATERIAL_COLOR_MID_POINT | 0 | |
| FLAT_MAP_BORDER_CLOSEUP_POINT | 271 | |
| FLAT_MAP_BORDER_FARAWAY_POINT | 766 | |
| FLAT_MAP_BORDER_EDGE_CLOSEUP | 0.021 | |
Use console command "shader_debug FLAT_MAP_UNTILE_DEBUG" to visualize the different regions | ||
| FLAT_MAP_UNTILING_NOISE_SCALE | 0.125 | Controls the size of the noise used when un-tiling the material textures (must be a power of 1/2 to avoid seams on world wrapping) |
| FLAT_MAP_UNTILING_HEIGHTMAP_SCALE | 0.1 | How much influence the material alpha channel has on the untiling blend |
| FLAT_MAP_UNTILING_FADE_RANGE | 0.01 | Lower values = sharper blend |
| FLAT_MAP_UNTILING_NUM_REGIONS | 3 | |
Material textures in the flatmap uses a heightmap blending method. Basically the alpha-channel in the material texture represents a heightmap That heightmap is compared to a base-heightmap that's generated in the shader using the different channels in flatmap.dds Material textures are only visible where they are "higher" than the base height map Start and Stop values below represent at which value in the distance fields the generated heightmap is Low and High respectively. | ||
| FLAT_MAP_HEIGHTMAP_LAND_START | 0.6 | Land uses a signed distance field. 0.0 = Water, 0.5 = coast line, 1.0 = land |
| FLAT_MAP_HEIGHTMAP_LAND_STOP | 0.5 | |
| FLAT_MAP_HEIGHTMAP_SPLINES_START | 0.4 | Splines (rivers and roads) use an unsigned distance field. 0.0 on the spline, 1.0 far away from the spline |
| FLAT_MAP_HEIGHTMAP_SPLINES_STOP | 0.05 | |
| FLAT_MAP_HEIGHTMAP_REGION_START | 0.5 | |
| FLAT_MAP_HEIGHTMAP_REGION_STOP | 0.05 | Regions (an area that use the same material texture) use an unsigned distance field. 0.0 is right in between two regions, 1.0 is towards the middle of a region |
| FLAT_MAP_HEIGHTMAP_BLEND_RANGE | 0.1 | controls the sharpness of the material textures fading in. Lower value = sharper blend |
Grass scattering adds light to grass materials to simulate scattering between strands of grass | ||
| GRASS_SCATTER_NORMAL_SMOOTHING | 0.5 | Higher values makes the grass srands point more upwards. Smoothes the lighting over hills |
| GRASS_SCATTER_ROUGHNESS_STRENGTH | 0.03 | The roughness of the strands relative to the material's roughness |
| GRASS_SCATTER_STRENGTH | 0.5 | Controls how much light to add through this effect |
| SPECULAR_BACK_LIGHT_DIFFUSE | { 0.06, 0.3, 1 } | There's a special kind of backlight in the terrain shader. The light is always positioned for maximum specular reflection for surface normal of (0, 1, 0) |
| SPECULAR_BACK_LIGHT_INTENSITY_MIN | 0 | The light's intensity varies depending on the surface roughness. This is the intensity value when roughness is equal to SPECULAR_BACK_LIGHT_ROUGHNESS_MIN |
| SPECULAR_BACK_LIGHT_INTENSITY_MAX | 2.5 | The light's intesity value when the surface roughness is equal to SPECULAR_BACK_LIGHT_ROUGHNESS_MAX |
| SPECULAR_BACK_LIGHT_ROUGHNESS_MIN | 0.35 | |
| SPECULAR_BACK_LIGHT_ROUGHNESS_MAX | 0.5 | |
| SURROUND_MAP_INNER_RECT | { 1312, 1808, 7700, 3600 } | x-start, y-start, x-end, y-end |
| SURROUND_MAP_OUTER_RECT | { -16384, -10000, 32768, 20000 } | x-start, y-start, x-end, y-end |
| SURROUND_MAP_TILE_FACTOR | { 4, 2 } | |
| SURROUND_MAP_CLOUDHEIGHT | 20 | |
| SURROUND_MAP_MINCLOUDALPHA | 0.15 | |
| SURROUND_MAP_MAXCLOUDALPHA | 0.8 | |
| SURROUND_MAP_PARALLAXSTRENGTH | 150 | |
| SURROUND_MAP_PARALLAXFADEFACTOR | 1000 | |
| SURROUND_MAP_BASECLOUDTILEFACTOR | { 40, 20 } | Large shapes scale |
| SURROUND_MAP_BASECLOUDSCROLLING | { 0.005, 0.0025 } | Large shapes direction |
| SURROUND_MAP_BASECLOUDSTRENGTH | 20 | Large shapes normals strength |
| SURROUND_MAP_CLOUD1TILEFACTOR | { 8, 8 } | Mid scale |
| SURROUND_MAP_CLOUD1SCROLLING | { 0.0025, -0.0025 } | Mid direction |
| SURROUND_MAP_CLOUD1STRENGTH | 8 | Mid strength |
| SURROUND_MAP_CLOUD2TILEFACTOR | { 16, 16 } | |
| SURROUND_MAP_CLOUD2SCROLLING | { -0.0015, 0.0015 } | |
| SURROUND_MAP_CLOUD2STRENGTH | 4 | |
| SURROUND_MAP_LOWCLOUDCOLOR | { 0.6, 0.16, 0.5 } | |
| SURROUND_MAP_HIGHCLOUDCOLOR | { 0.6, 0.16, 0.9 } | |
| SURROUND_MAP_SHADOWCOLOR | { 0.66, 0.3, 0.35 } | |
| UNIMPORTANT_ELEMENT_ALPHA | 0.5 | Used by TransparentIfTrue and variants |
| DYNAMIC_GAME_OBJECT_END_STATE | end | |
| SIEGE_IMAGE_LEVELS | { 1, 3, 5 } | At which siege progress levels does the image change? |
| TERRAIN_TINT_TEXTURE_LAYERS | 4 | |
| MAP_OBJECT_OCCLUSION_LAYERS | { vegetation_low, vegetation_medium, vegetation_high } | which map object layers should be occluded by things like cities and roads. Will only hide mesh-type map objects (i.e units, cities, entities, vfx etc won't be hidden) |
Devastation texture | ||
| DEVASTATION_MATERIAL_NAME | DYNAMIC-Devastation_Mud_01 | Material name from materials.settings |
| DEFAULT_IO_BACKGROUND_PATH | gfx/interface/component_overlay/army_header_90x60.dds | |
| DISABLE_RIVERS_ZOOM_LEVEL | 10 | |
| RIVERS_CLEARING_ZONE_THICKNESS | 1.5 | The thickness of the clearing zone around river's splines, removing excess vegetation |
| DISABLE_SHADOWS_ZOOM_LEVEL | 6 | |
| TRADE_WAGONS_OPACITY_START_STEP | 5 | |
| TRADE_WAGONS_OPACITY_ZOOM_STEP | 0.25 | |
GraphicsTest[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| IGNORE_KEY_REGEX | default_audio_listener|default_mesh|default_particle|default_skeletal_mesh |
Gui[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
Tooltip stack tint RGBA colors starting with the top tooltip | ||
| TOOLTIP_TINT_RGBA | { 1, 1, 1, 1, 0.8, 0.8, 0.8, 1, 0.6, 0.6, 0.6, 1, 0.1, 0.1, 0.1, 0.2 } | Tooltip stack tint RGBA colors starting with the top tooltip |
| ALERT_NO_GOODS_TRADE_MAX | 0.01 | |
| ALERT_HIGH_INFLATION_MIN | 0.25 | Show an alert if inflation is more than this amount |
| ANTAGONISM_TOOLTIP_MAX_COUNTRIES_ENTRIES | 15 | |
| ANTAGONISM_TOOLTIP_MAX_CAUSES_ENTRIES | 10 | |
| LANGUAGE_FLAGS | { lfENG={ pattern="pattern_solid.dds" color1=blue color2=white color3=red colored_emblem={ color1=blue color2=white color3=red texture="ce_british_union_jack.dds" } }, lfBRA={ pattern="pattern_solid.dds" color1=green color2=yellow color3=blue colored_emblem={ color1=yellow color2=yellow texture="ce_rhombus.dds" instance={ scale={ 0.800000 0.800000 } } } colored_emblem={ color1=blue color2=green color3=white texture="ce_celestial_sphere_brazil.dds" instance={ scale={ 0.660000 0.660000 } } } }, lfFRA={ pattern="pattern_solid.dds" color1=blue_dark color2=white color3=rgb { 127 25 28 } colored_emblem={ color1=blue_dark color2=white color3=rgb { 127 25 28 } texture="ce_tricolor_vertical.dds" } }, lfGER={ pattern="pattern_solid.dds" color1=black color2=red color3=yellow colored_emblem={ color1=black color2=red color3=yellow texture="ce_tricolor_horizontal.dds" } }, lfPOL={ pattern="pattern_solid.dds" color1=white color2=red_mid colored_emblem={ color1=white color2=red_mid texture="ce_per_fess.dds" } }, lfRUS={ pattern="pattern_solid.dds" color1=white color2=blue color3=red_secondary colored_emblem={ color1=white color2=blue color3=red_secondary texture="ce_tricolor_horizontal.dds" } }, lfSPA={ pattern="pattern_solid.dds" color1=yellow color2=red colored_emblem={ color1=red color2=red texture="ce_solid.dds" instance={ position={ 0.500000 0.100000 } scale={ 1.000000 0.200000 } } instance={ position={ 0.500000 0.900000 } scale={ 1.000000 0.200000 } } } textured_emblem={ texture="te_coa_spain_modern.dds" instance={ position={ 0.330000 0.495000 } scale={ 0.600000 0.600000 } } } }, lfJAP={ pattern="pattern_solid.dds" color1=white color2=red colored_emblem={ color1=red color2=red texture="ce_frame_circle.dds" instance={ scale={ 0.600000 0.600000 } } } }, lfCHN={ pattern="pattern_solid.dds" color1=red_mid color2=yellow_light colored_emblem={ color1=yellow_light color2=yellow_light texture="ce_china_modern_stars.dds" } }, lfKOR={ pattern="pattern_solid.dds" color1=white color2=blue color3=red_secondary color4=black colored_emblem={ color1=red_secondary color2=blue color3=black texture="ce_korea_modern_taeguk.dds" } }, lfTUR={ pattern="pattern_solid.dds" color1=red_mid color2=white colored_emblem={ color1=white color2=white texture="ce_turkey_modern_crescent_star.dds" } } } | Use "coa" console command e.g. to attain these |
| CONSTRUCTION_PROGRESS_COLOR_STALLED | { 0.5, 0.5, 0.5, 1 } | |
| CONSTRUCTION_PROGRESS_COLOR_USUAL | { 0.01, 0.6, 0.9, 1 } | |
InternationalOrganization[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| PARLIAMENT_REQUEST_ISSUE_SUPPORT_NEEDED | 0.5 | |
| PARLIAMENT_ISSUE_THRESHOLD | 0.5 | |
| PARLIAMENT_DURATION_DAYS | 365 | |
| PARLIAMENT_AVAILABLE_AGENDAS | 5 |
JominiEars[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| RANGE_MIN | 10 | |
| RANGE_MAX | 500 | |
| JOMINI_CAMERA_PROBE_RANGES | { { ZOOM_STEP_FROM, 25, ZOOM_STEP_TO, 200, PROBE_STEP_FROM, 0, PROBE_STEP_TO, 100 }, { ZOOM_STEP_FROM, 201, ZOOM_STEP_TO, 8000, PROBE_STEP_FROM, 201, PROBE_STEP_TO, 500 } } | |
| PROBE_DISTANCE_DEFAULT_SCALE_FACTOR | 0.01 |
JominiGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| BLOOM_ITERATIONS | 6 | |
| NULL_ENTITY | test_object_entity | |
| NULL_MESH | test_object_mesh |
JominiIcons[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| ICON_DEFAULT_NAME | _default | |
| ICON_INVALID_NAME | _invalid | |
| MODIFIER_TEXT_ICON_SIZE | { 32, 32 } | |
| MODIFIER_TEXT_ICON_OFFSET | { 0, 10 } | |
| MODIFIER_TEXT_ICON_FONT_SIZE | 18 | |
| SHARED_ICON_DEFAULT_PATH | gfx/interface/icons/_default.dds |
JominiMap[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| WORLD_EXTENTS_X | 16384 | |
| WORLD_EXTENTS_Y | 32 | |
| WORLD_EXTENTS_Z | 8192 | |
| WATERLEVEL | 2.669 |
JominiMapGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MAP_OBJECT_CELL_COUNT | 200 | |
| MAP_OBJECT_FADE_SPEED | 3 | |
| COUNTRY_NAMES_TEST_LINES_SPACING | 50 | |
| COUNTRY_NAMES_SCALE | 0.8 | |
| COUNTRY_NAMES_SCALE_CAP_WIDTH | 0.9 | |
| COUNTRY_NAMES_SCALE_CAP_HEIGHT | 0.6 | |
| COUNTRY_NAMES_NUM_LINE_TESTS | 3 | |
| COUNTRY_NAMES_MAX_STRETCH_FACTOR | 1.6 | |
| COUNTRY_NAMES_LOD_FACTOR | 0.06 | Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio |
| COUNTRY_NAMES_THICKNESS_BIAS | 0 | More bias = thicker map names. Can be used to solve artifacts caused by thin areas |
| COUNTRY_NAMES_STRIDE_SIZE | 1 |
LateralView[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| IMPORT_EXPORT_ZOOM_LEVEL | 14 | |
| RECRUIT_LOCATION_ZOOM_LEVEL | 3 | |
| MAX_INT_ORG_IN_UI | 16 | |
| MAX_GP_SUBJECT_IN_UI | 9 | |
| MAX_RELATION_ITEMS_IN_UI | 8 | |
| MAX_REFORM_ITEMS_IN_UI | 11 | |
| MAX_ESTATE_PRIVILIGE_ITEMS_IN_UI | 10 | |
| MIN_AUTOCOMPLETE_TEXT_LENGTH | 3 | |
| FILTERED_SEARCH_BOX_INPUT_DEALY | 300 | milliseconds |
Location[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MAX_NUM_LOCATIONS_FOR_INTEGRATE_SLOWDOWN | 5 | |
| RGO_BASE_TIME | 180 | |
| RGO_LOAD_TIME_FRACTION | 0.33 | 33% of cap, if pop can afford it. |
| RGO_LOAD_TIME_MAX_PEASANT_PERCENTAGE | 0.1 | max % of peasants |
| LOOT_MONTHS | 12 | |
additional efficiency for supply limit. BaseSupplyLimit() * (1.0 + efficiency) THESE ARE MUTUALLy EXCLUSIVE | ||
| SUPPLY_LIMIT_OWNER | 0.25 | Should be highest of these defines or AI will be confused. |
| SUPPLY_LIMIT_ACCESS | 0.1 | |
| SUPPLY_LIMIT_ALLY | 0.1 | |
| SUPPLY_LIMIT_CONTROLLER | 0.1 | |
| MIN_FRONTAGE_AFTER_TERRAIN | 2 | |
| DOOM_FROM_LOOTING_PER_DEVELOPMENT | -0.01 | |
| HORDE_UNITY_FROM_LOOTING_PER_DEVELOPMENT | 0.01 | |
| PROSPERITY_MIN | -1 | |
| PROSPERITY_MAX | 1 | |
| FORT_GARRISON_UPKEEP | 2 | |
| SUBSISTENCE_AGRICULTURE | 0.8 | |
| CAPITAL_FLIP_SPEED | 0.04 | |
| FORT_FLIP_SPEED | 0.033 | |
| FLIP_REVERT_SPEED | 0.033 | |
| SECONDARY_CULTURE_THRESHOLD_PERCENT | 0.9 | How small should the Primary Culture be before we show a Secondary Culture in the Culture mapmode |
| SECONDARY_RELIGION_THRESHOLD_PERCENT | 0.9 | How small should the Primary Religion be before we show a Secondary Religion in the Religon mapmode |
| OVERSEAS_DISTANCE | 150 | Provinces beyond this distance to capital are distant overseas |
| FREEZE_OVER_CHANCE | 0.2 | chance of freezing over on entering at least a second week of severe winter |
| THAW_CHANCE | 0.4 | chance of thawing on entering at least a second week after leaving a severe winter |
| CONQUERED_LOCATION_INTEGRATION_REBELLION_HIT | -10 | Location loses that much integration immediately when a rebellion happens |
| CONQUERED_LOCATION_INTEGRATION_DECAY | -0.1 | Location loses that much integration monthly if it's not owned by the country who conquered it |
| CONQUERED_OCCUPIED_LOCATION_INTEGRATION_DECAY | -0.025 | Location loses that much integration monthly if it's not owned by the country who conquered it but it's occupied by it |
| LONG_TIME_TO_FILL_EMPLOYEES_FROM_PROMOTES | 18 | number of months it would take to fill a building with employees from promotes before we get an alert |
| NORMAL_LOCATION_SIZE | 25 | roughly the median. this size equals 100% effect of location size on institution spread. higher than this and it takes longer, lower than this and it goes quicker |
| MIN_LOCATION_PIXELS | 100 | minimum number of pixels before throwing an error |
| MIN_LOCATION_CHUNK_PIXELS | 0 | Print an error if there's a location with a disconnected chunk of X or less pixels |
| MIN_LOCATION_CHUNK_PIXELS_IMPASSABLE | 0 | Print an error if there's an impassable location with a disconnected chunk of X of less pixels |
| MAX_LOCATION_NEIGHBOR_SIZE | 3 | warning color on Size mapmode if a location has a neighbor more than this many times bigger than itself |
| ROAD_PROPAGATION_FACTOR | 0.25 | Build roads next to existing roads |
| EXPECTED_MINIMUM_SETUP_POPULATION | 0 | Total population minimum expected at setup |
| MONTHLY_CONTROL_DECAY | 0.01 | |
LocationMapObjects[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| EXIT_STATE_NAME | ExitState | |
| EXIT_VARIABLE_NAME | Exit |
MapColors[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
Colors are HSV with the Hue expressed as degree value / 360 | ||
| DEBUG_COLOR | { 0.83, 1, 1 } | |
| DEFAULT_COLOR | { 0, 0, 0.7 } | |
| WATER_MAP_COLOR | { 0.58, 0.35, 0.45 } | |
| OCEAN_MAP_COLOR | { 0.58, 0.35, 0.35 } | |
| WATER_MAP_ALPHA | 0 | |
| WATER_COLOR_LESS_ALPHA | 0.95 | Where we want to soften color on water (naval range). |
| WATER_STRIPE_LESS_ALPHA | 0.2 | Where we want to soften stripes on water (naval range). |
| IMPASSABLE_LAND_MAP_COLOR | { 0.17, 0.05, 0 } | |
| IMPASSABLE_LAND_MAP_ALPHA | 0 | |
| SELECTABLE_LAND_MAP_COLOR | { 0.17, 0.05, 0 } | |
| SELECTABLE_LAND_MAP_ALPHA | 0 | |
Build | ||
| QUEUED_MAP_COLOR | { 0.55, 0.7, 1 } | |
| CANBUILD_MAP_COLOR | { 0.33, 0.8, 0.4 } | |
| CANBUILD_SUBJECT_MAP_COLOR | { 0.33, 0.8, 0.2 } | |
| CANUPGRADEBUILDING_MAP_COLOR | { 0.63, 0.53, 0.25 } | |
| CANTBUILD_MAP_COLOR | { 0, 0.8, 0.7 } | |
| FULLYBUILD_MAP_COLOR | { 0.63, 0.8, 0.8 } | |
| PROVINCE_HIGHLIGHT_COLOR | { 0, 0, 1, 1 } | |
| TRANSPARENT_COLOR | { 0, 0, 0, 0 } | |
| CITY_HIGHLIGHT_COLOR | { 0, 0, 1, 1 } | |
| COUNTRY_HIGHLIGHT_COLOR | { 0, 0, 1, 0.4 } | would be merged with the country color using the alpha |
| GENERAL_HIGHLIGHT_ALPHA | 0.075 | For the GUI-script triggered highlighting, this overrides the alpha completely, even for PROVINCE/CITY_HIGHLIGHT_COLOR |
| WASTELAND_HIGHLIGHT_ALPHA | 0.15 | Used for wastelands when highlighting a country |
| INACCESSIBLE_HIGHLIGHT_COLOR | { 0, 1, 0.7, 1 } | |
| LOW_SUPPLY_HIGHLIGHT_COLOR | { 0.18, 1, 0.7, 1 } | |
| REACTIVE_MARKET_COLOR_ALPHA | 0.5 | |
| COLOR_TOO_SIMILAR_THRESHOLD | 0.04 | The threshold in interaction target view below which a color being too similar to COLOR_TOO_SIMILAR_COLOR gets some special recoloring. |
| COLOR_TOO_SIMILAR_COLOR | { 0.08, 0.403, 0.545 } | Set to the texture of the map. |
| MAP_COLOR_MIN | { 0, 0.85, 0.015 } | black |
| MAP_COLOR_LOW | { 0, 0.85, 0.34 } | red |
| MAP_COLOR_MID | { 0.13, 0.95, 0.75 } | yellow |
| MAP_COLOR_HIGH | { 0.31, 0.9, 0.6 } | green |
| MAP_COLOR_MAX | { 0.31, 1, 1 } | light-green |
| MAP_COLOR_TOP | { 0.49, 1, 1 } | light blue |
| MAP_COLOR_POSITIVE_MIN | { 0.31, 0.3, 0.3 } | dark-green |
| MAP_COLOR_NEUTRAL_MIN | { 0.13, 0.3, 0.3 } | dark-yellow |
| MAP_COLOR_NEGATIVE_MIN | { 0, 0.3, 0.3 } | dark-red |
| MAP_COLOR_SATURATION_RANGE | { 0, 1 } | |
| MAP_COLOR_VALUE_RANGE | { 0, 1 } | { 0.38 1.0 }, |
| SELL_LOCATION_UNAVAILABLE_COLOR | { 0.95, 0.13, 0.75 } | |
| SELL_LOCATION_AVAILABLE_COLOR | { 0.13, 0.95, 0.75 } | |
| SELL_LOCATION_SELECTED_COLOR | { 0.31, 1, 1 } | |
| RECRUIT_AVAILABLE_COLOR | { 0.13, 0.95, 0.75 } | |
| RECRUIT_SELECTED_COLOR | { 0.31, 1, 1 } | |
| BUILD_BUILDINGS_AVAILABLE_COLOR | { 0.13, 0.95, 0.75 } | |
| BUILD_BUILDINGS_SELECTED_COLOR | { 0.31, 1, 1 } | |
| BUILD_RGO_AVAILABLE_COLOR | { 0.13, 0.95, 0.75 } | |
| BUILD_RGO_SELECTED_COLOR | { 0.31, 1, 1 } | |
| RIVERS_RIVER_COLOR | { 0.54, 0.8, 1 } | |
| RIVERS_SEA_COLOR | { 0.66, 0.4, 0.1 } | |
| RIVERS_LAND_COLOR | { 0.366, 0.82, 0.38 } | |
| SELECTED_GOODS_COLOR_OUR_RGO | { 0.333, 0.8, 0.6 } | |
| SELECTED_GOODS_COLOR_OUR_PRODUCED | { 0.8, 0.333, 0.6 } | |
| SELECTED_GOODS_COLOR_TRADEABLE | { 0.05, 0.8, 0.6 } | |
| SELECTED_GOODS_COLOR_OTHER | { 0.12, 1, 0.7 } | |
| POPULATION_VALUE_MIDPOINT | 0.3 | |
| POPULATION_VALUE_INHABITED_OFFSET | 0.05 | |
| POPULATION_STARVING_COLOR_STRIPE | { 0, 0.8, 0.95 } | |
| MAP_BIAS_NON_NEUTRAL_OFFSET | 0.15 | |
| MAP_DEVASTATION_PROSPERITY_NON_NEUTRAL_OFFSET | 0.15 | |
| OFFER_PEACE_PLAYER_COLOR | { 0.333, 0.848, 0.66 } | |
| OFFER_PEACE_DEMANDED_COLOR | { 0.333, 1, 1 } | |
| OFFER_PEACE_DEMANDED_ALLIED_COLOR | { 0.333, 1, 0.4 } | |
| OFFER_PEACE_AVAILABLE_COLOR | { 0, 0.9, 0.8 } | |
| OFFER_PEACE_UNAVAILABLE_COLOR | { 0, 0.5, 0.3 } | |
| OFFER_PEACE_BECOME_SUBJECT_COLOR | { 0.333, 0.8, 0.7 } | |
| OFFER_PEACE_CANCEL_SUBJECT_COLOR | { 0.666, 0.8, 0.7 } | |
| OFFER_PEACE_FORM_UNION_COLOR | { 0.666, 0.8, 0.7 } | |
| OFFER_PEACE_RELEASE_NATION_COLOR | { 0.833, 0.8, 0.7 } | |
| CREATE_MILITARY_OBJECTIVE_SELECTED | { 0.11, 0.9, 1 } | |
| CREATE_MILITARY_OBJECTIVE_AVAILABLE | { 0.05, 0.6, 0.67 } | |
| CREATE_MILITARY_OBJECTIVE_SECONDARY_HIGHLIGHT | { 0.11, 0.9, 0.5 } | |
| TACTICAL_0_COLOR | { 0, 0.638, 0.34 } | red |
| TACTICAL_1_COLOR | { 0.13, 0.713, 0.75 } | yellow |
| TACTICAL_2_COLOR | { 0.31, 0.675, 0.6 } | green |
| TACTICAL_3_COLOR | { 0.31, 0.75, 1 } | light-green |
| NAVAL_RANGE_CUTOFF_FACTOR | 1.25 | Remove ugly black stripes on water from this factor times max range |
| NO_WINTER_COLOR | { 0.17, 0.05, 0 } | |
| NO_WINTER_ALPHA | 0 | |
| MILD_WINTER_COLOR | { 0.61, 0.8, 0.8 } | |
| NORMAL_WINTER_COLOR | { 0.56, 0.61, 1 } | |
| SEVERE_WINTER_COLOR | { 0, 0, 1 } | |
| VOLCANO_COLOR | { 0, 1, 0.7 } | |
| EARTHQUAKE_COLOR | { 0.05, 1, 1 } | |
| LOCATION_RANK_UPGRADE_COLOR | { 0.2, 0.9, 0.99 } | |
| LOCATION_RANK_UPGRADE_BLEND | 0.02 | |
| DIPLOMACY_OWNED_PROVINCE_COLOR | { 0.333, 0.848, 0.66 } | |
| DIPLOMACY_WAR_ALLIES_COLOR | { 0.333, 0.855, 0.344 } | |
| DIPLOMACY_DEPENDENCY_COLOR | { 0.333, 0.748, 0.86 } | |
| DIPLOMACY_OVERLORD_COLOR | { 0.444, 0.4, 0.5 } | |
| DIPLOMACY_SUBJECT_COLOR | { 0.375, 0.8, 0.9 } | |
| DIPLOMACY_INDIRECT_OVERLORD_COLOR | { 0.444, 0.4, 0.25 } | |
| DIPLOMACY_INDIRECT_SUBJECT_COLOR | { 0.375, 0.8, 0.5 } | |
| DIPLOMACY_ALLIANCE_COLOR | { 0.592, 0.962, 0.91 } | |
| DIPLOMACY_WAR_COLOR | { 0.99, 1, 0.4 } | |
| DIPLOMACY_TRUCE_COLOR | { 0.05, 0.8, 0.6 } | |
| DIPLOMACY_DEFENSIVE_LEAGUE_COLOR | { 0.5, 0.81, 0.9 } | |
| DIPLOMACY_GUARANTEE_COLOR | { 0.813, 0.889, 0.9 } | |
| DIPLOMACY_OUT_OF_RANGE_COLOR | { 0, 0, 0.3 } | |
| DIPLOMACY_MIL_ACCESS_COLOR | { 0.34, 0.34, 0.6 } | |
| DIPLOMACY_FOOD_ACCESS_COLOR | { 0.34, 0.34, 0.7 } | |
| DIPLOMACY_FLEET_BASING_COLOR | { 0.34, 0.34, 0.65 } | |
| DIPLOMACY_CLAIM_SECOND_COLOR | { 0.135, 0.7, 1 } | |
| DIPLOMACY_UNION_COLOR | { 0.413, 0.921, 0.76 } | |
| DIPLOMACY_ROYAL_MARRIAGE_COLOR | { 0.7, 0.921, 0.86 } | |
| DIPLOMACY_RIVAL_COLOR | { 0.03, 1, 0.7 } | |
| DIPLOMACY_RIVAL_OVERLORD_COLOR | { 0.03, 1, 0.5 } | |
| DIPLOMACY_RIVAL_SUBJECT_COLOR | { 0.03, 0.7, 0.7 } | |
| DIPLOMACY_ENEMY_COLOR | { 0.1, 1, 0.7 } | |
| DIPLOMACY_ENEMY_OVERLORD_COLOR | { 0.1, 1, 0.5 } | |
| DIPLOMACY_ENEMY_SUBJECT_COLOR | { 0.1, 0.7, 0.7 } | |
| DIPLOMACY_MUTUAL_COLOR | { 0.06, 1, 0.7 } | |
| DIPLOMACY_MUTUAL_OVERLORD_COLOR | { 0.06, 1, 0.5 } | |
| DIPLOMACY_MUTUAL_SUBJECT_COLOR | { 0.06, 0.7, 0.7 } | |
| DISEASE_BUBONIC_PLAGUE_MIN | { 0.113, 0.221, 0.26 } | |
| DISEASE_BUBONIC_PLAGUE_MAX | { 0.413, 0.921, 0.76 } | |
| INTERNATIONAL_ORGANIZATION_LEADER_COLOR | { 0.14, 0.81, 1 } | 0.592 0.962 0.91 |
| INTERNATIONAL_ORGANIZATION_MEMBER_COLOR | { 0.4, 0.61, 0.7 } | |
| INTERNATIONAL_ORGANIZATION_TARGET_COLOR | { 0, 0, 0.15 } | |
| INTERNATIONAL_ORGANIZATION_TARGET_VIEW_LEADER_COLOR | { 0.9, 0.1, 0.1 } | |
| INTERNATIONAL_ORGANIZATION_TARGET_VIEW_MEMBER_COLOR | { 1, 0, 0 } | |
| INTERNATIONAL_ORGANIZATION_OWNED_LAND_COLOR | { 0.34, 0.34, 0.6 } | |
| INTERNATIONAL_ORGANIZATION_TIER1_COLOR | { 0.5, 0.81, 0.9 } | |
| INTERNATIONAL_ORGANIZATION_TIER2_COLOR | { 0.58, 0.55, 0.55 } | |
| INTERNATIONAL_ORGANIZATION_TIER3_COLOR | { 0.3, 0.81, 0.9 } | |
| INTERNATIONAL_ORGANIZATION_TIER4_COLOR | { 0.95, 0.4, 0.9 } | |
| INTERNATIONAL_ORGANIZATION_TIER5_COLOR | { 0.75, 0.35, 0.85 } | |
| INTERNATIONAL_ORGANIZATION_TIER6_COLOR | { 0.6, 0.9, 0.85 } | |
| INTERNATIONAL_ORGANIZATION_TIER7_COLOR | { 0, 0, 0.7 } | |
| INTERNATIONAL_ORGANIZATION_TIER8_COLOR | { 0.032, 0.565, 0.902 } | |
| CATHOLIC_CHURCH_CURIA_COLOR | { 0.5, 0.81, 0.9 } | |
| HRE_EMPEROR_COLOR | { 0.14, 0.81, 1 } | |
| HRE_ELECTOR_COLOR | { 0.5, 0.81, 0.9 } | Tier 1 |
| HRE_ELECTOR_ARCHBISHOP_COLOR | { 0.58, 0.55, 0.55 } | Tier 2 |
| HRE_FREE_CITY_COLOR | { 0.3, 0.81, 0.9 } | Tier 3 |
| HRE_PRIMAS_GERMANIAE_COLOR | { 0.95, 0.4, 0.9 } | Tier 4 |
| HRE_LEGATUS_NATUS_COLOR | { 0.75, 0.35, 0.85 } | Tier 5 |
| HRE_IMPERIAL_PRELATE_COLOR | { 0.6, 0.9, 0.85 } | Tier 6 (old) 0.6667 1 1 |
| HRE_IMPERIAL_PRINCE_COLOR | { 0, 0, 0.7 } | Tier 7 |
| HRE_IMPERIAL_PEASANT_REPUBLIC_COLOR | { 0.032, 0.565, 0.902 } | Tier 8 |
| REBELLION_WILL_OCCUR_IN_LOCATION_COLOR | { 0.9, 0.81, 0.9 } | |
| REBELLION_HAS_SOME_SUPPORT_IN_LOCATION_COLOR | { 0.3, 0.81, 0.3 } | |
| COLONIAL_OWNED_COLOR | { 0.333, 0.848, 0.66 } | |
| COLONIAL_BUILDING_COLOR | { 0.5, 0.81, 0.9 } | |
| COLONIAL_CHARTER_COLOR | { 0.592, 0.962, 0.91 } | |
| COLONIAL_CLAIM | { 0, 1, 1 } | |
| COLONIAL_RANGE | { 0.13, 0.95, 0.75 } | yellow |
| FORT_COLOR_HOSTILE | { 0, 1, 1 } | |
| FORT_COLOR_NEUTRAL | { 0.167, 1, 1 } | |
| FORT_COLOR_FRIENDLY | { 0.333, 1, 1 } | |
| AI_DESIRE_POSITIVE | { 0, 1, 1 } | |
| AI_DESIRE_NEUTRAL | { 0.167, 0.5, 1 } | |
| AI_DESIRE_NEGATIVE | { 0.333, 1, 1 } | |
| AI_DESIRE_SELF | { 0.5, 1, 1 } | |
| REGION_HUE_STRENGTH_ON_AREA | 0 | |
| REGION_SATURATION_STRENGTH_ON_AREA | 0.5 | |
| REGION_VALUE_STRENGTH_ON_AREA | 0.5 | |
| PROVINCE_HUE_STRENGTH_ON_LOCATION | 0.95 | |
| PROVINCE_SATURATION_STRENGTH_ON_LOCATION | 0.25 | |
| PROVINCE_VALUE_STRENGTH_ON_LOCATION | 0.25 | |
| AREA_HUE_STRENGTH_ON_PROVINCE | 0.8 | |
| AREA_SATURATION_STRENGTH_ON_PROVINCE | 0 | |
| AREA_VALUE_STRENGTH_ON_PROVINCE | 0 | |
| OWNER_COLOR_STRENGTH_ON_MARKET | 0.7 | |
| OVERLORD_HUE_STRENGTH_ON_SUBJECT | 0.8 | |
| OVERLORD_SATURATION_STRENGTH_ON_SUBJECT | 0.4 | |
| OVERLORD_VALUE_STRENGTH_ON_SUBJECT | 0.4 | |
| SUBJECT_MAP_COLOR_LIGHTEN | 0.1 | |
| SUBJECT_MAP_COLOR_SATURATE | -0.1 | |
| LANGUAGE_DIALECT_HUE_VARIATION | 0.02 | |
| LANGUAGE_DIALECT_SAT_VARIATION | 0 | |
| LANGUAGE_DIALECT_VAL_VARIATION | 0.15 | |
| BUILD_ROAD_IN_PROGRESS | { 0.6, 1, 1 } | blue |
| BUILD_ROAD_CONSTRUCTION_BLOCKED | { 0, 1, 0.7 } | bright red |
| BUILD_ROAD_HAS_TOP_LEVEL_ROAD | { 0.167, 0.5, 1 } | bright yellow |
| BUILD_ROAD_HAS_OUTDATED_LEVEL_ROAD | { 0.82, 0.65, 1 } | light purple |
| BUILD_ROAD_CAN_BUILD_ROAD | { 0.31, 0.9, 0.6 } | green |
| BUILD_ROAD_MARKED_FOR_CONSTRUCTION | { 0.5, 0.9, 0.9 } | light blue |
| BUILD_ROAD_NOT_ENOUGH_GOLD | { 0.11, 0.9, 0.9 } | orange |
| POPULATION_MAPMODE_MIN | 1 | |
| POPULATION_MAPMODE_LOG_FACTOR | 1 | |
MapEditor[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
Jomini defines | ||
these are used to calculate the mask size | ||
| MASK_SCALE | 1 | |
| THUMBNAIL_SIZE_REDUCTION | 16 | |
MapGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| CLIMATE_MAP_TEXTURE_SIZE | { 1024, 512 } | |
| WINTER_MAP_TEXTURE_SIZE | { 1024, 512 } | |
| WINTER_MAP_FADE_SPEED | 0.1 | (winterness/second) |
| WINTER_ALPHA_NONE | 0 | |
| WINTER_ALPHA_MILD | 0.35 | |
| WINTER_ALPHA_NORMAL | 0.55 | |
| WINTER_ALPHA_SEVERE | 1 | |
| WINTER_ALPHA_WATER_NONE | 0 | |
| WINTER_ALPHA_WATER_MILD | 0.45 | |
| WINTER_ALPHA_WATER_NORMAL | 0.6 | |
| WINTER_ALPHA_WATER_SEVERE | 0.8 | |
| WINTER_ALPHA_WATER_FROZEN | 1 | |
| WINTER_TERRAIN_MATERIAL_SNOW | Snow | hard code in winter.fxh |
| WINTER_TERRAIN_MATERIAL_ICE | Ice | Which material in gfx/map/terrain/materials.settings to use for ice |
| PORT_SHIP_LOCATOR | ship_locator | |
| FORT_SIEGE_LOCATOR | siege_locator |
MapLines[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| POP_MOVEMENT_IN | line_pop_movement | line_pop_movement |
| POP_MOVEMENT_OUT | line_pop_movement_red | line_pop_movement_red |
| TRADE_ROUTE_IMPORT | line_trade_blue | line_trade_blue |
| TRADE_ROUTE_EXPORT | line_trade_orange | line_trade_orange |
| PATH_TO_MARKET | line_trade_green | line_trade_green TODO: create a new one. Could be bidirectional. |
| PATH_TO_CAPITAL | line_trade_yellow | line_trade_yellow TODO: create a new one. Might be the same as path to market. |
| SEA_CURRENT | line_trade_yellow | line_trade_yellow TODO: create a new one. A short arrow |
| RIVER_DIRECTION | line_river_direction | line_river_direction |
| UNIT_LOGISTICS | line_trade_green | line_trade_green TODO: create a new one. unit supply looking |
| ROAD_BUILDER | line_road_builder | line_road_builder |
MapMarker[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| FADE_IN_SPEED | 5 | |
| FADE_OUT_SPEED | 5 | |
| MAP_MARKER_FULL_UPDATE_FREQUENCY | 1 | |
Only visible in the "province" zoom level | ||
| ZOOM_STEP_RANGE_FORT | { 0, 10 } | |
| ZOOM_STEP_RANGE_CITY | { 0, 10 } | |
| ZOOM_STEP_CITY_DETAILS | 6 | |
| ZOOM_STEP_RANGE_CITY_CAPITAL | { 0, 100 } | |
| ZOOM_STEP_RANGE_MARKET | { 0, 100 } | |
| ZOOM_STEP_RANGE_TOLL | { 0, 100 } | |
| ZOOM_STEP_RANGE_STATE_CAPITAL | { 0, 5 } | |
Visible in the "province" and "state" zoom levels | ||
| ZOOM_STEP_RANGE_CONSTRUCTION | { 0, 10 } | |
| ZOOM_STEP_RANGE_OCCUPATION | { 0, 10 } | |
| ZOOM_STEP_RANGE_PARLIAMENT | { 0, 10 } | |
| ZOOM_STEP_RANGE_CABINET_ACTION | { 0, 10 } | |
| ZOOM_STEP_RANGE_DIPLOMATIC_ACTION | { 0, 10 } | |
| ZOOM_STEP_RANGE_BLOCKED_VISION | { 0, 7 } | |
Visible in the "state" zoom level | ||
| ZOOM_STEP_RANGE_COUNTRY_CAPITAL | { 8, 10 } | |
Visible in anything "state" and lower | ||
| ZOOM_STEP_RANGE_PORT | { -1, 5 } | |
| ZOOM_STEP_RANGE_RAW_GOODS_ICON | { -1, 10 } | |
| ZOOM_STEP_RANGE_DYNASTY_ICON | { -1, 10 } | |
| ZOOM_STEP_RANGE_UNIT | { -1, 10 } | |
| ZOOM_STEP_RANGE_COMBAT | { -1, 10 } | |
| ZOOM_STEP_RANGE_IMPORT_EXPORT_WIDGET | { -1, 17 } | |
| ZOOM_STEP_RANGE_BUILD_BUILDING_WIDGET | { -1, 10 } | |
| ZOOM_STEP_RANGE_SMALL_UNIT | { 11, 17 } | |
| ZOOM_STEP_RANGE_SMALL_COMBAT | { 11, 17 } | |
| MAP_MARKER_SETTLEMENT_SIZE | { 10, 10 } | |
| MAP_MARKER_TOWN_SIZE | { 13, 13 } | |
| MAP_MARKER_CITY_SIZE | { 18, 18 } | |
| MAP_MARKER_SETTLEMENT_POSITION | { 18, -2 } | |
| MAP_MARKER_TOWN_POSITION | { 22, -1 } | |
| MAP_MARKER_CITY_POSITION | { 30, 4 } | |
| ARMY_BANNER_STACK_OFFSET | 29 | |
| ARMY_BANNER_MERGE_NUM | 1 | More than X army banners will be merged into the last banner as a group which you can click on to cycle through |
| ANIMATED_TEXT_COMBAT_LOSS_OFFSET | 36 | |
| MULTIPLE_PROVINCE_ICONS_OFFSET | 60 | |
Determines which zoom level different city icons appear Some of these are cumulative | ||
| CITY_MARKER_WEIGHT_BASE | 0 | Offset everything by this amount |
| CITY_MARKER_WEIGHT_LABEL_MULTIPLIER | 0.33 | Text labels only appear once the camera gets a little closer |
| CITY_MARKER_WEIGHT_ICON_MULTIPLIER | 1 | Icons appear at the normal point |
| CITY_MARKER_WEIGHT_FORT_LEVEL | 0 | How much the fort level influences city icons |
| CITY_MARKER_WEIGHT_FORT_LEVEL_AT_WAR | 5 | How much the fort level influences city icons while at war |
| CITY_MARKER_WEIGHT_LOCATION_RANK | 2 | How much location rank (town, city etc) influences. Tied to frame_tier |
| CITY_MARKER_WEIGHT_PROVINCE_CAPITAL | 2 | How much a location being the province capital influences |
| CITY_MARKER_WEIGHT_PROVINCE_CAPITAL_AT_WAR | 6 | How much a location being the province capital influences while at war |
| CITY_MARKER_WEIGHT_AREA_CAPITAL | 4 | How much a location being the most populated in an area influences |
| CITY_MARKER_WEIGHT_COUNTRY_CAPITAL_PLAYER | 20 | How much being the player's country capital influences |
| CITY_MARKER_WEIGHT_COUNTRY_CAPITAL_ALLY | 5 | How much being an ally/overlord/vassals's country capital influences |
| CITY_MARKER_WEIGHT_COUNTRY_CAPITAL_ENEMY | 5 | How much being an enemy in a war country capital influences |
| CITY_MARKER_WEIGHT_COUNTRY_CAPITAL | 2 | How much being some other country capital influences |
| CITY_MARKER_WEIGHT_COUNTRY_CAPITAL_GREAT_POWER | 5 | How much being capital of a Great Power influences |
| CITY_MARKER_WEIGHT_COUNTRY_CAPITAL_COUNTRY_RANK | 1 | How much country rank influences |
| CITY_MARKER_WEIGHT_MARKET_CENTER | 2 | How much being a Market Center influences |
| CITY_MARKER_WEIGHT_PLAYER_HAS_FOREIGN_BUILDINGS | 1 | How much owning a building in a non-owned location influences |
| CITY_MARKER_WEIGHT_CEILING_FOR_NOT_PLAYER_CAPITAL | 19 | At what zoom level do we kill everything but your capital |
MapName[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| NAME_DRAW_DISTANCE | 4000 | Remove province names beyond this distance |
| NAME_FONT_NAME | { MapFont, MapFontNumbers, MapFontConsole } | Font used for drawing the map names |
| NAME_FONT_SIZE | 60 | Font size used for drawing the map names |
| FADE_RATE | 3 | How fast names fade in/out |
| MAX_OPACITY | 0.85 | |
| MIN_OPACITY | 0 | minimum opacity. Names hidden by draw distance will still fade to 0 |
| SMALL_NAMES_ZOOM_STEP | 2 | |
| MEDIUM_NAMES_ZOOM_STEP | 8 | |
| LARGE_NAMES_ZOOM_STEP | 11 | |
| PROVINCE_UNDER_MOUSE_OPACITY | 1 | |
| PROVINCE_UNDER_MOUSE_NEIGHBOR_OPACITY | 0.75 | |
| MAX_SLOPE_DIFFERENCE_TO_MEAN | { 0.5, 0.35 } | |
| MAX_SPLIT_OF_PROBLEMATIC_NAMES | 2 | |
| MARGIN_OF_PROBLEMATIC_NAMES | 15 | |
| MIN_SPLIT_SIZE | 0.2 | |
| NAMES_SETTING_OVERIDE_MEDIUM_BLOB_MAX_SIZE | 3 | |
| NAMES_SETTING_OVERIDE_SMALL_BLOB_MAX_SIZE | 10 | |
| NAMES_TEST_LINES_SPACING_SMALL | 3 | |
| NAMES_TEST_LINES_SPACING_MEDIUM | 10 |
Market[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MONTHLY_PRICE_CHANGE | 0.1 | as fraction of (target - price) |
| MARITIME_PRESENCE_POWER_ON_POP_SCALE | 100 | divides on this. |
| MIN_PRICE_IMPACT | -0.33 | |
| MAX_PRICE_IMPACT | 1.5 | |
| FOOD_CAPACITY_FACTOR | 1 | |
| FOOD_PRICE | 0.05 | |
| FOOD_PRICE_IMPACT_ON_PRICES | 0.25 | |
| FOOD_PROPORTION_TO_PRESERVE_IN_MARKET_IF_POSSIBLE | 0.25 | |
| MARKET_BASE_ACCESS | 1 | 100% |
multiplicative | ||
| MARKET_BASE_DISTANCE_FACTOR | 0.005 | Access lost per pixel of distance |
| MARKET_OPEN_SEA_DISTANCE_FACTOR | 1.5 | not good at open sea. |
| MARKET_SEA_DISTANCE_FACTOR | 0.75 | Markets propagate better over sea |
| MARKET_SEA_TO_LAND_DISTANCE_FACTOR | 0.5 | |
| MARKET_DOWNSTREAM_FACTOR | 0.5 | downstream is great! |
| MARKET_UPSTREAM_FACTOR | 0.9 | better upstream than not.. |
additive | ||
| MARKET_NO_PORT_EXTRA_DISTANCE | 0.1 | Absolute access penalty for going between land and sea without port |
| MARKET_PORT_EXTRA_DISTANCE | 0.02 | Access penalty for going between land and sea with port, scaled with 1-harbor suitability |
| MARKET_ASSIGNMENT_PERFORMANCE_FACTOR | 0.5 | Lowering this number reduces performance cost of market assignments, but might cause market assignment to ignore protectionism for locations far away from any market |
| LOCATION_NUMS_DIVISOR_FOR_DESTRUCTION_PRICE | 40 | |
| MARKET_CREATION_MONTHS | 3 | |
| MARKET_TRADE_CHANGE_PER_CLICK | 1 | |
| MARKET_CONSTRUCTION_NEEDS_BLOCK_FACTOR | 2 | |
these don't stack | ||
| COUNTRY_COMMON_LANGUAGE_MARKET_ATTRACTION | 0.05 | |
| COUNTRY_COMMON_LANGUAGE_GROUP_MARKET_ATTRACTION | 0.01 | |
these don't stack | ||
| LOCATION_DOMINANT_LANGUAGE_MARKET_ATTRACTION | 0.05 | |
| LOCATION_DOMINANT_LANGUAGE_GROUP_MARKET_ATTRACTION | 0.01 | |
these don't stack, gets smallest geographical unit | ||
| LOCATION_SAME_PROVINCE_MARKET_ATTRACTION | 0.2 | |
| LOCATION_SAME_AREA_MARKET_ATTRACTION | 0.1 | |
| LOCATION_SAME_REGION_MARKET_ATTRACTION | 0 | |
| LOCATION_SAME_SUBCONTINENT_MARKET_ATTRACTION | 0 | |
| LOCATION_SAME_CONTINENT_MARKET_ATTRACTION | 0 | |
| MARKET_LANGUAGE_POWER_ATTRACTION | 0.1 | |
| MARKET_FOOD_STOCKPILE_TRESHOLD_MONTHS | 24 | |
| MARKET_MIN_STOCKPILE_TO_ALLOW_EXTRA_TRADE | 0.5 | |
| MARKET_STOCKPILE_PERCENTAGE_FOR_EXTRA_TRADE | 0.05 | |
Mercenary[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MERCENARY_MOBILIZATION_TIME_BASE | 2 | |
| MERCENARY_GATHERING_TIME_BASE | 14 | |
| MERCENARY_RECRUITMENT_DISTANCE_FACTOR | 0.025 | |
| MERCENARY_MAX_DURATION_IN_MONTHS | 120 | |
| MERCENARY_DEFAULT_DURATION_IN_MONTHS | 24 | |
| MERCENARY_CONTRACT_ALERT_MONTHS | 3 | |
| MERCENARY_MANPOWER_REPLENISH_TIME_MONTHS | 240 | how many months to fully restock mercs in an area |
| MERCENARY_ARMY_UNIT_MAX_SIZE | 150 | |
| MERCENARY_NAVY_UNIT_MAX_SIZE | 25 | |
| MERCENARY_PRISONER_MONTHLY_MAINTENANCE_MULTIPLIER | 0.25 | |
| MERCENARY_PRISONER_MAX_MORALE | 0.6 | |
| MERCENARY_SUBUNITS_AVAILABLE_PER_ADM_POINT | 0.25 | leaders with better adm can lead bigger armies |
| MERCENARY_LEADER_BASE_PRICE | 50 | |
| MERCENARY_LEADER_ABILITY_WEIGHT | 50 | multiplied by an exponential number in range 0..8 based on char ability (so better ones are a lot more expensive than worse ones, less difference between lower ability characters) |
| MERCENARY_LEADER_CULTURE_OPINION_MULTIPLIER | -0.07 | same or friendly culture leaders will work for less for you |
| MERCENARY_LEADER_RELIGION_OPINION_MULTIPLIER | -0.07 | same or friendly religion leaders will work for less for you |
| MERCENARY_LEADER_DISTANCE_MULTIPLIER | 0.0005 | Mileage allowance, paid by employer. Must be nice. |
Messages[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MESSAGES_CATEGORY_ICON_PATH | gfx/interface/icons/messages/categories | |
| BG_MESSAGES_CATEGORY_ICON_PATH | gfx/interface/icons/messages/background |
Outliner[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| ICON_PATH | gfx/interface/icons/outliner | |
| CATEGORY_ICON_PATH | gfx/interface/icons/outliner/categories | |
| BG_CATEGORY_ICON_PATH | gfx/interface/icons/outliner/background | |
| BG_SUBCATEGORY_ICON_PATH | gfx/interface/icons/outliner/background |
Pop[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| PRODUCED_IN_MARKET_DEMAND | 0.1 | |
| STARVING_ON_FOOD_DEMAND | 1.5 | |
| NEGATIVE_FOOD_ON_FOOD_DEMAND | 0.5 | |
| DEVELOPMENT_SCALE_ON_DEMAND | 0.05 | |
| KNOWN_GOODS_FOR_DEMAND_THRESHOLD | 50 | |
| POP_NEEDS_INCOME_SCALE | 1.33 | |
| DISPLAY_SIZE | 1000 | |
| GARRISON_MANPOWER_LOSS_IMPACT | 0.5 | |
| ARMY_MANPOWER_LOSS_IMPACT | 1 | |
| NAVY_SAILOR_LOSS_IMPACT | 1 | |
| ARMY_LEVY_SIZE_IMPACT_SUPPORT | 1 | |
| NAVY_LEVY_SIZE_IMPACT_SUPPORT | 1 | |
| BASE_SATISFACTION | 0.2 | |
| ESTATE_SATISFACTION_OFFSET | 0.5 | |
| ESTATE_SATISFACTION_SCALE | 2 | |
| SCALE_ESTATE_NON_ACCEPTED | 0.5 | |
| GOODS_PRICE_SATISFACTION_SCALE | -0.1 | |
| LACK_OF_GOODS_SATISFACTION_SCALE | -0.5 | |
| ESTATE_LOSING_MONEY_SCALE_ON_GOODS_PRICE | 2 | |
| CULTURE_OPINION_SATISFACTION | 0.05 | |
| RELIGION_OPINION_SATISFACTION | 0.05 | |
| DIFFERENT_RELIGION_BASE_SATISFACTION | -0.05 | |
| TOLERANCE_ON_SATISFACTION_SCALE | 0.05 | |
| PRIMARY_CULTURE_SATISFACTION | 0.25 | |
| ACCEPTED_CULTURE_SATISFACTION | 0.1 | |
| TOLERATED_CULTURE_SATISFACTION | 0.05 | |
| MIN_SIZE_TO_BLOCK_PROMOTION | 0.5 | |
| POP_JOB_SURPLUS_SCALE_CAP | 10 | |
| REBEL_JOIN_MIN_THRESHOLD | 0.05 | |
| REBEL_LEAVE_MIN_THRESHOLD | 0.1 | |
| REBEL_DANGER_THRESHOLD | 0.95 | |
| PERFORMANCE_UPDATE_DEMANDS_MIN | 0 | We try to update all pop demands within a year, but this sets a minimum of pops per day |
| PERFORMANCE_UPDATE_DEMANDS_MAX | 100 | We try to update all pop demands within a year, but this sets a maximum of pops per day |
| POP_MINORITY_SIMILAR_THRESHOLD | 4 | if more or equal of this of pops of type in location, join either same culture or religion |
| POP_MINORITY_JUST_MERGE_THRESHOLD | 8 | if more or equal of this of pops of type in location, join largest |
Portrait[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| GENE_DATABASE_VERSION | 2 | If the version saved in a file does not match this number, the portrait DNAs will get regenerated. Increase this number when making gene database changed that would break old portraits. |
| GRACEFUL_AGING_START | 25 | After this age, added life expectancy will make a character look younger than they are; the effect grows the further past this point one goes |
| GRACEFUL_AGING_END | 70 | This is the apparent age at which life expectancy stops slowing down visual aging (each year onwards ages you visually 1 year) |
| MAX_AGE | 100 | At this age portraits will use the special age gene at full strength |
| DEFAULT_ANIMATION | idle | Default portrait animation, used as a fallback in places where portrait animations can be specified |
| WEIGHT_UPDATE_YEAR_INTERVAL | 3 | Years in between portrait updating their current weight towards their target weight |
| WEIGHT_UPDATE_LERP_SCALAR | 0.35 | Scalar for the liner interoplation of the weight update to trend current weight towards target weight |
| DEFAULT_BASE_WEIGHT_MIN | -35 | Min for starting random base weight inclusive |
| DEFAULT_BASE_WEIGHT_MAX | 35 | Max for starting random base weight inclusive |
| IGNORED_WEIGHT_DEVIATION_FOR_DEAD_WITHOUT_DNA | 10 | Characters that die at between -10 and 10 weight, and have no DNA generated, will get their weight set to 0 to save storage in the save game |
| MAX_PORTRAIT_GENERATION_DEPTH | 8 | When generating someone's portrait, generate up to this many generations of missing portraits |
Religion[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| RELIGIOUS_FOCUS_COST | 100 | |
| PERIPHORA_DAYS_PER_LOCATION | 30 | |
| RELIGIOUS_FIGURE_CHANCE_OF_MOVING | 0.01 | |
| CORE_THRESHOLD | 0.5 |
Rivers[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| FADE_IN_DISTANCE | 10 | |
| FADE_OUT_DISTANCE | 2 | |
| NUM_WIDTH_PIXEL_VALUES | 13 | how many pixels in the river bitmap that are allocated for different river widths |
| WIDTH_MIN | 1 | how wide the rivers are when using the lowest width in the bitmap |
| WIDTH_MAX | 2.2 | how wide the rivers are when using the highest width in the bitmap |
| UV_SCALE | 1 | |
The factor by which FADE_IN_DISTANCE is multiplied is the boundary starting from the river source, where the river is visually invisible. | ||
| FADE_IN_INVISIBLE_DISTANCE_THRESHOLD | 0.5 | |
Roads[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
No instant reload | ||
Sulla defines | ||
| BRIDGE_MESHES | { bridge_small_test_mesh } | |
| DIFFUSE_TEXTURE | gfx/models/buildings/bridge_test/bridge_test_phong_diffuse.dds | |
| NORMAL_TEXTURE | gfx/models/buildings/bridge_test/bridge_test_phong_normal.dds | |
| MATERIAL_TEXTURE | gfx/models/buildings/bridge_test/bridge_test_phong_properties.dds | |
Caesar defines | ||
| MAP_OBJECT_OCCLUSION_WIDTH | 2 | |
SeaCurrents[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| ANIMATION_SPEED | 0.3 | |
| MIN_CAMERA_LEVEL | 800 | |
| DISSAPEAR_ALPHA_START | 3000 | |
| MAX_CAMERA_LEVEL | 3600 | |
| MAX_ALPHA | 0.4 | |
| UV_SCALE | 0.033 | |
| UV_SCALE_3D | 0.06 | |
| ANIMATION_SPEED_3D | 0.25 | |
| WAVES_SEPARATION_3D | 2.3 | |
| WAVES_SPAWN_CHANCE_3D | 1 | |
| DISAPPEARANCE_DEBUG_3D | 0 | |
| DISAPPEARANCE_UV_SCALE_3D | { 0.025, 0.1 } | |
| DISAPPEARENCE_TRHESSHOLD_3D | 0.25 | |
| DISAPPEARENCE_TRHESSHOLD_CORRECTION_3D | 0.5 | |
| DISAPPEARENCE_STATE_SWITCH_SPEED_3D | 1.5 |
SiegeEffect[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| NEGATIVE_PARTICLES_NUM | 5 | |
| NEGATIVE_PARTICLES_SPAWN_RADIUS | 10 | |
| NEGATIVE_PARTICLES_SPAWN_HEIGHT | 0 | |
| NEGATIVE_PARTICLES_SCHEMATIC_NAME | siege_effect_schematic_negative | |
| POSITIVE_PARTICLES_NUM | 5 | |
| POSITIVE_PARTICLES_SPAWN_RADIUS | 5 | |
| POSITIVE_PARTICLES_SPAWN_HEIGHT | 0 | |
| POSITIVE_PARTICLES_SCHEMATIC_NAME | siege_effect_schematic_positive | |
| ASSAULT_PARTICLES_SPAWN_DELAY | 3 | |
| ASSAULT_PARTICLES_SPAWN_RADIUS | 2 | |
| ASSAULT_PARTICLES_SPAWN_HEIGHT | 1 | |
| ASSAULT_PARTICLES_SCHEMATIC_NAME | siege_effect_schematic_assault | |
| PARTICLE_MAX_ZOOM_LEVEL | 6 |
TerraIncognita[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| SHADER_PATH | gfx/FX/terra_incognita.shader | |
| HEIGHT | 5 | |
| TEXTURE_SCALE | { 20, 10 } | |
| NUM_EXTRA_SAMPLES | 8 | |
| EXTRA_SAMPLES_DISTANCE | 8 |
Text[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| DURATION_SHOW_YEARS_THRESHOLD | 24 | Duration will show as years if it's at least this many months |
| DURATION_SHOW_MONTHS_THRESHOLD | 60 | Duration will show as months if it's at least this many days |
| INDENTATION_PER_DEPTH | 2 | |
| EFFECT_BASE_INDENTATION | 0 | |
| TRIGGER_BASE_INDENTATION | 0 | |
| HINTS_MAX_IMPORTANT_MODIFIER_CANDIDATES | 5 | When hints try to list important modifiers, how many will they show at most? |
| CHARACTER_NAME_LENGTH | -1 | debugging tool, set above 0 to test name length |
| FORMAT_CHARACTER_NAMES | -1 | debugging tool, -1 = default behaviour, 0 = always no, 1 = always yes |
TextSettings[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| DEFAULT_ALIGNMENT | 2 | Center |
| DEFAULT_FONT | StandardGameFont | |
| DEFAULT_FONT_SIZE | 60 | |
| DEFAULT_LOD_FACTOR | 0.015 | Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio |
| DEFAULT_TEXT_COLOR | { 0.16, 1, 0.9, 1 } | Yellow |
| DEFAULT_OUTLINE_WIDTH | 0.2 | |
| DEFAULT_OUTLINE_COLOR | { 0, 0, 0, 1 } | Black |
| DEFAULT_HEIGHT_SIZE | 2 | |
| DEFAULT_BOUNDING_BOX_EXTRA_SIZE | { 0, 0, 20 } | Add extra height to account for animation |
| DEFAULT_ANIMATION_FUNCTION | ShowGrowAndDisappearAnimation | |
| DEFAULT_TEXT_DURATION | 1 | |
| UNITLOSS_ALIGNMENT | 2 | Center |
| UNITLOSS_FONT | StandardGameFont | |
| UNITLOSS_FONT_SIZE | 60 | |
| UNITLOSS_LOD_FACTOR | 0.015 | Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio |
| UNITLOSS_TEXT_COLOR | { 0, 1, 1, 1 } | Red |
| UNITLOSS_OUTLINE_WIDTH | 0.2 | |
| UNITLOSS_OUTLINE_COLOR | { 0, 0, 0, 1 } | Black |
| UNITLOSS_HEIGHT_SIZE | 2 | |
| UNITLOSS_BOUNDING_BOX_EXTRA_SIZE | { 0, 0, 20 } | Add extra height to account for animation |
| UNITLOSS_ANIMATION_FUNCTION | ShowGrowAndDisappearAnimation | |
| UNITLOSS_TEXT_DURATION | 1 | |
| SIEGE_MESSAGE_ALIGNMENT | 2 | Center |
| SIEGE_MESSAGE_FONT | StandardGameFont | |
| SIEGE_MESSAGE_FONT_SIZE | 60 | |
| SIEGE_MESSAGE_LOD_FACTOR | 0.015 | Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio |
| SIEGE_MESSAGE_TEXT_COLOR | { 0.16, 1, 0.9, 1 } | Yellow |
| SIEGE_MESSAGE_OUTLINE_WIDTH | 0.2 | |
| SIEGE_MESSAGE_OUTLINE_COLOR | { 0, 0, 0, 1 } | Black |
| SIEGE_MESSAGE_HEIGHT_SIZE | 2 | |
| SIEGE_MESSAGE_BOUNDING_BOX_EXTRA_SIZE | { 0, 0, 20 } | Add extra height to account for animation |
| SIEGE_MESSAGE_ANIMATION_FUNCTION | ShowGrowAndDisappearAnimation | |
| SIEGE_MESSAGE_TEXT_DURATION | 1 | |
| LOOT_MESSAGE_ALIGNMENT | 2 | Center |
| LOOT_MESSAGE_FONT | StandardGameFont | |
| LOOT_MESSAGE_FONT_SIZE | 60 | |
| LOOT_MESSAGE_LOD_FACTOR | 0.015 | Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio |
| LOOT_MESSAGE_TEXT_COLOR | { 0.16, 1, 0.8, 1 } | Yellow |
| LOOT_MESSAGE_OUTLINE_WIDTH | 0.2 | |
| LOOT_MESSAGE_OUTLINE_COLOR | { 0, 0, 0, 1 } | Black |
| LOOT_MESSAGE_HEIGHT_SIZE | 1.8 | |
| LOOT_MESSAGE_BOUNDING_BOX_EXTRA_SIZE | { 0, 0, 20 } | Add extra height to account for animation |
| LOOT_MESSAGE_ANIMATION_FUNCTION | ShowGrowAndDisappearAnimation | |
| LOOT_MESSAGE_TEXT_DURATION | 1 |
Tooltip[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| OPEN_DELAYED_TIME | 0 | |
| CLOSE_TIME | 0.2 | |
| TENDENCY_BUFFER | 15 | |
| MIDDLE_MOUSE_LOCK_TIME | 0.25 | |
The following two values control if the tooltip position is updated due to mouse movement. If the current mouse position is at least DISTANCE pixels away from the earlier mouse position from DURATION seconds in the past, then the tooltip position will be updated. | ||
| MOUSE_MOVE_DISTANCE_TO_UPDATE_TOOLTIP_POSITION | 10 | |
| MOUSE_MOVE_DURATION_TO_UPDATE_TOOLTIP_POSITION | 0.2 | |
Tooltip stack tint RGBA colors starting with the top tooltip | ||
| TOOLTIP_TINT_RGBA | { 1, 1, 1, 1, 0.8, 0.8, 0.8, 1, 0.6, 0.6, 0.6, 1, 0.1, 0.1, 0.1, 0.2 } | Tooltip stack tint RGBA colors starting with the top tooltip |
TradeGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| WAGON_SCALE | 0.125 | |
| SHIP_SCALE | 0.5 | |
| SHIP_FLATMAP_Y_OFFSET | 2 | |
| DEFAULT_WAGON_SPEED | 0.4 | |
| WAGONS_BY_MARKET | 15 | |
| MINIMUM_TRADEROUTE_LENGHT | 1000 | |
| WAGONS_TO_TRADECENTERS | 14 | |
| MINIMUM_PRODUCTIONROUTE_LENGHT | 300 | |
| TRADE_SPLINEPOINT_SEPARATION | 2 | |
| MAX_PROVINCES_TO_LOOK_FOR_PRODUCTION_BY_FRAME | 25 | |
| TIME_TO_FADE_ON_DESTRUCTION | 5 | |
| MAX_COLONY_CHARTER_WAGONS | 100 | |
| MINIMUM_SPAWN_TIME_BETWEEN_COLONY_WAGONS_OF_THE_SAME_COUNTRY | 20 | |
| MINIMUM_SPAWN_TIME_BETWEEN_COLONY_WAGONS_GLOBAL | 0.1 | |
| COLONY_WAGON_ROUTE_DUPLICATION_PENALTY | 0.5 | |
| MAX_EXPLORATION_WAGONS | 100 | |
| MINIMUM_SPAWN_TIME_BETWEEN_EXPLORATION_WAGONS_GLOBAL | 0.1 | |
| MINIMUM_SPAWN_TIME_BETWEEN_EXPLORATION_WAGONS_OF_THE_SAME_EXPLORATION | 20 | |
| TRADE_PARTICLES_ZOOM_OUT_STEP | 6 |
TreeTweaks[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| SSS_RADII | { 0.85, 1, 0.5, 0.3 } | This controls how "far" the light scatters inside the object. rgb, multiplied by alpha |
| SSS_COLOR | { 1, 1, 1, 0.6 } | Multiplied to the final SSS result. rgb, multiplied by alpha |
| SSS_BLEND_TO_NORMALIZED_ALBEDO | 0 | At 0 SSS will use the texture as is, at 1 it will use the normalized albedo. 1 is bright and flat |
| TRANSLUCENCY_COLOR | { 1, 1, 1, 0.125 } | |
| TRANSLUCENCY_COSINE_BEGIN | -0.5 | cosines at which the translucency effect starts and stops. -1 is when the camera and light point in the same direction, 1 is the opposite |
| TRANSLUCENCY_COSINE_END | 4 | |
| BACKLIGHT_INTENSITY | 1 | How much to use the backlight - allthough spec is disabled for trees this will still contribute to some scattering |
| TERRAIN_NORMAL_BLEND | 0.5 | |
| TERRAIN_NORMAL_STRENGTH | 1 | |
| TERRAIN_NORMAL_BIAS_TOWARDS_SUN | 0.1 | Bends the normals towards the sun, for a brighter look when the sun is behind the viewer |
| SOFT_SHADOW_SIZE | 7.5 | |
| SOFT_SHADOW_SAMPLES | 4 | |
| WIND_EFFECT_NORMAL_MAP | gfx/models/debug/wind_effect/wind_debug_normal7.dds | Which texture to use for the wind effect |
| WIND_EFFECT_NORMAL_MAP_TILING | 32 | Size of one tile / one repeat of the normal map |
| WIND_EFFECT_DIRECTION | { 1, 0.5 } | Direction of the wind |
| WIND_EFFECT_INTENSITY | 0.2 | How much the vertices are moved. Should be 0-1 |
| WIND_EFFECT_SPEED | 1.5 | How fast the texture moves |
| WIND_EFFECT_SPREAD | 2 | How much noise to add to the position of the wind sample - helps break up recognizable patterns from the texture, but also makes the texture a bit pointless |
| WIND_EFFECT_NORMAL_STRENGTH | -1 | How much wind will affect the normals for lighting. Both positive and negative values work. Positive makes normal point in the wind direction, negative makes it point against the wind |
Trees[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| FADE_FAR | 1 | |
| FADE_NEAR | 0 | |
| QUAD_SIZE | 100 |
Unit[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| EMBARK_DISEMBARK_MULTIPLIER | 0.2 | to make disembark/embark from coast slower. |
| SIZE_IMPACT_ON_MOVEMENT_SCALE | -0.02 | |
| SIZE_IMPACT_ON_MOVEMENT_CAP | -0.5 | |
| BASE_REGIMENT_PRICE_SCALE | 0.1 | 100 men is a base (divided) |
| BASE_SCALE_SHIP_DOUBLE_PER_AGE | 1 | as regiments double in size each age.. 0 to disable. |
| EXPERIENCE_GAIN_FROM_MISSIONS | 1 | |
| UPGRADE_COST_SCALE | 0.1 | |
| REGIMENT_SIZE | 1000 | |
| ATTRITION_ON_FOOD_CONSUMPTION_IMPACT | 2 | |
| MONTHS_OF_FOOD_FOR_DETACHED_SUPPORT | 6 | |
| ATTRITION_LACK_OF_FOOD | 5 | |
| LEVY_MAINTENANCE_FACTOR | 0.01 | |
| MOTHBALL_PERCENT | 0.1 | |
| LAND_MORALE | 3 | |
| NAVAL_MORALE | 3 | |
| ARMY_MOVEMENT_SPEED | 0.13 | |
| NAVY_MOVEMENT_SPEED | 0.5 | |
| ARMY_MOVEMENT_SPEED_INTO_UNKNOWN_TERRITORY_MODIFIER | 1 | |
| MOVEMENT_LOCKED | 0.5 | |
| LOW_MORALE_THRESHOLD | 0.5 | |
| SHIP_UPGRADE_STARTING_STRENGTH | 0.01 | |
| MONTHLY_REINFORCE | 0.25 | |
| MONTHLY_REPAIR | 0.1 | |
| LOCKED_MORALE_CAP | 0.5 | |
| LAND_MERC_COMPANY_RANDOM_NAME_COUNT | 20 | |
| NAVAL_MERC_COMPANY_RANDOM_NAME_COUNT | 4 | |
| LEADER_ASSIGN_MIN_DAYS | 7 | |
| LEADER_ASSIGN_DISTANCE_FACTOR | 0.07 | |
| NAVAL_ATTRITION_CHANCE | 0.1 | |
| NAVAL_ATTRITION_MIN_AT_PORT | 0.05 | |
| DAYS_UNTIL_CAN_BE_RANSOMED_AGAIN | 60 | |
| ATTRITION_DAYS_AT_SEA | 0.02 | |
| OUTSIDE_OF_NAVAL_RANGE_ATTRITION | 0.5 | |
| FROZEN_ATTRITION | 0.5 | |
| FALLING_THROUGH_ICE_MIN_PROPORTION_TO_ESCAPE | 0.5 | |
| DEPOSIT_FOOD_FRACTION | 0.25 | |
| SUPPLY_DEPOT_FOOD_FRACTION | 0.1 | |
| DISEMBARK_COST_MULTIPLIER | 0.5 | seazones are larger etc, and disembark is not from middle of seazone.. |
| LOCATION_SCALE_ON_MOVEMENT_COST | 1.33 | |
| PERCENTAGE_OF_REGIMENTS_WITH_NICKNAME | 0.5 | What fraction of regiments spawn with a nickname (e.g. 1st 'Sitges' Regiment instead of just 1st Regiment) |
UnitGraphics[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| UNIT_ICON_SHORT_VARIANT_AT_ZOOM_STEP | 9 | |
| UNIT_MAP_MARKER_MAP_PIXELS_SOUTH | 2 | The unit map marker (-- of troops, etc.) will be positioned as if it was this many pixels on the map south of where the unit is standing |
Defines for number of soldiers visible per army This visualization may or may not still work when you read this: https://www.desmos.com/calculator/qrvgaseadc | ||
| ARMY_VISIBLE_SOLDIERS_REFERENCE | 15 | Amounts of soldiers for a "normally" sized army |
| ARMY_TOTAL_STRENGTH_REFERENCE | 10 | "Normal" size of army (in thousands of men) |
| NAVY_VISIBLE_SHIPS_REFERENCE | 4 | Amounts of ships for a "normally" sized navy |
| NAVY_TOTAL_STRENGTH_REFERENCE | 10 | "Normal" size of navy (in "strength") |
| UNIT_VISIBLE_SOLDIERS_AGE_FACTOR | 1.4 | "Normal" size of army multiplied by this each age |
| UNIT_VISIBLE_SOLDIERS_NORMALIZATION | 1.8 | Normalization exponent. 1 corresponds to proportional relationship. |
| UNIT_VISIBLE_SOLDIERS_MAX | 30 | This max will only be reached for ridiculously big armies |
Patterns should have same number as elements as UNIT_VISIBLE_SOLDIERS_MAX 23 21 20 22 24 18 16 15 17 19 13 11 10 12 14 08 04 03 05 09 06 01 00 02 07 | ||
| UNIT_PATTERN_HIGH_UNIFORMITY | { 0 0, -1 0, 1 0, 0 1, -1 1, 1 1, -2 0, 2 0, -2 1, 2 1, 0 2, -1 2, 1 2, -2 2, 2 2, 0 3, -1 3, 1 3, -2 3, 2 3, 0 4, -1 4, 1 4, -2 4, 2 4, 0 5, -1 5, 1 5, -2 5, 2 5 } | puts the unit in rows remove comment if you modify the formation |
| UNIT_PATTERN_LOW_UNIFORMITY | { 0 0, -1 0.14, 1 0.14, 0 1, -1.1 1.14, 1.1 1.14, -2 0.6, 2 0.6, -2.3 1.4, 2.3 1.4, 0 2, -1.14 2.2, 1.14 2.2, -2.3 2.5, 2.3 2.5, 0 3, -1.14 3.2, 1.14 3.2, -2.3 3.3, 2.3 3.3, 0 4, -1.14 4.2, 1.14 4.2, -2.3 4.3, 2.3 4.3, 0 5, -1.14 5.2, 1.14 5.2, -2.3 5.3, 2.3 5.3 } | puts the units in a circle remove comment if you modify the formation |
| FORMATION_PREFERENCE_BY_TAG_REAR | { army_auxiliary, army_artillery, UnitWeapon_bow, UnitWeapon_arquebus, UnitWeapon_matchlock, UnitWeapon_pistol, UnitWeapon_dualpistol, UnitWeapon_crossbow, UnitWeapon_musket, UnitWeapon_rifle, UnitWeapon_handgonne } | |
| FORMATION_PREFERENCE_BY_TAG_FRONT | { UnitWeapon_sword, UnitWeapon_saber, UnitWeapon_axe_two_handed, UnitWeapon_axe, UnitWeapon_polearm, UnitWeapon_wooden_club, UnitWeapon_mace, UnitWeapon_knife, UnitWeapon_spear, UnitWeapon_spear_two_handed } | |
Units will be positioned in a random circle around the pattern possition based on uniformity | ||
| UNIT_PATTERN_LOW_UNIFORMITY_RANDOM_POSITIONING | 0.11 | Units will be positioned in a random circle around the pattern possition based on uniformity |
| UNIT_PATTERN_HIGH_UNIFORMITY_RANDOM_POSITIONING | 0 | |
| RANDOM_FORMATION_ROTATION_MIN | 15 | in degrees |
| RANDOM_FORMATION_ROTATION_MAX | 25 | |
| RANDOM_ARMY_UNIT_ROTATION_VARIATION_LOW_UNIFORMITY | 50 | |
| RANDOM_ARMY_UNIT_ROTATION_VARIATION_HIGH_UNIFORMITY | 0 | |
| RANDOM_NAVY_UNIT_ROTATION_VARIATION_LOW_UNIFORMITY | 20 | |
| RANDOM_NAVY_UNIT_ROTATION_VARIATION_HIGH_UNIFORMITY | 10 | |
| ARMY_SCHEMATIC | army_schematic | |
| NAVY_SCHEMATIC | ||
Uniformity is calculated like this: Base + Levy/Rebel/Merc bonus + Discipline * factor + Experience * factor + Army/Navy Tradition * factor. The end result is clamped to 0% - 100% | ||
| UNIFORMITY_BASE | 0.25 | |
| UNIFORMITY_LEVY_BONUS | -0.5 | |
TODO CAESAR-10402 RICARDO Ensure rebel uniformity is correct | ||
| UNIFORMITY_MERC_BONUS | 0.25 | |
| UNIFORMITY_DISCIPLINE_FACTOR | 1 | |
| UNIFORMITY_EXPERIENCE_FACTOR | 1 | |
| UNIFORMITY_TRADITION_FACTOR | 1 | |
| UNIFORMITY_EXPONENT | 0.5 | After clamping the uniformity value is raised to the power of exponent ( uniformity = uniformity ^ exponent ) to create a non-linear scale. |
| ARMY_FORMATION_SCALE | 1.3 | |
| ARMY_ENTITY_SCALE | 0.2 | |
| ARMY_LOADED_SCALE | 0.3 | |
| ARMY_RANDOM_UNIT_MIN_Y_SCALE_VARIATION | 0.9 | Randomizes the scale in the Y Direction of the army units use with ARMY_RANDOM_UNIT_SCALE_VARIATION to variate the height of the units |
| ARMY_RANDOM_UNIT_MIN_SCALE_VARIATION | 0.9 | randomizes the scale of each subunit |
| ARMY_MOVEMENT_SPACING | 1.5 | |
| ARMY_MOVEMENT_ASPECT | 1 | |
| NAVY_FORMATION_SCALE | 3.5 | |
| NAVY_ENTITY_SCALE | 0.8 | |
| NAVY_DOCKED_SCALE | 0.3 | |
| NAVY_MOVEMENT_SPACING | 4 | |
| NAVY_MOVEMENT_ASPECT | 0.5 | |
| COMBAT_SPACING | 2 | |
| MOVEMENT_ANIMATION_SPEED_FACTOR | 0.085 | |
| SINGLE_UNIT_ENTITY_SCALE | 3 | |
| COUNTRY_COLOR_SHIP_PRIMARY_REPLACEMENT_OPACITY | 1 | |
| COUNTRY_COLOR_SHIP_SECONDARY_REPLACEMENT_OPACITY | 1 | |
| COUNTRY_COLOR_SHIP_TERCIARY_REPLACEMENT_OPACITY | 0.25 | |
| UNIT_ZOOM_OUT_STEP | 12 | |
| UNIT_PARTICLES_ZOOM_OUT_STEP | 6 | |
| UNIT_VIEWER_SELECTED_GIZMO_SCHEMATIC | selection_marker_gizmo | |
| UNIT_SELECTION_MARKER_SCHEMATIC | unitgfx_selection_marker | |
4 values: UnitSizeMin, MarkerSizeMin, UnitSizeMax, MarkerSizeMax. The game will remap the units size from the range UnitSizeMin to UnitSizeMax to the range MarkerSizeMin to MarkerSizeMax and use the result as the marker size. For example, if the unit size is 0.5 and the unit size range is 0.0 to 1.0 and the marker size range is 1.0 to 2.0, the marker size will be 1.5. | ||
| UNIT_SELECTION_MARKER_TARGET_SIZE_THRESHOLDS | { 1, 0.5, 5, 4.5 } | |
| UNIT_SELECTION_ANIMATION_DURATION | 0.5 | |
Animation is using a cubic curve These values are: Value at start of animation, at 1/3 of the animation, at 2/3 of the animation and at the end of the animation Only the first and last values are guaranteed to be used exactly as they are, the middle two values act as control points for the curve but will likely never be reached entirely | ||
| SELECTION_MARKER_SCALE_VALUES | { 6, 4, 0.25, 1 } | |
| SELECTION_MARKER_OPACITY_VALUES | { 0, 0, 0.95, 1 } | |
| SELECTION_MARKER_UV_ROTATION_SPEED | 90 | degrees / second |
The 'schwing' effect that appears on the units when they are selected | ||
| SELECTION_SCHWING_COLOR | { 0.8, 0.6, 0.2, 1.5 } | The 'schwing' effect that appears on the units when they are selected |
| SELECTION_SCHWING_THICKNESS | 2.5 | |
| SELECTION_SCHWING_OPACITY_VALUES | { 0, 0.01, 0.05, 1 } | cubic curve like the selection marker |
| SELECTION_SCHWING_HEIGHT | 4 | how high in worldspace the schwing effect goes |
| SELECTION_SCHWING_TIME_START | 0 | times are relative to the total animation time |
| SELECTION_SCHWING_TIME_END | 1 | |
battle lateral view | ||
| BATTLE_TILE_MORALE_ALPHA_THRESHOLD | 0.25 | At what Morale percentage do units start fading away? (at this point they are fully visible) |
| BATTLE_TILE_MORALE_ALPHA_MINIMUM | 0.5 | What is the lowest transparency they can get to (when at 0% morale) |
VisibleLocationsGfx[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MAX_VISIBLE_ZOOM_LEVEL | 13 | |
| PLAGE_SCHEMATIC_NAME | plague_particle | |
| GLACIER_SCHEMATIC_NAMES | { glacier_schematic, glacier_schematic_medium, glacier_schematic_small } | |
| SANDSTORM_SCHEMATIC_NAME | sandstorm_schematic | |
| DENSITY_OF_GLACIERS_MILD | 0 | |
| DENSITY_OF_GLACIERS_NORMAL | 0.0005 | |
| DENSITY_OF_GLACIERS_SEVERE | 0.001 | |
| NUMBER_OF_GLACIER_RETRIES | 5 | |
| GLACIER_ALLOWED_CLIMATES | { arctic } |
War[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| MAX_WAR_SCORE | 100 | |
| PARTICIPATION_SCORE_BLOCKADE | 0.001 | Per development & ship, once each month |
| PARTICIPATION_SCORE_BATTLE | 0.03 | Per regiment or ship engaged in battle |
| PARTICIPATION_SCORE_SIEGE | 0.01 | Per regiment engaged in sieges that are able to progress |
| PARTICIPATION_SCORE_OVERSEAS_MULT | 0.25 | How much less participation do you get if fighting overseas from war leader? |
| PARTICIPATION_SCORE_MERC_MULT | 0.5 | How much less participation do you get from mercs? |
| PARTICIPATION_SCORE_UNFORTIFIED_MULT | 0.1 | How much less participation do you get from besieging unfortified provinces? |
| ATTACKER_WAR_COST_POWER_PROJECTION_SCALE | 0.01 | Declare war cost multiplier = 1 - ( Power projection difference between attacker and defender x this ) |
| PARTICIPATION_SCORE_TO_FAVOURS_MULTIPLIER_BLOCKADE | 1 | these will tick up your favours to whoever you're helping as the war goes on |
| PARTICIPATION_SCORE_TO_FAVOURS_MULTIPLIER_COMBAT | 1 | these will tick up your favours to whoever you're helping as the war goes on |
| PARTICIPATION_SCORE_TO_FAVOURS_MULTIPLIER_SIEGE | 1 | these will tick up your favours to whoever you're helping as the war goes on |
| PARTICIPATION_SCORE_TO_FAVOURS_MULTIPLIER_JOINING_WAR | 20 | one-off favours boost |
| WAR_WORTH_BASE | 2 | |
| WAR_WORTH_TAX_BASE_SCALE | 0.2 | |
| WAR_WORTH_BUILDING_SCALE | 0.025 | |
| WAR_WORTH_BUILDING_CAP | 10 | |
| WAR_WORTH_POPULATION_SCALE | 0.02 | |
| WAR_WORTH_POPULATION_CAP | 4 | |
| WAR_WORTH_COUNTRY_CAPITAL | 5 | |
| WAR_WORTH_PROVINCE_CAPITAL | 1 | |
| WAR_WORTH_PORT | 1 | |
| WAR_WORTH_FORT_BASE | 0.5 | |
| WAR_WORTH_FORT_LEVEL_SCALE | 0.25 | |
| WAR_WORTH_DEVELOPMENT_SCALE | 0.05 | scaled to (this location's development - average development of taker) |
| WAR_WORTH_DEVELOPMENT_MIN | -1 | |
| WAR_WORTH_DEVELOPMENT_MAX | 5 | |
| FAVOR_GAIN_WARSCORE_FACTOR | 20 | Favors gained for giving land is scaled relative to this actual warscore cost (so more favors for bigger chunks of land) |
| FAVOR_GAIN_FOR_LAND | 10 | Favors gained for giving land (scales with how much they actually got relative to participation) |
| TRUST_PENALTY_FOR_NO_LAND | 20 | Trust penalty for not being given as much land as they expected in peace deal (scales with how much they actually got relative to participation) |
| BROKE_LAND_PROMISE_YEARS | 30 | |
| OPINION_PENALTY_FOR_NO_LAND | 1 | |
| PENALTY_FOR_NO_LAND_NOT_PROMISED_MULT | 0.5 | |
| MINIMUM_CONTRIBUTION_NOT_PROMISED_LAND | 0.2 | |
| MINIMUM_CONTRIBUTION_PROMISED_LAND | 0 | |
| EXPECTED_GAINS_PROMISED_LAND | 0.75 | |
| EXPECTED_GAINS_NOT_PROMISED_LAND | 0.5 | |
| DURATION_BEFORE_PURGING_WARS_IN_DAYS | 365 | |
| PEACE_REVOKE_CORE_MULT | 0.25 |
Water[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| DRAW_REFRACTIONS_CUTOFF | 1 |
Weather[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| SCHEMATIC_NAME | weather_graphics | |
| MIN_CAMERA_ZOOM | 0 | |
| MAX_CAMERA_ZOOM | 1500 | |
| CYCLONE_WIDTH_TO_SCALE_PROPORTION | 0.003 | |
| CYCLONE_Y_OFFSET | 70 | |
| TORNADO_SCALE | 1.5 | |
| TORNADO_Y_OFFSET | 0 | |
| RAIN_SLIGHT_PARTICLE | environment/rain_slight | |
| RAIN_MODERATE_PARTICLE | environment/rain_moderate | |
| RAIN_HEAVY_PARTICLE | environment/rain_heavy | |
| SNOW_SLIGHT_PARTICLE | weather/snow_slight | |
| SNOW_MODERATE_PARTICLE | weather/snow_moderate | |
| SNOW_HEAVY_PARTICLE | weather/snow_heavy | |
| CYCLONE_PARTICLE | environment/cyclone | |
| TORNADO_PARTICLE | environment/tornado |
WorkOfArt[edit | edit source]
| Define | Default Value | Dev Comment |
|---|---|---|
| NAME_ADJECTIVES | { beautiful, bountiful, able, clear, great, large, true, glorious, fine, revered, splendid, astonishing, breathtaking, amazing, urban, greater, scarlet, crimson, anthracite, emerald, petty, pathetic, ugly, grotesque, terrible, horrendous, eldritch, strange, unnatural, terrific, grand, aesthetic, captivating, innovative, expressive, harmonious, majestic, intriguing, evocative, timeless, radiant, vibrant, masterful, enchanting, whimsical, inspiring, disjointed, uninspired, mediocre, confusing, repetitive, dull, cluttered, stale, derivative, trivial, lifeless, incoherent, banal, unimaginative, amateurish } | |
| NAME_NOUNS | { love, glory, god, time, man, world, way, life, eye, mother, father, lady, lord, country, storm, wave, sea, view, monolith, titan, summer, moon, sun, prince, princess, grace, forest, meadow, lake, castle, rock, friend, bird, swan, rabbit, cow, eagle, bear, tree, rock, sandcastle } | |
| NAME_SAINTS | { name_george, name_michael, name_peter, name_john, name_james, name_mark, name_lucas, name_matthew, name_gabriel, name_simeon, name_gregory } |
References[edit | edit source]
| Documentation | Defines • Effects • Scopes • Scope links • Triggers Colors • Macros • Mean time to happen • Modifier types • On actions • Script value • Variables GUI script • Localization |
| Scripted content | Actions • Disasters • Events • Missions • Modifiers • Scripted gui • Setup • Situations • Customizable localization |
| Scripted types | Advances • Art • Buildings • Casus belli • Characters • Concepts • Countries • Culture • Diplomacy • Diseases • Estates • Goods • Institutions • International organizations • Laws • Peace treaties • Pops • Religion • Subject types • Traits • Units • Wargoals |
| Map | Map • Map mode modding • Terrain |
| Graphics | 3D Models • Interface • Graphical assets • Fonts • Flags |
| Audio | Music • Sound |
| Other | AI • Console commands • Checksum • Mods • Mod files load order • Mod structure • Troubleshooting |
| Guides | Interface modding guide • Mod translation • Save-game editing • Settlement position modding guide |
| Tools | Arcanum • PDX DeepL • PDX Workshop Manager • Add Your Tool to the Wiki |