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

AITriggerTypesEnable: Difference between revisions

From ModEnc
Jump to navigation Jump to search
m Maps/AITriggerTypesEnable moved to AITriggerTypesEnable: Moving the Maps/ sections' pages to main space.
Touching up...
Line 3: Line 3:
{{SideBar|Map-specific INI sections|Template:Mapping}}
{{SideBar|Map-specific INI sections|Template:Mapping}}


This section is responsible for disabling certain [[AI/AITriggerTypes|AITriggerTypes]] in particular maps. See the Bugs section for several problems with it.
This section is responsible for disabling certain [[AITriggerTypes]] in particular maps. See the [[#Bugs|Bugs]] section for several problems with it.


__TOC__
__TOC__
Line 21: Line 21:
  TRIGGER_ID=STATUS
  TRIGGER_ID=STATUS


{| style="width: 80%" border=1 class="table_descrowdesccol"
{| border=1 class="table_descrowdesccol"
|+ Meanings of each string
|+ Meanings of each string
! style="width: 13em; " | String
! style="width: 13em; " | String
Line 33: Line 33:
|}
|}


== Problems ==
{{Bugs}}
{{RevEng}}
{{RevEng}}
'''Note''': The code implementing this feature is, let's say, sub-optimal. Avoid filling this section needlessly. It works in the following way: Global AITriggers are enabled at startup, local AITriggers are not. Then a pass is made over this section and if a trigger is listed here, its enabled-ness is set to STATUS. If this is not an SP campaign map, that trigger is enabled regardless of STATUS.  
'''Note''': The code implementing this feature is, let's say, sub-optimal. Avoid filling this section needlessly, since it takes, on average, quadratic time to parse ({{Tt|O(N^2)}}). It works in the following way: Global (from {{ini|ai}}) AI Triggers are enabled at startup, local (from the map) AI Triggers are not. Then a pass is made over this section and if a trigger is listed here, its enabled-ness is set to STATUS. If this is not an SP campaign map, that trigger is enabled regardless of STATUS. The enabledness is overridden by the {{Sl|Basic|IgnoreGlobalAITriggers}} later on, when determining which AI Triggers have met their conditions.


From that follows:  
From that follows:  
*global AITriggers should only be listed here if you want to disable some of them at startup,  
*global AI Triggers should only be listed here if you want to disable some of them at startup,  
*local AITriggers should only be listed here if you want to enable them at startup. If you do not list a local AITrigger here, you will have to rely on a map trigger activating it later.
*local AI Triggers should only be listed here if you want to enable them at startup. If you do not list a local AITrigger here, you will have to rely on a map trigger activating it later.

Revision as of 18:35, 20 June 2008

This page should correctly be named "[AITriggerTypesEnable]"; it is wrong due to technical restrictions.



AITriggerTypesEnable
Sidebar/Default

This section is responsible for disabling certain AITriggerTypes in particular maps. See the Bugs section for several problems with it.


Section

TD/CO

Doesn't exist.

RA/CS/AM

Doesn't exist.

TS/FS/RA2/YR

The [AITriggerTypesEnable] section in a map takes this format:

[AITriggerTypesEnable]
TRIGGER_ID=STATUS
Meanings of each string
String Meaning
TRIGGER_ID The AITriggerType's ID.
STATUS If this is a boolean 'true', this AITriggerType will be disabled in this map.

Bugs/Side-Effects/Unexpected Limitations

Reverse-Engineered Content
The following page/section possibly contradicts several ideas accepted by the community. However, it contains information reverse-engineered from the game's executable code, not observations or theories, and as such should be considered more likely to be correct.


Note: The code implementing this feature is, let's say, sub-optimal. Avoid filling this section needlessly, since it takes, on average, quadratic time to parse (O(N^2)). It works in the following way: Global (from ai(md).ini) AI Triggers are enabled at startup, local (from the map) AI Triggers are not. Then a pass is made over this section and if a trigger is listed here, its enabled-ness is set to STATUS. If this is not an SP campaign map, that trigger is enabled regardless of STATUS. The enabledness is overridden by the [Basic]IgnoreGlobalAITriggers= later on, when determining which AI Triggers have met their conditions.

From that follows:

  • global AI Triggers should only be listed here if you want to disable some of them at startup,
  • local AI Triggers should only be listed here if you want to enable them at startup. If you do not list a local AITrigger here, you will have to rely on a map trigger activating it later.