Add Dragon Attack Profile. Change how missileGuidance guidance_pfh works in order to allow for different types of missiles besides continious thrust

This commit is contained in:
Brandon-PC\Brandon 2019-01-03 07:35:32 -07:00
parent 5cf3ba54b8
commit 677feffcd1
2 changed files with 34 additions and 1 deletions

View File

@ -57,6 +57,38 @@ class CfgAmmo {
simulationStep = 0.005;
maxControlRange = 1500;
scope = 2;
class ace_missileguidance {
enabled = 1;
minDeflection = 0;
maxDeflection = 0;
incDeflection = 0;
canVanillaLock = 0;
// Guidance type for munitions
defaultSeekerType = "SACLOS";
seekerTypes[] = { "SACLOS" };
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
onFired = QEFUNC(hot,onFired);
seekLastTargetPos = 0;
seekerAngle = 30;
seekerAccuracy = 1;
seekerMinRange = 75;
seekerMaxRange = 4000;
correctionDistance = 15;
offsetFromCrosshair[] = { 0, 0, 0 };
defaultAttackProfile = "DRAGON";
attackProfiles[] = {"DRAGON"};
};
};
class ShellBase;

View File

@ -55,7 +55,8 @@ private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosSta
private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStateParams] call FUNC(doAttackProfile);
// If we have no seeker target, then do not change anything
if (!(_profileAdjustedTargetPos isEqualTo [0,0,0])) then {
// If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection
if ((_minDeflection != 0 || _maxDeflection != 0) && { !(_profileAdjustedTargetPos isEqualTo [0,0,0]) }) then {
private _targetVector = _projectilePos vectorFromTo _profileAdjustedTargetPos;
private _adjustVector = _targetVector vectorDiff (vectorDir _projectile);