NOperatives
All 125 NOperatives constants from HOI4 v1.19 — datamined values with the developers' own comments.
| Key | Value | Comment |
|---|---|---|
AGENCY_CREATION_DAYS |
30 |
Number of days needed to create an intelligence agency |
AGENCY_UPGRADE_DAYS |
30 |
Number of days needed to upgrade an intelligence agency |
AGENCY_CREATION_FACTORIES |
5 |
Number of factories used to create an intelligence agency |
AGENCY_AI_BASE_NUM_FACTORIES |
25 |
Used by AI to pace the upgrades. Formula : if( AGENCY_AI_BASE_NUM_FACTORIES <= num_civ_factories - num_upgrades * AGENCY_AI_PER_UPGRADE_FACTORIES ) |
AGENCY_AI_PER_UPGRADE_FACTORIES |
6 |
Used by AI to pace the upgrades. Formula : if( AGENCY_AI_BASE_NUM_FACTORIES <= num_civ_factories - num_upgrades * AGENCY_AI_PER_UPGRADE_FACTORIES ) |
AGENCY_UPGRADE_PER_OPERATIVE_SLOT |
5 |
Number of upgrade needed to unlock an additional operative slot |
MAX_OPERATIVE_SLOT_FROM_AGENCY_UPGRADES |
1 |
max operative slots gained from upgrades |
AGENCY_OPERATIVE_RECRUITMENT_TIME |
30 |
Number of days to wait to have operative to recruit when an operative slot first becomes available |
BECOME_SPYMASTER_PP_COST |
50 |
Number of political power used to become Spy Master (only without faction dlc) |
BECOME_SPYMASTER_FI_COST |
1 |
Faction initiative used to become Spy Master (only with faction dlc) |
BECOME_SPYMASTER_MIN_UPGRADES |
3 |
Number of agency upgrades you need before becoming Spy Master |
BASE_COUNTER_INTELLIGENCE_RATING |
0 |
Base national counter intelligence rating for all countries |
AGENCY_DEFENSE_EFFECT_ON_HOSTILE_ACTION_COST |
0.2 |
Defense factor that is responsible for multiplying the cost hostile actions against our country by its level and this value |
INTEL_NETWORK_GAIN_RATE_ON_WRONG_CONTROLLER |
-10 |
Amount of network strength lost in a state when it does not have the right controller anymore |
INTEL_NETWORK_GAIN_RATE_ON_OUT_OF_RANGE |
-1.75 |
Amount of network strength lost in a state that has the right controller but is out of range of any operative |
INTEL_NETWORK_GAIN_FROM_ADJACENCY_FACTOR |
0.5 |
Factor multiplied to the sum of the positive difference between a state's strength and its neighbors'. In other words, how strongly neighbors impact the strength gained in a state. Values greater or equal to 1 are discouraged. |
INTEL_NETWORK_GAIN_DECAY_PER_STEP_FACTOR |
0.5 |
Factor multiplied to the gain of the previous node in the netowrk initially contributed by the agent. In other words, before adjacency, the strength gain in a state would be GainFromOperative * ( INTEL_NETWORK_GAIN_DECAY_PER_STEP_FACTOR ^ NodeDepth ) where NodeDepth is the distance between the state and the operative's location. |
INTEL_NETWORK_STRENGTH_TARGET_OFFSET_PER_OPERATIVE |
15 |
The amount of strength each operative on build intel network mission in a sub network add to the base target network strength |
INTEL_NETWORK_STRENGTH_DECAY_WHEN_ABOVE_TARGET |
-2.5 |
The amount of strength removed each tick from a state that has more strength than the target |
INTEL_NETWORK_BASE_STRENGTH_TARGET_COUNTERINTELLIGENCE_FACTOR |
-10 |
BaseStrengthTarget = Factor * CounterIntelligenceRating + Offset |
INTEL_NETWORK_BASE_STRENGTH_TARGET_COUNTERINTELLIGENCE_OFFSET |
90 |
Offset mentioned above |
INTEL_NETWORK_MIN_VP_TO_TARGET |
15 |
The minimum value of the highest VP in a state to consider the state as a valid target to start building an intel network |
INTEL_NETWORK_MIN_STRENGTH_TO_TARGET |
101 |
The minimum value of the intel network in a state to consider it a valid target to deploy an operative in |
INTEL_NETWORK_MIN_STRENGTH_TO_LINK_SUBNETWORKS |
0 |
Where the influence of two operative meet, the two nodes on each side have to have strictly more than the given strength before the two operatives have a chance of being considered in the same network |
INTEL_NETWORK_OPERATIVE_GAIN_STACKING_FACTOR |
0.5 |
When multiple operative are present in the same location, this factor is applied for each operative with a lower gain than the max. So if operatives have the gain [ 3, 1, 2 ] in the same location, it is sorted to [ 1, 2, 3 ] then converted to [ 1*D^2, 2*D^1, 3 ], with D being this define, so if D=0.5 we have [ 0.25, 1, 3 ] and the final gain from operative at this location will be 4.25. Putting this define to 0 is equivalent to considering the maximum value only. |
INTEL_NETWORK_MIN_STRENGTH_FOR_STATE_TO_COUNT_TOWARD_NATIONAL_COVERAGE |
0 |
Amount of strength (0, 100) in a state required for it to count toward the national coverage |
INTEL_NETWORK_NATIONAL_COVERAGE_CONTROLLED_STATES_WEIGHT |
0.2 |
Weight (expected [0,1]) multiplied by the number of states covered by the network that are controlled by the target over the total number of states the target controls |
INTEL_NETWORK_NATIONAL_COVERAGE_CORE_STATES_WEIGHT |
0.6 |
Weight (expected [0,1]) multiplied by the number of states covered by the network that are core to the target over the total number of states the target has for core |
INTEL_NETWORK_NATIONAL_COVERAGE_OWNED_WORTH_WEIGHT |
0.2 |
Weight (expected [0,1]) multiplied by the value of victory points covered by the network over the total value of victory points controlled by the targets |
INTEL_NETWORK_OCCUPIED_TAG_STATES_WEIGHT |
0.5 |
Weight (expected [0,1]) multiplied to the fraction of number of state covered by the intel network divided by the number of states occupied by the target of the network, per occupied tag |
INTEL_NETWORK_OCCUPIED_TAG_WORTH_WEIGHT |
0.5 |
Weight (expected [0,1]) multiplied to the fraction of victory points worth of states covered by the intel network divided by the worth of states occupied by the target of the network, per occupied tag |
INTEL_NETWORK_MIN_SUB_NETWORK_SIZE_FOR_DETECTION |
0 |
minimum number of state of a sub-intel network before an operative on build intel network mission in this network can be detected |
INTEL_NETWORK_MIN_NATIONAL_COVERAGE_FOR_DETECTION |
0.02 |
[0, 1] minimum national coverage required for an operative on build intel network to have a chance to be discovered |
INTEL_NETWORK_MIN_SUB_NETWORK_NATIONAL_COVERAGE_FOR_DETECTION |
0.01 |
[0, 1] minimum national coverage of the network the operative on build intel network is in to have a chance to be discovered |
INTEL_NETWORK_MIN_SUB_NETWORK_STRENGTH_FOR_DETECTION |
10 |
[0, 100] minimum network strength of the network the operative on build intel network mission is in to have a chance to be discovered |
INTEL_NETWORK_INTELLIGENCE_AGENCY_DEFENSE_TO_DETECTION_FACTOR |
2 |
multiplied to the intelligence agency defense of the target of the intel network |
INTEL_NETWORK_INTELLIGENCE_AGENCY_DEFENSE_DETECTION_SCALE_FACTOR |
0 |
factor multiplied to the intelligence agency defense of the target of the intel network before being factored to the detection chance |
INTEL_NETWORK_MAX_INTELLIGENCE_AGENCY_DEFENSE_DETECTION_SCALE_FACTOR |
1 |
clamp the value from the multiplication of the above factor (expect a value greater or equal to 1) |
INTEL_NETWORK_NATIONAL_COVERAGE_TO_DETECTION_CHANCE_FACTOR |
1 |
multiplied to the national coverage (a value in range [0, 1] |
INTEL_NETWORK_SUB_NETWORK_STRENGTH_TO_DETECTION_CHANCE_FACTOR |
0.1 |
multiplied to the network strength (a value in range [0, 100] |
INTEL_NETWORK_SUB_NETWORK_NATIONAL_COVERAGE_TO_DETECTION_CHANCE_FACTOR |
3 |
multiplied to the contribution to the national coverage of the sub network (a value in range [0, 1]) |
INTEL_NETWORK_DETECTION_GLOBAL_FACTOR |
0.01 |
global factor multiplied to the detection chance before it is multiplied a dice roll in the range [0,1000) |
BUILD_INTEL_NETWORK_DAILY_XP_GAIN |
1 |
|
QUIET_INTEL_NETWORK_DAILY_XP_GAIN |
0 |
|
OPERATIVE_MISSION_DETECTION_CHANCE_FACTORFactor multiplied to the detection chance of an agent on mission before the offsets |
{ 0, 1, 1, 1, 0, 3, 0.1, 0.1, 3 } |
|
OPERATIVE_SLOTS_FROM_FACTION_MEMBERS_FOR_SPY_MASTERused for calculating how many operatives will a spy master gain from its faction members first number in every now is number of operatives gained second number is total factory needed (mil and civ) for giving previous ratio |
{ 0, 0, 0.25, 10, 0.5, 50 } |
|
INTEL_NETWORK_STATE_MODIFIER_STRENGTH_THRESHOLD |
10 |
Minimum amount of strength required in a state for the intel network related modifiers to start being applied |
INTEL_NETWORK_MIN_DEFAULT_FOR_SHOWING |
25 |
default min level for networks used to filter operation requirements if not overriden |
OPERATIVE_BASE_INTEL_NETWORK_GAIN |
0.4 |
Base amount of network strength gain per day provided by an operative |
OPERATIVE_MAX_INTEL_NETWORK_GAIN |
-1 |
Max amount of network strength gain per day provided by an operative after modifiers have been applied (negative value means no max) |
COUNTER_INTELLIGENCE_FOREIGN_AGENT_FACTOR |
0 |
Multiplier to the counter intelligence provided by foreign (ally) operatives |
COUNTER_INTELLIGENCE_STACKING_FACTOR |
0.5 |
Multiplier applied to each operative after the first one. So if we have the following counter intelligence rating values [ 0.1, 0.3, 0.2 ], the factor is applied twice for the lowest value and once for the 2nd lowest one as such : [ 0.3, 0.2 * D, 0.1 * D * D ] and then the result is summed up to give the final rating value |
COUNTER_INTELLIGENCE_TO_DEFENSE_LOG_FACTOR |
0 |
Defense = LogFactor * log( 1 + CounterIntelligence ) + CounterIntelligence / Divisor |
COUNTER_INTELLIGENCE_TO_DEFENSE_DIVISOR |
1 |
see above |
COUNTER_INTELLIGENCE_DAILY_XP_GAIN |
0.112 |
|
BOOST_IDEOLOGY_NATIONAL_COVERAGE_FACTOR |
1 |
used to compute the drift factor as follow: BASE * SUB_NETWORK_NC * BOOST_IDEOLOGY_DEFENSE_FACTOR |
BOOST_IDEOLOGY_MAX_DRIFT_BY_OPERATIVE |
0.25 |
the maximum drift an operative can cause, a negative value means no maximum |
BOOST_IDEOLOGY_DRIFT_STACKING_FACTOR |
0.5 |
multiplied to the drift of an operative for each operative after the first one, with the greatest drift. So if we have the following drift values [ 0.1, 0.3, 0.2 ], the factor is applied twice for the lowest value and once for the 2nd lowest one as such : [ 0.3, 0.2 * D, 0.1 * D * D ] and then the result is summed up to give the final drift value. |
BOOST_IDEOLOGY_DEFENSE_FACTOR |
0.2 |
multiplied to the target's defense to get the amount of drift to remove from each operative's drift |
BOOST_IDEOLOGY_DAILY_XP_GAIN |
0.274 |
|
OPERATIVE_BASE_INTEL_AGENCY_DEFENSE |
1 |
Base amount of intel agency defense contributed by an operative on counter_intelligence mission |
OPERATIVE_BASE_BOOST_IDEOLOGY |
0.1 |
Base amount of daily ideology drift provoked by an operative |
OPERATIVE_BASE_PROPAGANDA_POWER |
0.0005 |
Base amount of daily war support and stability change when an operative is assigned to propaganda |
PROPAGANDA_SUB_NETWORK_STRENGTH_FACTOR |
1 |
Multiplied to the network strength before being multiplied to the Stability/WarSupport drift caused by an operative |
PROPAGANDA_DEFENSE_FACTOR |
0.01 |
Multiplied to the target's defense before being subtracted from the Stability/WarSupport drift caused by an operative |
PROPAGANDA_OPERATIVE_STACKING_FACTOR |
0.5 |
Multiplied to the Stability/WarSupport drift values of each operative after the one with the greatest values. The process is done separatly for Stability and WarSupport |
PROPAGANDA_COUNTRY_STACKING_FACTOR |
0.5 |
Multiplied to the Stability/WarSupport drift values of each country after the one with the greatest values. The process is done separatly for Stability and WarSupport |
PROPAGANDA_DAILY_XP_GAIN |
0.35 |
|
OPERATIVE_BASE_ROOT_OUT_RESISTANCE_EFFICIENCY |
1 |
The base efficiency of an operative at the RootOutResistance mission (this is a percentage, 1.0 == 100%) |
ROOT_OUT_RESISTANCE_STACKING_FACTOR |
0.5 |
Multiplied to each operative efficiency after the first one |
ROOT_OUT_RESISTANCE_RANGE_STEP_FACTOR |
0.5 |
Multiplied to the summed up efficiency from all operative operating in a same state to determine the efficiency in neighboring states |
ROOT_OUT_RESISTANCE_DAILY_XP_GAIN |
0.068 |
|
OPERATIVE_BASE_CONTROL_TRADE_DRIFT |
0.5 |
The base daily drift in trade influence caused by an operative |
CONTROL_TRADE_STACKING_FACTOR |
0.5 |
Multiplied to the drift of each operative after the first one |
CONTROL_TRADE_MAX_INFLUENCE |
50 |
The maximum amount of trade influence that can be gained through the control trade mission |
CONTROL_TRADE_INFLUENCE_DAILY_DECAY |
0.1 |
The amount of trade influence lost when no operative are assigned to the mission |
CONTROL_TRADE_DAILY_XP_GAIN |
0.137 |
|
OPERATIVE_BASE_DIPLOMATIC_PRESSURE_AI_ACCEPTANCE_SCORE_DRIFT |
0.4 |
The daily change in the amount of opinion requiered to join a faction |
OPERATIVE_BASE_DIPLOMATIC_PRESSURE_TENSION_REQUIREMENTS_DRIFT |
0.001 |
The daily change in world tension requiered to join a faction |
DIPLOMATIC_PRESSURE_MAX_AI_ACCEPTANCE_SCORE_INCREASE |
20 |
the maximum amount of ai acceptance score from diplomatic pressure |
DIPLOMATIC_PRESSURE_MAX_TENSION_REQUIREMENTS_DECREASE |
0.2 |
amount of tension (tensions is in range [0,1]) that can be removed from the requirements imposed by the modifier join_faction_tension_limit |
DIPLOMATIC_PRESSURE_OPERATIVE_STACKING_FACTOR |
0.5 |
The diminishing return factor to apply to operative working for the same faction after the first one. Operatives operating for a same faction are ranked by their efficiency and their opinion and tension drift are individually applyied a stacking factor like so: DRIFT * STACKING_FACTOR^RANK where RANK is a value from 0 to the number of operative -1 where the opperative with the highest drift value has rank 0 |
DIPLOMATIC_PRESSURE_AI_ACCEPTANCE_SCORE_DECAY |
0.4 |
daily decay when the mission is not active |
DIPLOMATIC_PRESSURE_TENSION_REQUIREMENTS_DECAY |
0.001 |
|
DIPLOMATIC_PRESSURE_DAILY_XP_GAIN |
0.137 |
|
MIN_NATIONAL_COVERAGE_FOR_BOOST_IDEOLOGY |
0.01 |
Minimum network coverage required to start the mission (the code ensures that a network exists at all) |
MIN_NATIONAL_COVERAGE_FOR_PROPAGANDA |
0.01 |
Minimum network coverage required to start the mission (the code ensures that a network exists at all) |
OPERATIVE_MIN_DAYS_HARMED |
30 |
Minimum number of days an operative can be harmed. Applied after modifiers. Can be zero. |
OPERATIVE_MAX_DAYS_HARMED |
120 |
Maximum number of days an operative can be harmed. Applied after modifiers. Is ignored if negative |
OPERATIVE_MIN_DAYS_FORCED_INTO_HIDING |
7 |
Minimum number of days an operative can be forced into hiding. Applied after modifiers. Can be zero. |
OPERATIVE_MAX_DAYS_FORCED_INTO_HIDING |
120 |
Maximum number of days an operative can be forced into hiding. Applied after modifiers. Is ignored if negative |
OPERATIVE_MAX_DAYS_TO_AUTO_RESUME_MISSION |
30 |
Maximum number of days an operative has to be disabled before its mission is not automatically resumed once he is available again |
MAX_RECRUITED_OPERATIVES |
10 |
|
CRYPTO_BASE_CRYPTO_LEVEL |
12000 |
base crypto strength for a country |
CRYPTO_CRYPTO_LEVEL_PER_CRYPTO_UPGRADE |
4250 |
crypto strength per crypto upgrade |
CRYPTO_CRYPTO_ACTIVE_BONUS_DURATION |
30 |
number of days the active decryption bonuses will be applied before enemy resets their intelligence |
CYRPTO_ACTIVE_BONUS_ACTIVATION_PROGRESS_RATIO |
0.5 |
once bonus is activated, decryption progress will be reduced to this ratio |
OPERATION_AI_MINIMUM_SCORE |
10 |
Once an operation's AI weight falls below the minimum score it will be scrapped if it is being prepared |
OPERATION_COMPLETION_XP |
18 |
|
OPERATIVE_CAPTURE_DURATION_IN_DAYS |
270 |
|
DEFAULT_OPERATION_COST_MULTIPLIERoperation cost & time are increased by default this ratios for each instance of operation that were already executed against same target. can be overridden using time_multiplier & cost_multiplier in operation. |
0.15 |
|
DEFAULT_OPERATION_TIME_MULTIPLIER |
0 |
|
BUILD_INTEL_NETWORK_MISSION_ACTIVITY_INDICATOR_FACTORThe following defines are multiplied to the number of operatives operating in the target country the activity level is computed for |
10 |
|
BOOST_IDEOLOGY_NETWORK_MISSION_ACTIVITY_INDICATOR_FACTOR |
10 |
|
PROPAGANDA_NETWORK_MISSION_ACTIVITY_INDICATOR_FACTOR |
10 |
|
CONTROL_TRADE_NETWORK_MISSION_ACTIVITY_INDICATOR_FACTOR |
1 |
|
DIPLOMATIC_PRESSURE_NETWORK_MISSION_ACTIVITY_INDICATOR_FACTOR |
1 |
|
INTEL_NETWORK_COVERAGE_ACTIVITY_FACTORmultiplied to the sum of the network coverage [0,1] all countries have over the target |
100 |
|
INTEL_NETWORK_STRENGTH_DANGER_FACTORmultiplied to the strength [0,100] of the strongest network over that country |
1 |
|
ACTIVITY_LEVEL_PROPORTIONAL_FACTORActivity level PID values |
0.01 |
|
ACTIVITY_LEVEL_INTEGRAL_FACTOR |
0.001 |
|
ACTIVITY_LEVEL_DERIVATIVE_FACTOR |
0 |
|
DANGER_LEVEL_PROPORTIONAL_FACTORDanger level PID values |
0.01 |
|
DANGER_LEVEL_INTEGRAL_FACTOR |
0.001 |
|
DANGER_LEVEL_DERIVATIVE_FACTOR |
0 |
|
NUM_DAYS_BEFORE_REMOVING_PREPARED_OPERATIONS |
60 |
num days before removing prepared operations |
ON_CAPTURE_COUNTERINTELLIGENCE_OPERATIVE_XP_GAIN |
100 |
Xp gain when an enemy operative is captured in the country the operative is assigned to counter intelligence to. Apply to a single randomly selected operative |
ON_CAPTURE_COUNTERINTELLIGENCE_OPERATIVE_WEIGHT_OWN_COUNTRY_FOR_XP |
2 |
An integer on how likely an operative operating in his own country is to get selected for the xp reward on enemy operative capture |
ON_CAPTURE_COUNTERINTELLIGENCE_OPERATIVE_WEIGHT_DIFFERENT_COUNTRY_FOR_XP |
1 |
same for an operative assigned to counter intelligence in a different country than his own |
RISK_LEVELSrisk and outcome texts. each number array should match its labels in size, but its ok to have different amount of risk levels than outcomes |
{ 0.1, 0.2, 0.3 } |
each risk level comes with a label to display for operations if it goes abve that number. If below the first it will isntead show the good outcomes |
RISK_LEVELS_LABELS |
{ "RISK_LOW", "RISK_MID", "RISK_HIGH" } |
|
OUTCOME_LEVELS |
{ 0, 0.2, 0.3 } |
outcome levels are shown if risk is below its first entry instead |
OUTCOME_LEVELS_LABELS |
{ "OUTCOME_BASE", "OUTCOME_GOOD", "OUTCOME_VGOOD" } |
|
TECH_STEAL_EQUIPMENT_FACTOR |
4 |
|
TECH_STEAL_YEAR_FACTOR |
4 |