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

Aggressive: Difference between revisions

From ModEnc
Jump to navigation Jump to search
Crimsonum (talk | contribs)
Replaced mentions of script actions with team missions (as they are internally known as such)
Crimsonum (talk | contribs)
According to E1 Elite, this bit doesn't apply in YR.
 
(7 intermediate revisions by the same user not shown)
Line 11: Line 11:
|ares=yes
|ares=yes
}}
}}
{{f|Aggressive|link}} entry in [[TeamTypes]] pertains to initiating an attack when a threat posing enemy comes in range. {{f|Suicide|link}} entry in TeamTypes pertains to response to an attack. These can be set to yes/no. Depending on the current [[ScriptTypes/TeamMissionTypes|team mission]] being executed and the combination of these two entries, the behavior differs. For some team missions, these two flags don't have any relevance. Variation are seen in the team missions where movement is involved. Typically, attack missions are not affected by {{f|Aggressive}} entry and the team does not initiate attack while on the move to its target when the threat-posing enemy comes in range. In move missions, {{f|Aggressive|yes}} favors attacking when the threat-posing enemy comes in range which results in the team losing its current mission, and when the team resumes it executes the next mission in its script. {{f|Suicide|yes}} tries to suppress the retaliation when attacked in favor of completing the current mission.
{{f|Aggressive|link}} entry in [[TeamTypes]] pertains to initiating an attack when a threat posing enemy comes in range. {{f|Suicide|link}} entry in TeamTypes pertains to response to an attack. These can be set to yes/no. Depending on the current [[ScriptTypes/ScriptActions|script action]] being executed and the combination of these two entries, the behavior differs. For some script actions, these two flags don't have any relevance. Variation are seen in the script actions where movement is involved. Typically, attack script actions are not affected by {{f|Aggressive}} entry and the team does not initiate attack while on the move to its target when the threat-posing enemy comes in range. In move script actions, {{f|Aggressive|yes}} favors attacking when the threat-posing enemy comes in range which results in the team losing its current script action, and when the team resumes it executes the next script action in its script. {{f|Suicide|yes}} tries to suppress the retaliation when attacked in favor of completing the current script action.


=== Movement-related team mission cases ===
=== Movement-related script action cases ===


