struct AIWeaponDescriptor { string firecmdHandler; float fSpeed; float fDamageRadius; float fChargeTime; float fRangeMax; float fRangeMin; bool bSignalOnShoot; int burstBulletCountMin; int burstBulletCountMax; float burstPauseTimeMin; float burstPauseTimeMax; float singleFireTriggerTime; float spreadRadius; float coverFireTime; float drawTime; float sweepWidth; float sweepFrequency; float pressureMultiplier; float lobCriticalDistance; float preferredHeight; float closeDistance; float preferredHeightForCloseDistance; float maxAcceptableDistanceFromTarget; float minimumDistanceFromFriends; Vec3 projectileGravity; string smartObjectClass; };
IAgent.h
bool bSignalOnShoot;
int burstBulletCountMax;
Each burst is followed by a pause.
int burstBulletCountMin;
The burst bullet count is scaled between min and max based on several factors (distance, visibility).
float burstPauseTimeMax;
float burstPauseTimeMin;
The burst pause is scale between min and max.
float closeDistance;
What to consider close distance during the slow_projectile prediction
float coverFireTime;
How long the shooting should continue after the target is not visible anymore.
float drawTime;
How long the AI will shoot around the target before aiming it precisely
float fChargeTime;
float fDamageRadius;
Explosion radius for rockets/grenades.
string firecmdHandler;
float fRangeMax;
float fRangeMin;
float fSpeed;
Relevant for projectiles only.
float lobCriticalDistance;
float maxAcceptableDistanceFromTarget;
Maximum distance allowed to evaluate the landing of the projectile. If less than 0 it's not taken into account.
float minimumDistanceFromFriends;
Minimum distance to agents of a friendly faction. For now it is only used in the lob fire command by overriding the default value.
float preferredHeight;
Preferred height used to throw the bullet if using a slow_projectile prediction
float preferredHeightForCloseDistance;
Preferred height used to throw the bullet if using a slow_projectile prediction for close distance
float pressureMultiplier;
Vec3 projectileGravity;
What's the gravity of the fired projectile - Used only for predicting grenade landing
float singleFireTriggerTime;
Interval between single shot shots. Scale randomly between 70-125%. Set to -1 for continuous fire.
string smartObjectClass;
float spreadRadius;
Miss spread radius in meters.
float sweepFrequency;
How fast the sweep left/right around the target direction during
float sweepWidth;
How wide is the sweep left/right around the target direction during
AIWeaponDescriptor(const string& fcHandler = "instant", float chargeTime = -1.0f, float speed = -1.0f, float damageRadius = -1.0f);
void GetMemoryUsage(ICrySizer * pSizer) const;