Prerequisite Expansion
Continuing the trend of expanding existing logic, the NPatch heavily expands the
prerequisites system, allowing many new types of conditions to be made available
to create some interesting combinations.
This particular chain adds two new tags that work with Prerequisite to create additional conditions that can be met to have access to the same object.
The new tags are AlternatePrerequisite=[BuildingTypes] and Prerequisite2=[BuildingTypes]. Like Prerequisite, these do accept a list of structures, whereas PrerequisiteOverride only accepted one value.
For example, if you had Prerequisite=GAWEAP,GAAIRC, AlternatePrerequisite=NAWEAP,NATECH and Prerequisite2=YAWEAP,YAGRND on the same object, you would have access to it if you had an Allied War Factory and Allied AFC HQ, or a Soviet War Factory and Soviet Battle Lab, or a Yuri Factory and Yuri's Grinder.
For example, if you had Prerequisite=GAWEAP and NegativePrerequisite=GADEPT on the same object, you would have access to it when you had war factories but not when a service depot was present.
There are only six valid values, which correspond to each theater type. The accepted values are TEMPERATE, SNOW, URBAN, DESERT, NEWURBAN and LUNAR. They are not case sensitive so lower case in your actual rules file is okay.
Using this system is very simple. Simply add IsStolenTech=yes and Spyable=yes to any structure you wish to be spyable in order to provide a new unit. Then just add RequiresStolenTech=[BuildingType] to the unit that requires the infiltration.
However, there is a limitation to this system. It has greater priority over other infiltration functions such as veteran training or power shutdown. If you place IsStolenTech=yes on a structure that provides an existing function, you will not receive both effects.
AlternatePrerequisite & Prerequisite2
The first expansion allows multiple coniditons for constructing the same
object, which is much more effective than the previous method of
PrerequisiteOverride.
This particular chain adds two new tags that work with Prerequisite to create additional conditions that can be met to have access to the same object.
The new tags are AlternatePrerequisite=[BuildingTypes] and Prerequisite2=[BuildingTypes]. Like Prerequisite, these do accept a list of structures, whereas PrerequisiteOverride only accepted one value.
For example, if you had Prerequisite=GAWEAP,GAAIRC, AlternatePrerequisite=NAWEAP,NATECH and Prerequisite2=YAWEAP,YAGRND on the same object, you would have access to it if you had an Allied War Factory and Allied AFC HQ, or a Soviet War Factory and Soviet Battle Lab, or a Yuri Factory and Yuri's Grinder.
NegativePrerequisite
The next expansion is NegativePrerequisite, which can prevent access
upon owning a certain structure. Like Prerequisite,
NegativePrerequisite does accept a list. And it works with the new tags
introduced with the NPatch!
For example, if you had Prerequisite=GAWEAP and NegativePrerequisite=GADEPT on the same object, you would have access to it when you had war factories but not when a service depot was present.
RequiresTheater
The third new addition to the Prerequisite logic is RequiresTheater,
which does exactly as it sounds: it requires a specific theater to be used. This
works similarly to AlternateArcticArt except it can be applied to vehicles,
aircraft and infantry!
There are only six valid values, which correspond to each theater type. The accepted values are TEMPERATE, SNOW, URBAN, DESERT, NEWURBAN and LUNAR. They are not case sensitive so lower case in your actual rules file is okay.
New Stolen Tech System
The last expansion is a slight overhaul of the stolen technology system.
With this system, any structure can be spyable to gain access to a new unit, or
structure.
Using this system is very simple. Simply add IsStolenTech=yes and Spyable=yes to any structure you wish to be spyable in order to provide a new unit. Then just add RequiresStolenTech=[BuildingType] to the unit that requires the infiltration.
However, there is a limitation to this system. It has greater priority over other infiltration functions such as veteran training or power shutdown. If you place IsStolenTech=yes on a structure that provides an existing function, you will not receive both effects.