{| cellpadding="5" class="wikitable"
{| cellpadding="5" class="wikitable"
!rowspan="2"|Team Mission Type
!rowspan="2"|Script action
!rowspan="2"|Aggressive?
!rowspan="2"|Aggressive?
!rowspan="2"|Suicide?
!rowspan="2"|Suicide?
!colspan="2"|Response when...
!colspan="2"|Team's response when...
|-
|-
!...enemy in range
!...enemy in range
!...under attack
!...under attack
|-
|-
|rowspan="4"|<code>0</code> Attack target type<br/><code>1</code> Attack waypoint<br/><code>46</code> Attack enemy structure<br/><code>59</code> Attack structure at waypoint
|rowspan="4"|<code>0</code> Attack target type<br/><code>1</code> Attack waypoint<br/><code>46</code> Attack enemy structure<br/><code>59</code> Attack structure at waypoint
|yes
|yes
|yes
|yes
|rowspan="4"|Does not initiate attack; continues the mission.
|rowspan="4"|Ignores the enemy; continues its script action.
|Does not respond to attack; continues the mission.
|Does not respond to attack; continues the script action.
|-
|-
|yes
|yes
|no
|no
|Responds to attack and continues the team mission.
|Attacks and pursues the enemy; once the attack is over, either because the enemy was destroyed, cloaked, etc., the team continues the script action.
|-
|-
|no
|no
|yes
|yes
|Does not respond to attack; continues the mission.
|Does not respond to attack; continues the script action.
|-
|-
|no
|no
|no
|no
|Responds to attack and continues the team mission.
|Attacks and pursues the enemy; once the attack is over, continues the script action.
|-
|-
|rowspan="4"|<code>3</code> Move to waypoint<br/><code>47</code> Move to enemy structure<br/><code>53</code> Gather at enemy base
|rowspan="4"|<code>3</code> Move to waypoint<br/><code>47</code> Move to enemy structure<br/><code>53</code> Gather at enemy base
|yes
|yes
|yes
|yes
|Does not initiate attack; continues the mission.
|Ignores the enemy; continues its script action.
|Does not respond to attack; continues the mission.
|Does not respond to attack; continues the script action.
|-
|-
|yes
|yes
|no
|no
|Abandons the current mission and attacks the enemy. Once attack is over, executes the next team mission.
|Fires at the enemy while moving to given waypoint.{{fnl|1}}<p>Once all team members have engaged the enemy, the team will abandon the current script action and focus on the attack. In {{ts}}, the team will also skip any subsequent movement actions, and execute other subsequent, applicable script actions (like flash, talk bubble, etc.) while attacking.</p>Once the attack is over, the team executes the next script action.
|Responds to attack. If the engagement is only response or if the enemy moves out of range, continues the current mission. If the engagement turns into an attack, it abandons the current mission. Once the attack is over, executes the next team mission.
|Attacks and pursues the enemy.<p>Once all team members have engaged the enemy, the team will abandon the current script action and focus on the attack. In {{ts}}, the team will also skip any subsequent movement actions, and execute other subsequent, applicable script actions (like flash, talk bubble, etc.) while attacking.</p>Once the attack is over, the team executes the next script action.
|-
|-
|no
|no
|yes
|yes
|rowspan="2"|Does not initiate attack when enemy comes in range; continues the mission.
|Ignores the enemy; continues its script action.
|rowspan="2"|Does not respond to attack; continues the mission.
|Does not respond to attack; continues the script action.
|-
|-
|no
|no
|no
|no
|Fires at the enemy while moving to given waypoint.{{fnl|1}}
|Fires at the enemy while moving to its location. If the enemy moves away, the team follows and attacks it persisently until it's destroyed. If the team reaches the enemy, the team abandons its current script action and executes the next script action. If the enemy is destroyed before the team reaches it, the team continues its current script action.
|-
|-
|rowspan="4"|<code>16</code> Patrol to waypoint
|rowspan="4"|<code>16</code> Patrol to waypoint
|yes
|yes
|yes
|yes
|Attacks the enemy, then resumes the team mission.
|Attacks the enemy{{fnl|1}}. Once the enemy is destroyed or moves out of range, the team resumes the script action.
|Does not respond to attack; continues the mission.
|Does not respond to attack; continues the script action.
|-
|-
|yes
|yes
|no
|no
|Abandons the current mission and attacks the enemy. Once attack is over, executes the next team mission.
|Attacks the enemy{{fnl|1}}. Once the enemy is destroyed or moves out of range, the team resumes the script action.<p>However, in some circumstances the team may abandon the current script action and execute the next script action once the attack is over. What triggers the team to abandon the current script action seems inconsistent and dependent on a number of factors, such as the position of the team members relative to the target waypoint, whether there are multiple enemies detected in sequence, whether the team has any units with turrets, etc.</p>
|Responds to attack. If the engagement is only response or if the enemy moves out of range, continues the current mission. If the engagement turns into an attack, it abandons the current mission. Once the attack is over, executes the next team mission.
|Responds to attack and pursues the enemy. Once all members of the team have fired at the enemy, if the enemy disengages and moves out of range, the team continues the current script action. If the enemy persists in attacking, the team abandons the current script action, and executes the next script action once the attack is over.
|-
|-
|no
|no
|yes
|yes
|Attacks the enemy, then resumes the team mission.
|rowspan="2"|Attacks the enemy{{fnl|1}}. Once the enemy is destroyed or moves out of range, the team resumes the script action.
|Does not respond to attack; continues the mission.
|Does not respond to attack; continues the script action.
|-
|-
|no
|no
|no
|no
|Attacks the enemy while moving to given waypoint.
|Responds to attack. As long as the enemy attack persists, the team pursues the enemy. If the enemy disengages and moves out of range, the team ignores the enemy and continues the script action.
|Moves back to retaliate. Attacks if in range, otherwise ignores the enemy. Continues the team mission.
|}
|}
==== Footnotes ====
{{fn|1|Units with no [[turret]] will only attack enemies that are right in front of them. Otherwise they will simply move past the enemy.}}


