ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Difference between revisions of "The Prerequisite System"

From ModEnc
Jump to: navigation, search
(Some rephrasing, layouting; removed NCO note, 'cause it's called NCO rather than "Jump to top" bug for a reason. Revision below rolled back for Wishlist Order Violation)
Line 1: Line 1:
The Prerequisite System controls the conditions required to build a certain object. Those conditions include:
+
The Prerequisite System controls the conditions required to build a certain object. Those conditions are:
 +
:{|style="border: 1px solid #aaaaaa; background:#e5e5e5; border-spacing: 5px;"
 +
|
 
; Is this object's TechLevel valid?
 
; Is this object's TechLevel valid?
: Checks if the TechLevel of the object is above -1 and below [{{TTL|MultiplayerDialogSettings}}] {{TTL|TechLevel}}.
+
: Checks if the TechLevel of the object is above -1 and below [{{TTL|MultiplayerDialogSettings}}]→{{TTL|TechLevel}}.
 
; Can this house own this object?
 
; Can this house own this object?
 
: Checks if the house is listed in {{TTL|Owner}}.
 
: Checks if the house is listed in {{TTL|Owner}}.
Line 10: Line 12:
 
; Does this house own all the prerequisite structures?
 
; Does this house own all the prerequisite structures?
 
: Checks if the house owns the prerequisite structures listed in {{TTL|Prerequisite}}
 
: Checks if the house owns the prerequisite structures listed in {{TTL|Prerequisite}}
 +
|}
 +
If all conditions are met, the house is ''theoretically allowed'' to build that object, signaled by a [[EVA_NewConstructionOptions|"New Construction Options"]] announcement.<br>
 +
Next, the game determines whether the house ''actually can'' build the object:
 +
:{|style="border: 1px solid #aaaaaa; background:#e5e5e5; border-spacing: 5px;"
 +
|
 +
; Does the house own a {{TTL|Factory}} of the appropriate type?
 +
: Checks whether the house has at least one structure with {{TTL|Factory}} matching the object's type.
 +
; If the object in question is a VehicleType, does the house have a {{TTL|Factory|VehicleType}} with the same {{TTL|Naval}} setting as the object?
 +
: Checks whether the house has a War Factory if it's trying to build land-based ({{TTL|Naval|no}}) vehicles, and whether it has a Shipyard if it's trying to build water-based ({{TTL|Naval|yes}}) vehicles.
 +
|}
 +
'''Note:''' If you do not have the appropriate type of {{TTL|Factory|VehicleType}}, but all other prerequisites are fulfilled, you will probably experience the [[NCO-Bug]].
  
If all the conditions are met, the house is allowed to build that object. Accompanied by the [[EVA_NewConstructionOptions]] sound.
+
==Overrides==
 
+
*If an object has a {{TTL|PrerequisiteOverride}} BuildingType set, a house will be allowed to build the object as soon as it possesses the overriding BuildingType, no matter what prerequisites the object usually requires. (Hence the name.)
Otherwise, if the house has at least one structure listed in {{TTL|PrerequisiteOverride}} or gains this object via [[Secret Lab]], it gets that building even without fulfilling the other criteria.
+
*The same applies to objects from a [[Building:Secret Lab|Secret Lab]]: If a house gains an object through a Secret Lab, it will be allowed to build that object immediately, no matter what prerequisites the object usually requires.
 
+
*In addition, AI players do not check {{TTL|Prerequisite}} and {{TTL|TechLevel}} tags when they're trying to build the Power Plants listed under {{TTL|GDIPowerPlant}},{{TTL|ThirdPowerPlant}} and {{TTL|NodRegularPower}}.
Then an additional check takes place:
+
''All cases under the presumption that the house owns a factory of the appropriate type.''
; Does the house own the {{TTL|Factory}} of the appropriate type?
 
: Checks if the house has at least one structure with {{TTL|Factory}} matching the object's type.
 
:: '''Note:''' For VehicleTypes, it also checks if said Factory has the same {{TTL|Naval}} setting as the object in question. If it doesn't, the object is removed from the Units tab, and, if that tab is open, the view jumps to the top of it. This is known as the [[New Construction Options]] Bug.
 
'''Note:''' AI not check [[Prerequisite]] and [[TechLevel]] tags if he build Power Plants ([[GDIPowerPlant]],[[ThirdPowerPlant]],[[NodRegularPower]])
 
 
 
  
 
==Prerequisite Groups==
 
==Prerequisite Groups==
 
 
A "prerequisite group" refers to a list of structures, and any single one of them is sufficient to fulfill the "prerequisite group". The following "prerequisite groups" are valid:
 
A "prerequisite group" refers to a list of structures, and any single one of them is sufficient to fulfill the "prerequisite group". The following "prerequisite groups" are valid:
 
* POWER (corresponds to {{TTL|PrerequisitePower}})
 
* POWER (corresponds to {{TTL|PrerequisitePower}})
* PROC (corresponds to {{TTL|PrerequisiteProc}} and {{TTL|PrerequisiteProcAlternate}} (YR only))
+
* PROC (corresponds to {{TTL|PrerequisiteProc}} and {{TTL|PrerequisiteProcAlternate}}{{yro}})
 
* BARRACKS (corresponds to {{TTL|PrerequisiteBarracks}})
 
* BARRACKS (corresponds to {{TTL|PrerequisiteBarracks}})
 
* FACTORY (corresponds to {{TTL|PrerequisiteFactory}})
 
* FACTORY (corresponds to {{TTL|PrerequisiteFactory}})

Revision as of 00:06, 12 August 2006

The Prerequisite System controls the conditions required to build a certain object. Those conditions are:

Is this object's TechLevel valid?
Checks if the TechLevel of the object is above -1 and below [[[:Template:TTL]]]→Template:TTL.
Can this house own this object?
Checks if the house is listed in Template:TTL.
Is this house not forbidden from owning this object?
Checks if the house is not listed in Template:TTL.
Is this house allowed to own this object?
Checks if the house is listed in Template:TTL.
Does this house own all the prerequisite structures?
Checks if the house owns the prerequisite structures listed in Template:TTL

If all conditions are met, the house is theoretically allowed to build that object, signaled by a "New Construction Options" announcement.
Next, the game determines whether the house actually can build the object:

Does the house own a Template:TTL of the appropriate type?
Checks whether the house has at least one structure with Template:TTL matching the object's type.
If the object in question is a VehicleType, does the house have a Template:TTL with the same Template:TTL setting as the object?
Checks whether the house has a War Factory if it's trying to build land-based (Template:TTL) vehicles, and whether it has a Shipyard if it's trying to build water-based (Template:TTL) vehicles.

Note: If you do not have the appropriate type of Template:TTL, but all other prerequisites are fulfilled, you will probably experience the NCO-Bug.

Overrides

  • If an object has a Template:TTL BuildingType set, a house will be allowed to build the object as soon as it possesses the overriding BuildingType, no matter what prerequisites the object usually requires. (Hence the name.)
  • The same applies to objects from a Secret Lab: If a house gains an object through a Secret Lab, it will be allowed to build that object immediately, no matter what prerequisites the object usually requires.
  • In addition, AI players do not check Template:TTL and Template:TTL tags when they're trying to build the Power Plants listed under Template:TTL,Template:TTL and Template:TTL.

All cases under the presumption that the house owns a factory of the appropriate type.

Prerequisite Groups

A "prerequisite group" refers to a list of structures, and any single one of them is sufficient to fulfill the "prerequisite group". The following "prerequisite groups" are valid:

In Firestorm, two additional groups were available: