|
Tiberian Technologies Scripts Reference Revision: 9000
|
Turret AI. More...
#include <dp88_customAI.h>
Additional Inherited Members | |
Public Member Functions inherited from dp88_customAI | |
| virtual void | ResetAllActions (GameObject *obj) |
A custom designed turret AI code designed to allow maximum flexibility in implementation without needing multiple versions of effectively the same code to target different enemies (ie: VTOL vs. non-VTOL).
The turret AI uses a priority based system to 'intelligently' pick targets based upon a range of criteria such as the type of target, how far away it is, if it's already taken damage and how valuable it is. All of these criteria can be fine tuned in the script parameters to give you a high degree of control over which of several targets a turret will choose to shoot at. This also has the effect of making multiple, closely placed, turrets with the same targetting parameters concentrate their fire on a single target for maximum impact.
| Priority_Infantry | Base targetting priority for infantry targets, or 0 to ignore infantry |
| Weapon_Infantry | Weapon to use against infantry targets: 1 for primary fire, 2 for secondary fire |
| Splash_Infantry | Determines if we should try to damage infantry with splash instead of hitting them directly. This is useful for slow / inaccurate weapons which do splash damage: 1 to enable, 0 to disable |
| Priority_Light_Vehicle | Base targetting priority for light vehicle targets, or 0 to ignore light vehicles |
| Weapon_Light_Vehicle | Weapon to use against light vehicle targets: 1 for primary fire, 2 for secondary fire |
| Priority_Heavy_Vehicle | Base targetting priority for heavy vehicle targets, or 0 to ignore heavy vehicles |
| Weapon_Heavy_Vehicle | Weapon to use against heavy vehicle targets: 1 for primary fire, 2 for secondary fire |
| Priority_VTOL | Base targetting priority for flying targets, or 0 to ignore flying targets |
| Weapon_VTOL | Weapon to use against flying targets: 1 for primary fire, 2 for secondary fire |
| Min_Attack_Range | Minimum distance at which the turret can engage enemies when using primary fire |
| Max_Attack_Range | Maximum distance at which the turret can engage enemies when using primary fire |
| Min_Attack_Range_Secondary | Minimum distance at which the turret can engage enemies when using secondary fire |
| Max_Attack_Range_Secondary | Maximum distance at which the turret can engage enemies when using secondary fire |
| Modifier_Distance | Priority modification to apply based on distance to target. Higher values will favour targets which are closer to the turret, good for less accurate weapons |
| Modifier_Target_Damage | Priority modification to apply based on damage a target has already sustained. Higher values will favour targets which have already been damaged in combat, picking them off first |
| Modifier_Target_Value | Priority modification to apply based on the value of the target. Higher values will favour targets with a higher purchase cost, good for hard hitting weapons |
| Requires_Power | Specify whether this turret requires base power to operate: 1 to require power, 0 to ignore |
| Debug | Specify whether to produce a debug logfile about the turrets targetting decisions, this is useful for fine tuning your base priorities and modifiers: 1 to enable, 0 to disable |
| Detects_Stealth | Determine whether this turret can detect stealthed enemies or not: 1 to enable, 0 to disable |