{{Bugs}}
{{Bugs}}

Latest revision as of 12:48, 24 May 2024

Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
Flag: Aggressive
File(s): ai(md).ini, maps
Values: Boolean values: yes or no, true or false, 1 or 0
Applicable to: TeamTypes


Aggressive entry in TeamTypes pertains to initiating an attack when a threat posing enemy comes in range. Suicide entry in TeamTypes pertains to response to an attack. These can be set to yes/no. Depending on the current script action being executed and the combination of these two entries, the behavior differs. For some script actions, these two flags don't have any relevance. Variation are seen in the script actions where movement is involved. Typically, attack script actions are not affected by Aggressive entry and the team does not initiate attack while on the move to its target when the threat-posing enemy comes in range. In move script actions, Aggressive=yes favors attacking when the threat-posing enemy comes in range which results in the team losing its current script action, and when the team resumes it executes the next script action in its script. Suicide=yes tries to suppress the retaliation when attacked in favor of completing the current script action.

Movement-related script action cases

Script action Aggressive? Suicide? Team's response when...
...enemy in range ...under attack
0 Attack target type
1 Attack waypoint
46 Attack enemy structure
59 Attack structure at waypoint
yes yes Ignores the enemy; continues its script action. Does not respond to attack; continues the script action.
yes no Attacks and pursues the enemy; once the attack is over, either because the enemy was destroyed, cloaked, etc., the team continues the script action.
no yes Does not respond to attack; continues the script action.
no no Attacks and pursues the enemy; once the attack is over, continues the script action.
3 Move to waypoint
47 Move to enemy structure
53 Gather at enemy base
yes yes Ignores the enemy; continues its script action. Does not respond to attack; continues the script action.
yes no Fires at the enemy while moving to given waypoint.1

Once all team members have engaged the enemy, the team will abandon the current script action and focus on the attack. In Tiberian Sun, the team will also skip any subsequent movement actions, and execute other subsequent, applicable script actions (like flash, talk bubble, etc.) while attacking.

Once the attack is over, the team executes the next script action.
Attacks and pursues the enemy.

Once all team members have engaged the enemy, the team will abandon the current script action and focus on the attack. In Tiberian Sun, the team will also skip any subsequent movement actions, and execute other subsequent, applicable script actions (like flash, talk bubble, etc.) while attacking.

Once the attack is over, the team executes the next script action.
no yes Ignores the enemy; continues its script action. Does not respond to attack; continues the script action.
no no Fires at the enemy while moving to given waypoint.1 Fires at the enemy while moving to its location. If the enemy moves away, the team follows and attacks it persisently until it's destroyed. If the team reaches the enemy, the team abandons its current script action and executes the next script action. If the enemy is destroyed before the team reaches it, the team continues its current script action.
16 Patrol to waypoint yes yes Attacks the enemy1. Once the enemy is destroyed or moves out of range, the team resumes the script action. Does not respond to attack; continues the script action.
yes no Attacks the enemy1. Once the enemy is destroyed or moves out of range, the team resumes the script action.

However, in some circumstances the team may abandon the current script action and execute the next script action once the attack is over. What triggers the team to abandon the current script action seems inconsistent and dependent on a number of factors, such as the position of the team members relative to the target waypoint, whether there are multiple enemies detected in sequence, whether the team has any units with turrets, etc.

Responds to attack and pursues the enemy. Once all members of the team have fired at the enemy, if the enemy disengages and moves out of range, the team continues the current script action. If the enemy persists in attacking, the team abandons the current script action, and executes the next script action once the attack is over.
no yes Attacks the enemy1. Once the enemy is destroyed or moves out of range, the team resumes the script action. Does not respond to attack; continues the script action.
no no Responds to attack. As long as the enemy attack persists, the team pursues the enemy. If the enemy disengages and moves out of range, the team ignores the enemy and continues the script action.

Footnotes

1 Units with no turret will only attack enemies that are right in front of them. Otherwise they will simply move past the enemy.

Bugs/Side-Effects/Unexpected Limitations

Setting this on a team with armed transports can cause the game to break down. See Build Anywhere Bug for more information.