Add Vikhr ATGM

This commit is contained in:
Brandon Danyluk 2021-04-21 00:52:55 -06:00
parent ba2eb48a43
commit 6b3be24be7
10 changed files with 175 additions and 4 deletions

View File

@ -26,11 +26,11 @@ for "_i" from 0 to MAX_PB_MODES do {
GVAR(gps_mode) = "pb";
GVAR(debug_enableMissileCamera) = false;
GVAR(debug_drawGuidanceInfo) = true;
GVAR(debug_drawGuidanceInfo) = false;
#ifdef DRAW_GUIDANCE_INFO
GVAR(debug_drawGuidanceInfo) = true;
#endif
#else
#ifdef ENABLE_PROJECTILE_CAMERA
GVAR(debug_enableMissileCamera) = true;

View File

@ -23,6 +23,10 @@ private _p = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainP");
private _d = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainD");
private _correctionDistance = getNumber (_ammoConfig >> QUOTE(ADDON) >> "correctionDistance");
if (_correctionDistance == 0) then {
_correctionDistance = 1;
};
_navigationParams set [0, _p];
_navigationParams set [1, _i];
_navigationParams set [2, _d];

View File

@ -11,7 +11,7 @@ Weapon Configs:
X Javelin - Optical
X NLAW - PLOS
Vikhr - Beam Rider SACLOS
X Vikhr - Beam Rider SACLOS
X R-73 - Infrared
X AIM-9 - Infrared
@ -52,7 +52,7 @@ Navigation Types:
X Metis - Wire/Beam Guidance
X HOT - Wire/Beam Guidance
Vikhr - Wire/Beam Guidance
X Vikhr - Wire/Beam Guidance
X DAGR - APN
X AGM-65 - APN

1
addons/vikhr/$PBOPREFIX$ Normal file
View File

@ -0,0 +1 @@
z\ace\addons\vikhr

46
addons/vikhr/CfgAmmo.hpp Normal file
View File

@ -0,0 +1,46 @@
class CfgAmmo {
class M_Scalpel_AT;
class GVAR(9k121): M_Scalpel_AT {
author = "Brandon (TCVM)";
maneuvrability = 0;
irLock = 0;
laserLock = 0;
manualControl = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 10; // Minium flap deflection for guidance
yawRate = 10; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "SACLOS";
seekerTypes[] = { "SACLOS" };
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "Line";
navigationTypes[] = { "Line" };
lineGainP = 3;
lineGainD = 2.4;
correctionDistance = 1;
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 45; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 30;
seekerMaxRange = 12000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "BEAM";
attackProfiles[] = {"BEAM"};
};
};
};

View File

@ -0,0 +1,53 @@
class CfgMagazines {
class 2Rnd_LG_scalpel;
class 6Rnd_LG_scalpel;
class 8Rnd_LG_scalpel;
class PylonRack_1Rnd_LG_scalpel;
class PylonMissile_1Rnd_LG_scalpel;
class PylonRack_3Rnd_LG_scalpel;
class PylonRack_4Rnd_LG_scalpel;
class GVAR(2Rnd): 2Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "2x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
};
class GVAR(6Rnd): 6Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "6x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
};
class GVAR(8Rnd): 8Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "8x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
};
class GVAR(PylonRack_1Rnd): PylonRack_1Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "1x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
class GVAR(PylonMissile_1Rnd): PylonMissile_1Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "1x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
class GVAR(PylonRack_3Rnd): PylonRack_3Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "3x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
class GVAR(PylonRack_4Rnd): PylonRack_4Rnd_LG_scalpel {
author = "Brandon (TCVM)";
displayName = "4x 9K121 Vikhr [ACE]";
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
};

View File

@ -0,0 +1,17 @@
class CfgWeapons {
class missiles_SCALPEL;
class GVAR(9k121): missiles_SCALPEL {
author = "Brandon (TCVM)";
displayName = "Skalpel ATGM";
magazines[] = {
QGVAR(2Rnd),
QGVAR(6Rnd),
QGVAR(8Rnd),
QGVAR(PylonRack_1Rnd),
QGVAR(PylonMissile_1Rnd),
QGVAR(PylonRack_3Rnd),
QGVAR(PylonRack_4Rnd)
};
}
};

12
addons/vikhr/README.md Normal file
View File

@ -0,0 +1,12 @@
ace_vikhr
===================
Adds Vikhr beam-riding ATGM
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Brandon-TCVM](https://github.com/TheCandianVendingMachine)

20
addons/vikhr/config.cpp Normal file
View File

@ -0,0 +1,20 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common","ace_missileguidance"};
author = ECSTRING(common,ACETeam);
authors[] = {"Brandon (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

View File

@ -0,0 +1,18 @@
#define COMPONENT vikhr
#define COMPONENT_BEAUTIFIED Vikhr
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_VIKHR
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_VIKHR
#define DEBUG_SETTINGS DEBUG_SETTINGS_GBU
#endif
#include "\z\ace\addons\main\script_macros.hpp"