Hands-On Usage
intel_level_over is commonly used in intelligence system-related mod scenarios, such as unlocking special decisions, diplomatic options, or operative actions only after a nation achieves sufficient intelligence penetration into a target country. For example, if you want to implement logic like "trigger a specific spy event only when Germany's civilian intelligence on Poland exceeds 50%", you can use it as a prerequisite condition in an available or trigger block.
# Example: Allow a decision only when Germany has sufficient intelligence on France
decision_example = {
available = {
tag = GER
intel_level_over = {
target = FRA
civilian_intel > 0.5
army_intel > 0.3
}
}
# ...
}
Synergy
[has_collaboration](/wiki/trigger/has_collaboration): Intelligence penetration typically progresses in parallel with collaboration levels. You can check the target nation's collaboration simultaneously to ensure both intelligence and political penetration thresholds are met before triggering effects.
[compare_intel_with](/wiki/trigger/compare_intel_with): Complements this trigger when you need to make relative comparisons between two nations' intelligence levels (rather than absolute percentages), covering different dimensions of intelligence assessment.
[add_intel](/wiki/effect/add_intel): Usually serves as a reward or advancement mechanism after this trigger's conditions are satisfied, further increasing intelligence values on the target within the effect block, forming a "reach threshold → trigger → further enhance" logic chain.
[has_captured_operative](/wiki/trigger/has_captured_operative): Capturing operatives is often the outcome of intelligence warfare. You can combine it with intel_level_over to unlock more advanced actions only when conditions like "sufficient penetration AND captured enemy operative" are met.
Common Pitfalls
- Misunderstanding value ranges:
intel_level_over compares percentages (between 0 and 1). Beginners often write civilian_intel > 50 in integer form, causing the condition to never be satisfied because actual values never exceed 1.
- Misinterpreting unspecified fields: Intelligence types that are not written out (such as omitting
airforce_intel) are completely ignored rather than defaulting to 0. Beginners often mistakenly believe that not writing a field means "require that field to be 0", causing them to overlook intelligence dimensions that should be constrained. It's recommended to explicitly write out all fields you need to restrict.