Remove weapon additions

This commit is contained in:
Bailey Danyluk
2024-05-27 17:34:39 -06:00
parent 8aab5c47d7
commit f75f3d3e97
67 changed files with 0 additions and 3143 deletions

View File

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

View File

@ -1,200 +0,0 @@
class CfgAmmo {
class ammo_Missile_AMRAAM_C;
class M_Zephyr;
// AIM-120
class GVAR(a): M_Zephyr {
missileLockCone = 30;
missileKeepLockedCone = 30;
missileLockMaxDistance = 16000;
missileLockMinDistance = 500;
author = "Dani (TCVM)";
maneuvrability = 0;
flightProfiles[] = {"Direct", "Loft"};
class Direct {}; // dummy to allow for F cycling of missile mode
class Loft {};
class ace_missileguidance {
enabled = 1;
pitchRate = 30; // Minium flap deflection for guidance
yawRate = 30; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 25; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.0001; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR", "LOFT"};
useModeForAttackProfile = 1;
};
};
class GVAR(c): ammo_Missile_AMRAAM_C {
missileLockCone = 30;
missileKeepLockedCone = 30;
missileLockMaxDistance = 16000;
missileLockMinDistance = 500;
author = "Dani (TCVM)";
maneuvrability = 0;
flightProfiles[] = {"Direct", "Loft"};
class Direct {}; // dummy to allow for F cycling of missile mode
class Loft {};
class ace_missileguidance {
enabled = 1;
pitchRate = 30; // Minium flap deflection for guidance
yawRate = 30; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 25; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.0001; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR", "LOFT"};
useModeForAttackProfile = 1;
};
};
class ammo_Missile_AMRAAM_D;
class GVAR(d): ammo_Missile_AMRAAM_D {
missileLockCone = 45;
missileKeepLockedCone = 45;
missileLockMaxDistance = 16000;
missileLockMinDistance = 500;
author = "Dani (TCVM)";
maneuvrability = 0;
flightProfiles[] = {"Direct", "TopDown"};
class Direct {}; // dummy to allow for F cycling of missile mode
class TopDown {};
class ace_missileguidance {
enabled = 1;
pitchRate = 45; // Minium flap deflection for guidance
yawRate = 45; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 15; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.00005; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR", "LOFT"};
useModeForAttackProfile = 1;
};
};
// R-77
class ammo_Missile_AA_R77;
class GVAR(r77): ammo_Missile_AA_R77 {
missileLockCone = 50;
missileKeepLockedCone = 50;
missileLockMaxDistance = 16000;
missileLockMinDistance = 500;
author = "Dani (TCVM)";
maneuvrability = 0;
flightProfiles[] = {"Direct", "TopDown"};
class Direct {}; // dummy to allow for F cycling of missile mode
class TopDown {};
class ace_missileguidance {
enabled = 1;
pitchRate = 40; // Minium flap deflection for guidance
yawRate = 40; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 15; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.00005; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR", "LOFT"};
useModeForAttackProfile = 1;
};
};
};

View File

@ -1,108 +0,0 @@
class CfgMagazines {
class magazine_Missile_AMRAAM_C_x1;
class PylonMissile_Missile_AMRAAM_C_x1;
class PylonRack_Missile_AMRAAM_C_x1;
class PylonRack_Missile_AMRAAM_C_x2;
class PylonMissile_Missile_AMRAAM_D_x1;
class PylonMissile_Missile_AMRAAM_D_INT_x1;
class PylonRack_Missile_AMRAAM_D_x1;
class PylonRack_Missile_AMRAAM_D_x2;
class 4Rnd_GAA_missiles;
class PylonRack_1Rnd_GAA_missiles;
class PylonMissile_1Rnd_GAA_missiles;
class GVAR(a): 4Rnd_GAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(a);
ammo = QGVAR(a);
};
class GVAR(PylonRack_1Rnd_a): PylonRack_1Rnd_GAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(a_1x);
ammo = QGVAR(a);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonMissile_1Rnd_a): PylonMissile_1Rnd_GAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(a_1x);
ammo = QGVAR(a);
pylonWeapon = QGVAR(aim120Launcher);
};
// AIM-120
class GVAR(c): magazine_Missile_AMRAAM_C_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(c_1x);
ammo = QGVAR(c);
};
class GVAR(PylonMissile_Missile_c_x1): PylonMissile_Missile_AMRAAM_C_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(c_1x);
ammo = QGVAR(c);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonRack_Missile_c_x1): PylonRack_Missile_AMRAAM_C_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(c_1x);
ammo = QGVAR(c);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonRack_Missile_c_x2): PylonRack_Missile_AMRAAM_C_x2 {
author = "Dani (TCVM)";
displayName = CSTRING(c_2x);
ammo = QGVAR(c);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonMissile_Missile_d_x1): PylonMissile_Missile_AMRAAM_D_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(d_1x);
ammo = QGVAR(d);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonMissile_Missile_d_INT_x1): PylonMissile_Missile_AMRAAM_D_INT_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(d_1x);
ammo = QGVAR(d);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonRack_Missile_d_x1): PylonRack_Missile_AMRAAM_D_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(d_1x);
ammo = QGVAR(d);
pylonWeapon = QGVAR(aim120Launcher);
};
class GVAR(PylonRack_Missile_d_x2): PylonRack_Missile_AMRAAM_D_x2 {
author = "Dani (TCVM)";
displayName = CSTRING(d_2x);
ammo = QGVAR(d);
pylonWeapon = QGVAR(aim120Launcher);
};
// R-77
class magazine_Missile_AA_R77_x1;
class PylonMissile_Missile_AA_R77_x1;
class PylonMissile_Missile_AA_R77_INT_x1;
class GVAR(r77): magazine_Missile_AA_R77_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r77_1x);
ammo = QGVAR(r77);
};
class GVAR(PylonMissile_Missile_R77_x1): PylonMissile_Missile_AA_R77_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r77_1x);
ammo = QGVAR(r77);
pylonWeapon = QGVAR(r77Launcher);
};
class GVAR(PylonMissile_Missile_R77__INT_x1): PylonMissile_Missile_AA_R77_INT_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r77_1x);
ammo = QGVAR(r77);
pylonWeapon = QGVAR(r77Launcher);
};
};

View File

@ -1,118 +0,0 @@
class CfgWeapons {
class weapon_AMRAAMLauncher;
class MissileLauncher;
class GVAR(aim120Launcher): weapon_AMRAAMLauncher {
author = "Dani (TCVM)";
displayName = CSTRING(aim120);
weaponLockDelay = 0.5;
magazines[] = {
QGVAR(a),
QGVAR(PylonRack_1Rnd_a),
QGVAR(PylonMissile_1Rnd_a),
QGVAR(c),
QGVAR(PylonMissile_Missile_c_x1),
QGVAR(PylonRack_Missile_c_x1),
QGVAR(PylonRack_Missile_c_x2),
QGVAR(PylonMissile_Missile_d_x1),
QGVAR(PylonMissile_Missile_d_INT_x1),
QGVAR(PylonRack_Missile_d_x1),
QGVAR(PylonRack_Missile_d_x2)
};
modes[] = {"Direct", "Loft"};
class Direct: MissileLauncher {
displayName = CSTRING(direct);
textureType = "direct";
reloadTime = 0.1;
magazineReloadTime = 0.1;
aiRateOfFire = 15;
aiRateOfFireDispersion = -10;
aiRateOfFireDistance = 10000;
minRange = 800;
minRangeProbab = 0.5;
midRange = 2500;
midRangeProbab = 0.95;
maxRange = 4000;
maxRangeProbab = 1;
sounds[] = {"StandardSound"};
class StandardSound {
begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_2", 1.12202, 1.3, 1000};
soundBegin[] = {"begin1", 1};
weaponSoundEffect = "DefaultRifle";
};
soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1", 1, 1.5, 700};
lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1", 0.562341, 1};
lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_3", 0.562341, 2.5};
EGVAR(missileGuidance,attackProfile) = "DIR";
};
class Loft: Direct {
displayName = CSTRING(loft);
textureType = "topdown";
minRange = 4000;
minRangeProbab = 0.5;
midRange = 7000;
midRangeProbab = 0.95;
maxRange = 13000;
maxRangeProbab = 1;
EGVAR(missileGuidance,attackProfile) = "LOFT";
};
};
class weapon_R77Launcher;
class GVAR(r77Launcher): weapon_R77Launcher {
author = "Dani (TCVM)";
displayName = CSTRING(r77);
weaponLockDelay = 0.5;
magazines[] = {QGVAR(r77), QGVAR(PylonMissile_Missile_R77_x1), QGVAR(PylonMissile_Missile_R77__INT_x1)};
modes[] = {"Direct", "Loft"};
class Direct: MissileLauncher {
displayName = CSTRING(direct);
textureType = "direct";
reloadTime = 0.1;
magazineReloadTime = 0.1;
aiRateOfFire = 15;
aiRateOfFireDispersion = -10;
aiRateOfFireDistance = 10000;
minRange = 800;
minRangeProbab = 0.5;
midRange = 2500;
midRangeProbab = 0.95;
maxRange = 4000;
maxRangeProbab = 1;
sounds[] = {"StandardSound"};
class StandardSound {
begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_2", 1.12202, 1.3, 1000};
soundBegin[] = {"begin1", 1};
weaponSoundEffect = "DefaultRifle";
};
soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1", 1, 1.5, 700};
lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1", 0.562341, 1};
lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_3", 0.562341, 2.5};
EGVAR(missileGuidance,attackProfile) = "DIR";
};
class Loft: Direct {
displayName = CSTRING(loft);
textureType = "topdown";
minRange = 4000;
minRangeProbab = 0.5;
midRange = 7000;
midRangeProbab = 0.95;
maxRange = 13000;
maxRangeProbab = 1;
EGVAR(missileGuidance,attackProfile) = "LOFT";
};
};
};

View File

@ -1,12 +0,0 @@
ace_aim120
===================
Adds AIM-120, AIM-132, and R-77 AHR missiles
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

View File

@ -1,20 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT aim120
#define COMPONENT_BEAUTIFIED AIM-120
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_AIM120
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_AIM120
#define DEBUG_SETTINGS DEBUG_SETTINGS_AIM120
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="AIM120">
<Key ID="STR_ACE_AIM120_a">
<English>AIM-120A [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_a_1x">
<English>1x AIM-120A [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_c">
<English>AIM-120C [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_c_1x">
<English>1x AIM-120C [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_c_2x">
<English>2x AIM-120C [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_d">
<English>AIM-120D [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_d_1x">
<English>1x AIM-120D [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_d_2x">
<English>2x AIM-120D [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_r77">
<English>R-77 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_r77_1x">
<English>1x R-77 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_aim120">
<English>AIM-120 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM120_direct">
<English>Direct</English>
</Key>
<Key ID="STR_ACE_AIM120_loft">
<English>Loft</English>
</Key>
</Package>
</Project>

View File

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

View File

@ -1,224 +0,0 @@
class CfgAmmo {
class Missile_AA_04_F;
class GVAR(m): Missile_AA_04_F {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 45;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 35; // Minium flap deflection for guidance
yawRate = 35; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 100;
flareAngleFilter = 1.6; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
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 = 0.8; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 5000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
class ammo_Missile_BIM9X;
class GVAR(x): ammo_Missile_BIM9X {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 120;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 90; // Minium flap deflection for guidance
yawRate = 90; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 50;
flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 120; // Angle from the shooter's view that can track the missile
seekerAccuracy = 0.95; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 5000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
// AIM-132
class M_Air_AA;
class GVAR(aim132): M_Air_AA {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 120;
missileLockMaxDistance = 8000;
missileLockMinDistance = 250;
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 100; // Minium flap deflection for guidance
yawRate = 100; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 50;
flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 120; // Angle from the shooter's view that can track the missile
seekerAccuracy = 0.98; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 8000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
// R-73
class ammo_Missile_AA_R73;
class GVAR(r73): ammo_Missile_AA_R73 {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 40;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 35; // Minium flap deflection for guidance
yawRate = 35; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 50;
flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 40; // Angle from the shooter's view that can track the missile
seekerAccuracy = 0.85; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 5000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
class Missile_AA_03_F;
class GVAR(r74): Missile_AA_03_F {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 75;
missileLockMaxDistance = 8000;
missileLockMinDistance = 250;
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 50; // Minium flap deflection for guidance
yawRate = 50; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 50;
flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 75; // Angle from the shooter's view that can track the missile
seekerAccuracy = 0.95; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 8000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
};

View File

@ -1,153 +0,0 @@
class CfgMagazines {
class 2Rnd_Missile_AA_04_F;
class PylonRack_1Rnd_Missile_AA_04_F;
class PylonMissile_1Rnd_Missile_AA_04_F;
// AIM-9
class GVAR(2Rnd_Missile_9m): 2Rnd_Missile_AA_04_F {
author = "Dani (TCVM)";
displayName = CSTRING(m_2x);
ammo = QGVAR(m);
};
class GVAR(PylonRack_1Rnd_Missile_9m): PylonRack_1Rnd_Missile_AA_04_F {
author = "Dani (TCVM)";
displayName = CSTRING(m_1x);
ammo = QGVAR(m);
pylonWeapon = QGVAR(m);
};
class GVAR(PylonMissile_1Rnd_Missile_9m): PylonMissile_1Rnd_Missile_AA_04_F {
author = "Dani (TCVM)";
displayName = CSTRING(m_1x);
ammo = QGVAR(m);
pylonWeapon = QGVAR(m);
};
class magazine_Missile_BIM9X_x1;
class PylonMissile_Missile_BIM9X_x1;
class PylonRack_Missile_BIM9X_x1;
class PylonRack_Missile_BIM9X_x2;
class GVAR(magazine_Missile_9x): magazine_Missile_BIM9X_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(x_1x);
ammo = QGVAR(x);
};
class GVAR(PylonMissile_Missile_9x): PylonMissile_Missile_BIM9X_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(x_1x);
ammo = QGVAR(x);
pylonWeapon = QGVAR(x);
};
class GVAR(PylonRack_Missile_9x): PylonRack_Missile_BIM9X_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(x_1x);
ammo = QGVAR(x);
pylonWeapon = QGVAR(x);
};
class GVAR(PylonRack_Missile_9x_2): PylonRack_Missile_BIM9X_x2 {
author = "Dani (TCVM)";
displayName = CSTRING(x_2x);
ammo = QGVAR(x);
pylonWeapon = QGVAR(x);
};
// AIM-132
class 2Rnd_AAA_missiles;
class 2Rnd_AAA_missiles_MI02;
class 2Rnd_AAA_missiles_MI06;
class 4Rnd_AAA_missiles;
class 4Rnd_AAA_missiles_MI02;
class PylonRack_1Rnd_AAA_missiles;
class PylonMissile_1Rnd_AAA_missiles;
class GVAR(aim132_2Rnd): 2Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_2x);
ammo = QGVAR(aim132);
};
class GVAR(aim132_2Rnd_MI02): 2Rnd_AAA_missiles_MI02 {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_2x);
ammo = QGVAR(aim132);
};
class GVAR(aim132_2Rnd_MI06): 2Rnd_AAA_missiles_MI06 {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_2x);
ammo = QGVAR(aim132);
};
class GVAR(aim132_4Rnd): 4Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_4x);
ammo = QGVAR(aim132);
};
class GVAR(aim132_4Rnd_MI02): 4Rnd_AAA_missiles_MI02 {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_4x);
ammo = QGVAR(aim132);
};
class GVAR(PylonRack_1Rnd_aim132): PylonRack_1Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_1x);
ammo = QGVAR(aim132);
pylonWeapon = QGVAR(aim132);
};
class GVAR(PylonMissile_1Rnd_aim132): PylonMissile_1Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_1x);
ammo = QGVAR(aim132);
pylonWeapon = QGVAR(aim132);
};
// R-73
class PylonMissile_Missile_AA_R73_x1;
class magazine_Missile_AA_R73_x1;
class 2Rnd_Missile_AA_03_F;
class PylonRack_1Rnd_Missile_AA_03_F;
class PylonMissile_1Rnd_Missile_AA_03_F;
class GVAR(r73): magazine_Missile_AA_R73_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r73_1x);
ammo = QGVAR(r73);
};
class GVAR(PylonMissile_Missile_R73_x1): PylonMissile_Missile_AA_R73_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r73_1x);
ammo = QGVAR(r73);
pylonWeapon = QGVAR(r73);
};
class GVAR(2Rnd_Missile_R74): 2Rnd_Missile_AA_03_F {
author = "Dani (TCVM)";
displayName = CSTRING(r74_2x);
ammo = QGVAR(r74);
};
// R-74 -- improved R-73, same missile in the way that an AIM-9X is the same as an AIM-9M
class GVAR(PylonRack_1Rnd_Missile_R74): PylonRack_1Rnd_Missile_AA_03_F {
author = "Dani (TCVM)";
displayName = CSTRING(r74_1x);
ammo = QGVAR(r74);
pylonWeapon = QGVAR(r74);
};
class GVAR(PylonMissile_1Rnd_Missile_R74): PylonMissile_1Rnd_Missile_AA_03_F {
author = "Dani (TCVM)";
displayName = CSTRING(r74_1x);
ammo = QGVAR(r74);
pylonWeapon = QGVAR(r74);
};
};

View File

@ -1,72 +0,0 @@
class CfgWeapons {
// AIM-9
class Missile_AA_04_Plane_CAS_01_F;
class GVAR(m): Missile_AA_04_Plane_CAS_01_F {
lockAcquire = 1; // auto lock
author = "Dani (TCVM)";
displayName = CSTRING(m);
weaponLockDelay = 0.5;
magazines[] = {QGVAR(2Rnd_Missile_9m), QGVAR(PylonRack_1Rnd_Missile_9m), QGVAR(PylonMissile_1Rnd_Missile_9m)};
};
class weapon_BIM9xLauncher;
class GVAR(x): weapon_BIM9xLauncher {
lockAcquire = 1; // auto lock
author = "Dani (TCVM)";
displayName = CSTRING(x);
weaponLockDelay = 0.5;
magazines[] = { QGVAR(magazine_Missile_9x), QGVAR(PylonMissile_Missile_9x), QGVAR(PylonRack_Missile_9x), QGVAR(PylonRack_Missile_9x_2) };
};
// ASRAAM
class missiles_ASRAAM;
class GVAR(aim132): missiles_ASRAAM {
lockAcquire = 1; // auto lock
author = "Dani (TCVM)";
displayName = CSTRING(aim132);
weaponLockDelay = 0.5;
magazines[] = {
QGVAR(aim132_2Rnd),
QGVAR(aim132_2Rnd_MI02),
QGVAR(aim132_2Rnd_MI06),
QGVAR(aim132_4Rnd),
QGVAR(aim132_4Rnd_MI02),
QGVAR(PylonRack_1Rnd_aim132),
QGVAR(PylonMissile_1Rnd_aim132)
};
};
// R-73
class weapon_R73Launcher;
class GVAR(r73): weapon_R73Launcher {
lockAcquire = 1; // auto lock
author = "Dani (TCVM)";
displayName = CSTRING(r73);
weaponLockDelay = 0.5;
magazines[] = {
QGVAR(r73),
QGVAR(PylonMissile_Missile_R73_x1)
};
};
class Missile_AA_03_Plane_CAS_02_F;
class GVAR(r74): Missile_AA_03_Plane_CAS_02_F {
lockAcquire = 1; // auto lock
author = "Dani (TCVM)";
displayName = CSTRING(r74);
weaponLockDelay = 0.5;
magazines[] = {
QGVAR(2Rnd_Missile_R74),
QGVAR(PylonRack_1Rnd_Missile_R74),
QGVAR(PylonMissile_1Rnd_Missile_R74)
};
};
};

View File

@ -1,12 +0,0 @@
ace_aim9
===================
Adds AIM-9 and R-73 AHR missiles
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

View File

@ -1,20 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT aim9
#define COMPONENT_BEAUTIFIED AIM-9
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_AIM9
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_AIM9
#define DEBUG_SETTINGS DEBUG_SETTINGS_AIM9
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="AIM9">
<Key ID="STR_ACE_AIM9_m">
<English>AIM-9M [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_x">
<English>AIM-9X [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_aim132">
<English>AIM-132 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_r73">
<English>R-73 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_r74">
<English>R-74 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_m_1x">
<English>1x AIM-9M [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_m_2x">
<English>2x AIM-9M [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_x_1x">
<English>1x AIM-9X [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_x_2x">
<English>2x AIM-9X [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_aim132_1x">
<English>1x AIM-132 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_aim132_2x">
<English>2x AIM-132 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_aim132_4x">
<English>4x AIM-132 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_r73_1x">
<English>1x R-73 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_r74_1x">
<English>1x R-74 [ACE]</English>
</Key>
<Key ID="STR_ACE_AIM9_r74_2x">
<English>2x R-74 [ACE]</English>
</Key>
</Package>
</Project>

View File

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

View File

@ -1,78 +0,0 @@
class CfgAmmo {
class Bo_GBU12_LGB;
class GVAR(12): Bo_GBU12_LGB {
maneuvrability = 0; // no maneuvrability so that default guidance doesnt work
airFriction = 0.25; // bombs have high drag who woulda thunk
class ace_missileguidance {
enabled = 1;
pitchRate = 5;
yawRate = 5;
bangBangGuidance = 1;
stabilityCoefficient = 0.4; // how much this projectile likes to "weathervane" (keep direction toward velocity)
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "SALH";
seekerTypes[] = { "SALH" };
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL" };
defaultNavigationType = "ProportionalNavigation";
navigationTypes[] = { "ProportionalNavigation" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 60; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 5;
seekerMaxRange = 4000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
class Bomb_03_F;
class GVAR(FAB250): Bomb_03_F {
maneuvrability = 0; // no maneuvrability so that default guidance doesnt work
airFriction = 0.25; // bombs have high drag who woulda thunk
class ace_missileguidance {
enabled = 1;
pitchRate = 8;
yawRate = 8;
bangBangGuidance = 1;
stabilityCoefficient = 0.4; // how much this projectile likes to "weathervane" (keep direction toward velocity)
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "SALH";
seekerTypes[] = { "SALH" };
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL" };
defaultNavigationType = "ProportionalNavigation";
navigationTypes[] = { "ProportionalNavigation" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 60; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 5;
seekerMaxRange = 4000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
};

View File

@ -1,87 +0,0 @@
class CfgMagazines {
class 2Rnd_GBU12_LGB;
// GBU
class GVAR(2Rnd_12): 2Rnd_GBU12_LGB {
displayName = CSTRING(12_2x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
};
class 4Rnd_Bomb_04_F;
class GVAR(4Rnd_GBU12): 4Rnd_Bomb_04_F {
displayName = CSTRING(12_4x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
};
class magazine_Bomb_GBU12_x1;
class GVAR(gbu12): magazine_Bomb_GBU12_x1 {
displayName = CSTRING(12_1x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
};
class PylonMissile_1Rnd_Bomb_04_F;
class GVAR(1_PylonMissile_1Rnd_12): PylonMissile_1Rnd_Bomb_04_F {
displayName = CSTRING(12_1x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
pylonWeapon = QGVAR(12);
};
class 2Rnd_GBU12_LGB_MI10;
class GVAR(2Rnd_GBU12_LGB_MI10): 2Rnd_GBU12_LGB_MI10 {
displayName = CSTRING(12_2x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
pylonWeapon = QGVAR(12);
};
class PylonMissile_Bomb_GBU12_x1;
class GVAR(PylonMissile_Bomb_GBU12_x1): PylonMissile_Bomb_GBU12_x1 {
displayName = CSTRING(12_1x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
pylonWeapon = QGVAR(12);
};
class PylonRack_Bomb_GBU12_x2;
class GVAR(PylonRack_Bomb_GBU12_x2): PylonRack_Bomb_GBU12_x2 {
displayName = CSTRING(12_2x);
author = "Dani (TCVM)";
ammo = QGVAR(12);
pylonWeapon = QGVAR(12);
};
// KAB
class magazine_Bomb_KAB250_x1;
class GVAR(1Rnd_FAB250): magazine_Bomb_KAB250_x1 {
displayName = CSTRING(fab250_1x);
author = "Dani (TCVM)";
ammo = QGVAR(FAB250);
};
class PylonMissile_Bomb_KAB250_x1;
class GVAR(1_PylonMissile_1Rnd_FAB250): PylonMissile_Bomb_KAB250_x1 {
displayName = CSTRING(fab250_1x);
author = "Dani (TCVM)";
ammo = QGVAR(FAB250);
pylonWeapon = QGVAR(FAB250);
};
class 2Rnd_Bomb_03_F;
class GVAR(2Rnd_FAB250): 2Rnd_Bomb_03_F {
displayName = CSTRING(fab250_2x);
author = "Dani (TCVM)";
ammo = QGVAR(FAB250);
};
class PylonMissile_1Rnd_Bomb_03_F;
class GVAR(PylonMissile_1Rnd_FAB250): PylonMissile_1Rnd_Bomb_03_F {
displayName = CSTRING(fab250_1x);
author = "Dani (TCVM)";
ammo = QGVAR(FAB250);
pylonWeapon = QGVAR(FAB250);
};
};

View File

@ -1,32 +0,0 @@
class CfgWeapons {
class weapon_LGBLauncherBase;
class GVAR(12): weapon_LGBLauncherBase {
displayName = CSTRING(12);
magazines[] = {
QGVAR(2Rnd_12),
QGVAR(2Rnd_GBU12_LGB_MI10),
QGVAR(4Rnd_GBU12),
QGVAR(gbu12),
QGVAR(1_PylonMissile_1Rnd_12),
QGVAR(PylonMissile_Bomb_GBU12_x1),
QGVAR(PylonRack_Bomb_GBU12_x2)
};
EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code)
EGVAR(laser,showHud) = 1; // show attack profile / lock on hud
};
class GVAR(FAB250): weapon_LGBLauncherBase {
displayName = CSTRING(fab250);
magazines[] = {
QGVAR(1Rnd_FAB250),
QGVAR(2Rnd_FAB250),
QGVAR(1_PylonMissile_1Rnd_FAB250),
QGVAR(PylonMissile_1Rnd_FAB250)
};
EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code)
EGVAR(laser,showHud) = 1; // show attack profile / lock on hud
};
};

View File

@ -1,12 +0,0 @@
ace_gbu
===================
Adds GBU-12 LGB
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

View File

@ -1,20 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT gbu
#define COMPONENT_BEAUTIFIED Guided Bomb Unit
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_GBU
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_GBU
#define DEBUG_SETTINGS DEBUG_SETTINGS_GBU
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="GBU">
<Key ID="STR_ACE_GBU_12">
<English>GBU-12 [ACE]</English>
</Key>
<Key ID="STR_ACE_GBU_fab250">
<English>FAB-250M-54 [ACE]</English>
</Key>
<Key ID="STR_ACE_GBU_12_1x">
<English>1x GBU-12 [ACE]</English>
</Key>
<Key ID="STR_ACE_GBU_12_2x">
<English>2x GBU-12 [ACE]</English>
</Key>
<Key ID="STR_ACE_GBU_12_4x">
<English>4x GBU-12 [ACE]</English>
</Key>
<Key ID="STR_ACE_GBU_fab250_1x">
<English>1x FAB-250M-54 [ACE]</English>
</Key>
<Key ID="STR_ACE_GBU_fab250_2x">
<English>2x FAB-250M-54 [ACE]</English>
</Key>
</Package>
</Project>

View File

@ -1,2 +0,0 @@
z\ace\addons\hot

View File

@ -1,149 +0,0 @@
class CfgAmmo {
class M_Scalpel_AT;
class ammo_Penetrator_Base;
class GVAR(ammo_Penetrator_HOT1): ammo_Penetrator_Base {
caliber = 60;
warheadName = "HEAT";
hit = 720;
};
class GVAR(ammo_Penetrator_HOT2): ammo_Penetrator_Base {
caliber = 65;
warheadName = "HEAT";
hit = 900;
};
class GVAR(ammo_Penetrator_HOT3): ammo_Penetrator_Base {
caliber = 80;
warheadName = "TandemHEAT";
hit = 1000;
};
class GVAR(HOT1): M_Scalpel_AT {
aiAmmoUsageFlags = "128+512";
model = "\A3\Weapons_F_Tank\Launchers\Vorona\Vorona_missile_heat_fly";
proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_03_F";
submunitionAmmo = QGVAR(ammo_Penetrator_HOT1);
submunitionDirectionType = "SubmunitionModelDirection";
submunitionInitSpeed = 1000;
submunitionParentSpeedCoef = 0;
submunitionInitialOffset[] = { 0, 0, -0.2 };
hit = 150;
warheadName = "HEAT";
indirectHit = 25;
indirectHitRange = 3.5;
explosive = 0.8;
displayName = CSTRING(hot1);
displayNameShort = CSTRING(hot1);
description = CSTRING(missileType_Description);
descriptionShort = CSTRING(missileType);
effectsMissile = "missile2";
irLock = 0;
laserLock = 0;
manualControl = 0;
maxSpeed = 240;
thrustTime = 17;
thrust = 125;
timeToLive = 40;
initTime = 0.3;
EGVAR(rearm,caliber) = 178;
EGVAR(vehicle_damage,incendiary) = 1.0;
class ace_missileguidance {
enabled = 1;
pitchRate = 45; // Minium flap deflection for guidance
yawRate = 45; // Maximum flap deflection for guidance
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
showTrail = 1;
// Guidance type for munitions
defaultSeekerType = "SACLOS";
seekerTypes[] = { "SACLOS" };
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "Line";
navigationTypes[] = { "Line" };
lineGainP = 7;
lineGainD = 6;
initialPitch = 2;
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 30; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 4000; // Range from the missile which the seeker can visually search
offsetFromCrosshair[] = { 0, 0, 0.5 }; // where the missile wants to stay in relation to the center of the crosshair.
// Attack profile type selection
defaultAttackProfile = "WIRE";
attackProfiles[] = {"WIRE"};
};
};
class GVAR(HOT2): GVAR(HOT1) {
submunitionAmmo = QGVAR(ammo_Penetrator_HOT2);
displayName = CSTRING(hot2);
displayNameShort = CSTRING(hot2);
class ace_missileguidance: ace_missileguidance {
enabled = 1;
};
};
class GVAR(HOT2MP): GVAR(HOT2) {
aiAmmoUsageFlags = "64+128";
submunitionAmmo = "";
warheadName = "HE";
allowAgainstInfantry = 1;
hit = 200;
indirectHit = 200;
indirectHitRange = 5;
explosionEffects = "BombExplosion";
explosive = 0.7;
EGVAR(frag,enabled) = 1;
EGVAR(frag,metal) = 7100; // 1000 steel balls
EGVAR(frag,charge) = 4100;
EGVAR(frag,gurney_c) = 2700;
EGVAR(frag,gurney_k) = "3/5";
EGVAR(frag,classes)[] = {"ACE_frag_small"};
displayName = CSTRING(hot2mp);
displayNameShort = CSTRING(hot2mp);
description = CSTRING(missileType_Description_AP);
EGVAR(vehicle_damage,incendiary) = 0.1;
class ace_missileguidance: ace_missileguidance {
enabled = 1;
};
};
class GVAR(HOT3): GVAR(HOT2) {
submunitionAmmo = QGVAR(ammo_Penetrator_HOT3);
warheadName = "TandemHEAT";
displayName = CSTRING(hot3);
displayNameShort = CSTRING(hot3);
class ace_missileguidance: ace_missileguidance {
enabled = 1;
seekerMaxRange = 4300;
};
};
};

View File

@ -1,205 +0,0 @@
class CfgMagazines {
class 12Rnd_PG_missiles;
// HOT1 - HEAT (anti-tank)
class GVAR(1_6Rnd): 12Rnd_PG_missiles { // Old style vehicle magazine
count = 6;
initSpeed = 100;
ammo = QGVAR(HOT1);
displayName = CSTRING(hot1);
displayNameShort = CSTRING(hot1);
descriptionShort = CSTRING(missileType);
};
class GVAR(1_2Rnd): GVAR(1_6Rnd) {
count = 2;
};
// 1.70 pylon magazines:
class GVAR(1_PylonMissile_1Rnd): GVAR(1_6Rnd) { // Bare missle
displayName = CSTRING(hot1_1);
count = 1;
mass = 70;
pylonWeapon = QGVAR(1_launcher);
hardpoints[] = {"SCALPEL_1RND"};
model = "\A3\Weapons_F\DynamicLoadout\PylonMissile_1x_Bomb_04_F.p3d";
};
class GVAR(1_PylonRack_1Rnd): GVAR(1_6Rnd) { // 1x Launcher Support Rack
displayName = CSTRING(hot1_1);
count = 1;
mass = 85;
pylonWeapon = QGVAR(1_launcher);
hardpoints[] = {"B_MISSILE_PYLON", "SCALPEL_1RND_EJECTOR", "B_ASRRAM_EJECTOR", "UNI_SCALPEL", "CUP_NATO_HELO_SMALL", "CUP_NATO_HELO_LARGE", "RHS_HP_MELB"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_1x_Missile_AA_04_F.p3d";
};
class GVAR(1_PylonRack_3Rnd): GVAR(1_6Rnd) { // 3x Launcher Support Rack
displayName = CSTRING(hot1_3);
count = 3;
mass = 250;
pylonWeapon = QGVAR(1_launcher);
hardpoints[] = {"B_MISSILE_PYLON", "UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_3x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 3};
};
class GVAR(1_PylonRack_4Rnd): GVAR(1_6Rnd) { // 4x Launcher Support Rack
displayName = CSTRING(hot1_4);
count = 4;
mass = 340;
pylonWeapon = QGVAR(1_launcher);
hardpoints[] = {"UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_HELLFIRE_RACK", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_4x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 4, 3};
};
// HOT2 - HEAT (anti-tank)
class GVAR(2_6Rnd): 12Rnd_PG_missiles { // Old style vehicle magazine
count = 6;
initSpeed = 100;
ammo = QGVAR(HOT2);
displayName = CSTRING(hot2);
displayNameShort = CSTRING(hot2);
descriptionShort = CSTRING(missileType);
};
class GVAR(2_2Rnd): GVAR(2_6Rnd) {
count = 2;
};
// 1.70 pylon magazines:
class GVAR(2_PylonMissile_1Rnd): GVAR(2_6Rnd) { // Bare missle
displayName = CSTRING(hot2_1);
pylonWeapon = QGVAR(2_launcher);
count = 1;
mass = 70;
hardpoints[] = {"SCALPEL_1RND"};
model = "\A3\Weapons_F\DynamicLoadout\PylonMissile_1x_Bomb_04_F.p3d";
};
class GVAR(2_PylonRack_1Rnd): GVAR(2_6Rnd) { // 1x Launcher Support Rack
displayName = CSTRING(hot2_1);
pylonWeapon = QGVAR(2_launcher);
count = 1;
mass = 85;
hardpoints[] = {"B_MISSILE_PYLON", "SCALPEL_1RND_EJECTOR", "B_ASRRAM_EJECTOR", "UNI_SCALPEL", "CUP_NATO_HELO_SMALL", "CUP_NATO_HELO_LARGE", "RHS_HP_MELB"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_1x_Missile_AA_04_F.p3d";
};
class GVAR(2_PylonRack_3Rnd): GVAR(2_6Rnd) { // 3x Launcher Support Rack
displayName = CSTRING(hot2_3);
pylonWeapon = QGVAR(2_launcher);
count = 3;
mass = 250;
hardpoints[] = {"B_MISSILE_PYLON", "UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_3x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 3};
};
class GVAR(2_PylonRack_4Rnd): GVAR(2_6Rnd) { // 4x Launcher Support Rack
displayName = CSTRING(hot2_4);
pylonWeapon = QGVAR(2_launcher);
count = 4;
mass = 340;
hardpoints[] = {"UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_HELLFIRE_RACK", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_4x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 4, 3};
};
// HOT2MP - HE Anti-Infantry
class GVAR(2MP_6Rnd): 12Rnd_PG_missiles { // Old style vehicle magazine
count = 6;
initSpeed = 100;
ammo = QGVAR(HOT2MP);
displayName = CSTRING(hot2mp);
displayNameShort = CSTRING(hot2mp);
descriptionShort = CSTRING(missileType);
};
class GVAR(2MP_2Rnd): GVAR(2MP_6Rnd) {
count = 2;
};
// 1.70 pylon magazines:
class GVAR(2MP_PylonMissile_1Rnd): GVAR(2MP_6Rnd) { // Bare missle
displayName = CSTRING(hot2mp_1);
pylonWeapon = QGVAR(2mp_launcher);
count = 1;
mass = 70;
hardpoints[] = {"SCALPEL_1RND"};
model = "\A3\Weapons_F\DynamicLoadout\PylonMissile_1x_Bomb_04_F.p3d";
};
class GVAR(2MP_PylonRack_1Rnd): GVAR(2MP_6Rnd) { // 1x Launcher Support Rack
displayName = CSTRING(hot2mp_1);
pylonWeapon = QGVAR(2mp_launcher);
count = 1;
mass = 85;
hardpoints[] = {"B_MISSILE_PYLON", "SCALPEL_1RND_EJECTOR", "B_ASRRAM_EJECTOR", "UNI_SCALPEL", "CUP_NATO_HELO_SMALL", "CUP_NATO_HELO_LARGE", "RHS_HP_MELB"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_1x_Missile_AA_04_F.p3d";
};
class GVAR(2MP_PylonRack_3Rnd): GVAR(2MP_6Rnd) { // 3x Launcher Support Rack
displayName = CSTRING(hot2mp_3);
pylonWeapon = QGVAR(2mp_launcher);
count = 3;
mass = 250;
hardpoints[] = {"B_MISSILE_PYLON", "UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_3x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 3};
};
class GVAR(2MP_PylonRack_4Rnd): GVAR(2MP_6Rnd) { // 4x Launcher Support Rack
displayName = CSTRING(hot2mp_4);
pylonWeapon = QGVAR(2mp_launcher);
count = 4;
mass = 340;
hardpoints[] = {"UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_HELLFIRE_RACK", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_4x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 4, 3};
};
// HOT3 - tandem shaped charge HEAT (anti-tank)
class GVAR(3_6Rnd): 12Rnd_PG_missiles { // Old style vehicle magazine
count = 6;
initSpeed = 100;
ammo = QGVAR(HOT3);
displayName = CSTRING(hot3);
displayNameShort = CSTRING(hot3);
descriptionShort = CSTRING(missileType);
};
class GVAR(3_2Rnd): GVAR(3_6Rnd) { // Old style vehicle magazine
count = 2;
};
// 1.70 pylon magazines:
class GVAR(3_PylonMissile_1Rnd): GVAR(3_6Rnd) { // Bare missle
displayName = CSTRING(hot3_1);
pylonWeapon = QGVAR(3_launcher);
count = 1;
mass = 70;
hardpoints[] = {"SCALPEL_1RND"};
model = "\A3\Weapons_F\DynamicLoadout\PylonMissile_1x_Bomb_04_F.p3d";
};
class GVAR(3_PylonRack_1Rnd): GVAR(3_6Rnd) { // 1x Launcher Support Rack
displayName = CSTRING(hot3_1);
pylonWeapon = QGVAR(3_launcher);
count = 1;
mass = 85;
hardpoints[] = {"B_MISSILE_PYLON", "SCALPEL_1RND_EJECTOR", "B_ASRRAM_EJECTOR", "UNI_SCALPEL", "CUP_NATO_HELO_SMALL", "CUP_NATO_HELO_LARGE", "RHS_HP_MELB"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_1x_Missile_AA_04_F.p3d";
};
class GVAR(3_PylonRack_3Rnd): GVAR(3_6Rnd) { // 3x Launcher Support Rack
displayName = CSTRING(hot3_3);
pylonWeapon = QGVAR(3_launcher);
count = 3;
mass = 250;
hardpoints[] = {"B_MISSILE_PYLON", "UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_3x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 3};
};
class GVAR(3_PylonRack_4Rnd): GVAR(3_6Rnd) { // 4x Launcher Support Rack
displayName = CSTRING(hot3_4);
pylonWeapon = QGVAR(3_launcher);
count = 4;
mass = 340;
hardpoints[] = {"UNI_SCALPEL", "CUP_NATO_HELO_LARGE", "RHS_HP_HELLFIRE_RACK", "RHS_HP_LONGBOW_RACK"};
model = "\A3\Weapons_F\DynamicLoadout\PylonPod_4x_Missile_LG_scalpel_F.p3d";
mirrorMissilesIndexes[] = {2, 1, 4, 3};
};
};

View File

@ -1,30 +0,0 @@
class CfgVehicles {
class Tank;
class Tank_F: Tank {
class Turrets;
};
class LT_01_base_F: Tank_F {
class AnimationSources;
class Turrets: Turrets {
class MainTurret;
};
};
class LT_01_AT_base_F: LT_01_base_F {
class AnimationSources: AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(generic_launcher);
};
class Missiles_reloadMagazine {
source = "reloadMagazine";
weapon = QGVAR(generic_launcher);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = {"SmokeLauncher","HMG_127",QGVAR(generic_launcher)};
magazines[] = {"SmokeLauncherMag",QGVAR(2_2Rnd),QGVAR(2_2Rnd),QGVAR(2_2Rnd),QGVAR(2MP_2Rnd),"100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red"};
};
};
};
};

View File

@ -1,62 +0,0 @@
class CfgWeapons {
class RocketPods;
class MissileLauncher;
class GVAR(1_launcher): RocketPods {
displayName = CSTRING(hot1);
magazines[] = {QGVAR(1_6Rnd), QGVAR(1_2Rnd), QGVAR(1_PylonMissile_1Rnd), QGVAR(1_PylonRack_1Rnd), QGVAR(1_PylonRack_3Rnd), QGVAR(1_PylonRack_4Rnd)};
initSpeed = 100;
autoFire = 0;
canLock = 0;
weaponLockSystem = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1",1,1.1,700};
nameSound = "MissileLauncher";
sounds[] = {"StandardSound"};
class StandardSound {
begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_1",1.12202,1.3,1000};
soundBegin[] = {"begin1",1};
soundsetshot[] = {"RocketsMedium_Shot_SoundSet"};
};
cursor = "EmptyCursor";
cursorAim = "missile";
showAimCursorInternal = 0;
};
class GVAR(2_launcher): GVAR(1_launcher) {
displayName = CSTRING(hot2);
magazines[] = {QGVAR(2_6Rnd), QGVAR(2_2Rnd), QGVAR(2_PylonMissile_1Rnd), QGVAR(2_PylonRack_1Rnd), QGVAR(2_PylonRack_3Rnd), QGVAR(2_PylonRack_4Rnd)};
};
class GVAR(2mp_launcher): GVAR(1_launcher) {
displayName = CSTRING(hot2mp);
magazines[] = {QGVAR(2MP_6Rnd), QGVAR(2MP_2Rnd), QGVAR(2MP_PylonMissile_1Rnd), QGVAR(2MP_PylonRack_1Rnd), QGVAR(2MP_PylonRack_3Rnd), QGVAR(2MP_PylonRack_4Rnd)};
};
class GVAR(3_launcher): GVAR(1_launcher) {
displayName = CSTRING(hot3);
magazines[] = {QGVAR(3_6Rnd), QGVAR(3_2Rnd), QGVAR(3_PylonMissile_1Rnd), QGVAR(3_PylonRack_1Rnd), QGVAR(3_PylonRack_3Rnd), QGVAR(3_PylonRack_4Rnd)};
};
class GVAR(generic_launcher): MissileLauncher {
displayName = CSTRING(hotMissile);
magazines[] = {QGVAR(1_6Rnd), QGVAR(1_2Rnd), QGVAR(2_6Rnd), QGVAR(2_2Rnd), QGVAR(2MP_6Rnd), QGVAR(2MP_2Rnd), QGVAR(3_6Rnd), QGVAR(3_2Rnd)};
initSpeed = 100;
autoFire = 0;
canLock = 0;
weaponLockSystem = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1",1,1.1,700};
nameSound = "MissileLauncher";
sounds[] = {"StandardSound"};
class StandardSound {
begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_1",1.12202,1.3,1000};
soundBegin[] = {"begin1",1};
soundsetshot[] = {"RocketsMedium_Shot_SoundSet"};
};
cursor = "EmptyCursor";
cursorAim = "missile";
showAimCursorInternal = 0;
autoReload = 1;
magazineReloadTime = 20;
};
};

View File

@ -1,4 +0,0 @@
ace_hot
===================
Adds HOT1/2/3 Missiles

View File

@ -1,21 +0,0 @@
#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[] = {"tcvm"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"
#include "CfgVehicles.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT hot
#define COMPONENT_BEAUTIFIED HOT
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_HOT
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_HOT
#define DEBUG_SETTINGS DEBUG_SETTINGS_HOT
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,341 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="HOT">
<Key ID="STR_ACE_HOT_missileType">
<English>Wire-Guided</English>
<German>Drahtgelenkt</German>
<Polish>Kierowany przewodem</Polish>
<Italian>Filoguidato</Italian>
<Japanese>有線誘導</Japanese>
<Russian>Проводное управление</Russian>
<Portuguese>Guiado por Fio</Portuguese>
<Chinese>有線制導</Chinese>
<Chinesesimp>有线制导</Chinesesimp>
<French>Filoguidé</French>
<Czech>Drátem naváděné</Czech>
<Turkish>Tel-Güdümlü</Turkish>
<Spanish>Guiado por cable</Spanish>
<Korean>유선 유도</Korean>
</Key>
<Key ID="STR_ACE_HOT_SACLOS_Description">
<English>Semi-automatic command to line of sight (SACLOS)</English>
<German>Halbautomatische Steuerung über Sichtverbindung (SACLOS)</German>
<Polish>Semi-automatyczna komenda do pola widzenia</Polish>
<Italian>Comando Semi-Automatico su Contatto Visivo (SACLOS)</Italian>
<Japanese>半自動指令照準線一致誘導方式 (SACLOS)</Japanese>
<Russian>Полуавтоматическое командное наведение по линии визирования (SACLOS)</Russian>
<Portuguese>Comando semi-automático para a linha de visão (SACLOS)</Portuguese>
<Chinese>視線內半自動指令</Chinese>
<Chinesesimp>半自动指令到视线SACLOS</Chinesesimp>
<French>Contrôle semi-automatique par contact visuel (SACLOS)</French>
<Czech>Poloautomatický povelový systém dalkového navedení pro záměrné cíle (SACLOS)</Czech>
<Spanish>Control semi-automático por línea de visión</Spanish>
<Turkish>Görüş alanına yarı otomatik komut</Turkish>
<Korean>반자동 가시선 지령 유도방식</Korean>
</Key>
<Key ID="STR_ACE_HOT_missileType_Description">
<English>Wire-Guided Missile</English>
<German>Drahtgelenkte Rakete</German>
<Polish>Pocisk kierowany przewodowo</Polish>
<Italian>Missile Filoguidato</Italian>
<Japanese>有線誘導ミサイル</Japanese>
<Russian>Ракета с проводным управлением</Russian>
<Portuguese>Míssil Guiado por Fio</Portuguese>
<Chinese>有線制導飛彈</Chinese>
<Chinesesimp>线导导弹</Chinesesimp>
<French>Missile filoguidé</French>
<Czech>Drátem naváděná střela</Czech>
<Turkish>Tel Güdümlü Füze</Turkish>
<Spanish>Misil guiado por cable</Spanish>
<Korean>유선 유도 미사일</Korean>
</Key>
<Key ID="STR_ACE_HOT_hotMissile">
<English>HOT Missile</English>
<German>Lenkflugkörper</German>
<Polish>Pocisk HOT</Polish>
<Italian>Missile HOT</Italian>
<Japanese>HOT ミサイル</Japanese>
<Russian>Ракета HOT</Russian>
<Portuguese>Míssil HOT</Portuguese>
<Chinese>高次音速(HOT)飛彈</Chinese>
<Chinesesimp>高次音速HOT导弹</Chinesesimp>
<French>Missile HOT</French>
<Czech>HOT Střela</Czech>
<Turkish>HOT Missile</Turkish>
<Spanish>Misil HOT</Spanish>
<Korean>HOT 미사일</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot1">
<English>HOT 1</English>
<German>HOT 1</German>
<Polish>HOT 1</Polish>
<Italian>HOT 1</Italian>
<Japanese>HOT 1</Japanese>
<Russian>HOT 1</Russian>
<Portuguese>HOT 1</Portuguese>
<French>HOT 1</French>
<Chinese>HOT 1</Chinese>
<Chinesesimp>HOT 1</Chinesesimp>
<Czech>HOT 1</Czech>
<Turkish>HOT 1</Turkish>
<Spanish>HOT 1</Spanish>
<Korean>HOT 1</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2">
<English>HOT 2</English>
<German>HOT 2</German>
<Polish>HOT 2</Polish>
<Italian>HOT 2</Italian>
<Japanese>HOT 2</Japanese>
<Russian>HOT 2</Russian>
<Portuguese>HOT 2</Portuguese>
<French>HOT 2</French>
<Chinese>HOT 2</Chinese>
<Chinesesimp>HOT 2</Chinesesimp>
<Czech>HOT 2</Czech>
<Turkish>HOT 2</Turkish>
<Spanish>HOT 2</Spanish>
<Korean>HOT 2</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2mp">
<English>HOT 2MP</English>
<German>HOT 2MP</German>
<Polish>HOT 2MP</Polish>
<Italian>HOT 2MP</Italian>
<Japanese>HOT 2MP</Japanese>
<Russian>HOT 2MP</Russian>
<Portuguese>HOT 2MP</Portuguese>
<French>HOT 2MP</French>
<Chinese>HOT 2MP</Chinese>
<Chinesesimp>HOT 2MP</Chinesesimp>
<Czech>HOT 2MP</Czech>
<Turkish>HOT 2MP</Turkish>
<Spanish>HOT 2MP</Spanish>
<Korean>HOT 2MP</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot3">
<English>HOT 3</English>
<German>HOT 3</German>
<Polish>HOT 3</Polish>
<Italian>HOT 3</Italian>
<Japanese>HOT 3</Japanese>
<Russian>HOT 3</Russian>
<Portuguese>HOT 3</Portuguese>
<French>HOT 3</French>
<Chinese>HOT 3</Chinese>
<Chinesesimp>HOT 3</Chinesesimp>
<Czech>HOT 3</Czech>
<Turkish>HOT 3</Turkish>
<Spanish>HOT 3</Spanish>
<Korean>HOT 3</Korean>
</Key>
<Key ID="STR_ACE_HOT_missileType_Description_AP">
<English>Wire-Guided Missile (Anti-Personnel)</English>
<German>Anti Personen Lenkflugkörper</German>
<Polish>Pocisk kierowany przewodowo (przeciwpiechotny)</Polish>
<Italian>Missile Filoguidato Antiuomo</Italian>
<Japanese>有線誘導ミサイル (対人)</Japanese>
<Russian>Ракета с проводным управлением (Противопехотная)</Russian>
<Portuguese>Míssil Guiado por Fio (Anti-Pessoal)</Portuguese>
<Chinese>有線制導飛彈(反步兵)</Chinese>
<Chinesesimp>线导导弹(反人员)</Chinesesimp>
<French>Missile filoguidé (antipersonnel)</French>
<Czech>Drátem naváděná střela (protipěchotní)</Czech>
<Turkish>Tel Güdümlü Füze (Anti-Personelı)</Turkish>
<Spanish>Misil guiado por cable (Antipersona)</Spanish>
<Korean>유선 유도 미사일 (대인)</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot1_1">
<English>1x HOT 1 [ACE]</English>
<German>1x HOT 1 [ACE]</German>
<Polish>1x HOT 1 [ACE]</Polish>
<Italian>1x HOT1 [ACE]</Italian>
<Japanese>1x HOT 1 [ACE]</Japanese>
<Russian>1x HOT 1 [ACE]</Russian>
<Portuguese>1x HOT 1 [ACE]</Portuguese>
<French>1x HOT 1 [ACE]</French>
<Chinese>1x HOT 1 [ACE]</Chinese>
<Chinesesimp>1x HOT 1 [ACE]</Chinesesimp>
<Czech>1x HOT 1 [ACE]</Czech>
<Turkish>1x HOT 1 [ACE]</Turkish>
<Spanish>1x HOT 1 [ACE]</Spanish>
<Korean>1x HOT 1 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot1_3">
<English>3x HOT 1 [ACE]</English>
<German>3x HOT 1 [ACE]</German>
<Polish>3x HOT 1 [ACE]</Polish>
<Italian>3x HOT 1 [ACE]</Italian>
<Japanese>3x HOT 1 [ACE]</Japanese>
<Russian>3x HOT 1 [ACE]</Russian>
<Portuguese>3x HOT 1 [ACE]</Portuguese>
<French>3x HOT 1 [ACE]</French>
<Chinese>3x HOT 1 [ACE]</Chinese>
<Chinesesimp>3x HOT 1 [ACE]</Chinesesimp>
<Czech>3x HOT 1 [ACE]</Czech>
<Turkish>3x HOT 1 [ACE]</Turkish>
<Spanish>3x HOT 1 [ACE]</Spanish>
<Korean>3x HOT 1 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot1_4">
<English>4x HOT 1 [ACE]</English>
<German>4x HOT 1 [ACE]</German>
<Polish>4x HOT 1 [ACE]</Polish>
<Italian>4x HOT 1 [ACE]</Italian>
<Japanese>4x HOT 1 [ACE]</Japanese>
<Russian>4x HOT 1 [ACE]</Russian>
<Portuguese>4x HOT 1 [ACE]</Portuguese>
<French>4x HOT 1 [ACE]</French>
<Chinese>4x HOT 1 [ACE]</Chinese>
<Chinesesimp>4x HOT 1 [ACE]</Chinesesimp>
<Czech>4x HOT 1 [ACE]</Czech>
<Turkish>4x HOT 1 [ACE]</Turkish>
<Spanish>4x HOT 1 [ACE]</Spanish>
<Korean>4x HOT 1 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2_1">
<English>1x HOT 2 [ACE]</English>
<German>1x HOT 2 [ACE]</German>
<Polish>1x HOT 2 [ACE]</Polish>
<Italian>1x HOT 2 [ACE]</Italian>
<Japanese>1x HOT 2 [ACE]</Japanese>
<Russian>1x HOT 2 [ACE]</Russian>
<Portuguese>1x HOT 2 [ACE]</Portuguese>
<French>1x HOT 2 [ACE]</French>
<Chinese>1x HOT 2 [ACE]</Chinese>
<Chinesesimp>1x HOT 2 [ACE]</Chinesesimp>
<Czech>1x HOT 2 [ACE]</Czech>
<Turkish>1x HOT 2 [ACE]</Turkish>
<Spanish>1x HOT 2 [ACE]</Spanish>
<Korean>1x HOT 2 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2_3">
<English>3x HOT 2 [ACE]</English>
<German>3x HOT 2 [ACE]</German>
<Polish>3x HOT 2 [ACE]</Polish>
<Italian>3x HOT 2 [ACE]</Italian>
<Japanese>3x HOT 2 [ACE]</Japanese>
<Russian>3x HOT 2 [ACE]</Russian>
<Portuguese>3x HOT 2 [ACE]</Portuguese>
<French>3x HOT 2 [ACE]</French>
<Chinese>3x HOT 2 [ACE]</Chinese>
<Chinesesimp>3x HOT 2 [ACE]</Chinesesimp>
<Czech>3x HOT 2 [ACE]</Czech>
<Turkish>3x HOT 2 [ACE]</Turkish>
<Spanish>3x HOT 2 [ACE]</Spanish>
<Korean>3x HOT 2 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2_4">
<English>4x HOT 2 [ACE]</English>
<German>4x HOT 2 [ACE]</German>
<Polish>4x HOT 2 [ACE]</Polish>
<Italian>4x HOT 2 [ACE]</Italian>
<Japanese>4x HOT 2 [ACE]</Japanese>
<Russian>4x HOT 2 [ACE]</Russian>
<Portuguese>4x HOT 2 [ACE]</Portuguese>
<French>4x HOT 2 [ACE]</French>
<Chinese>4x HOT 2 [ACE]</Chinese>
<Chinesesimp>4x HOT 2 [ACE]</Chinesesimp>
<Czech>4x HOT 2 [ACE]</Czech>
<Turkish>4x HOT 2 [ACE]</Turkish>
<Spanish>4x HOT 2 [ACE]</Spanish>
<Korean>4x HOT 2 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2mp_1">
<English>1x HOT 2MP [ACE]</English>
<German>1x HOT 2MP [ACE]</German>
<Polish>1x HOT 2MP [ACE]</Polish>
<Italian>1x HOT 2MP [ACE]</Italian>
<Japanese>1x HOT 2MP [ACE]</Japanese>
<Russian>1x HOT 2MP [ACE]</Russian>
<Portuguese>1x HOT 2MP [ACE]</Portuguese>
<French>1x HOT 2MP [ACE]</French>
<Chinese>1x HOT 2MP [ACE]</Chinese>
<Chinesesimp>1x HOT 2MP [ACE]</Chinesesimp>
<Czech>1x HOT 2MP [ACE]</Czech>
<Turkish>1x HOT 2MP [ACE]</Turkish>
<Spanish>1x HOT 2MP [ACE]</Spanish>
<Korean>1x HOT 2MP [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2mp_3">
<English>3x HOT 2MP [ACE]</English>
<German>3x HOT 2MP [ACE]</German>
<Polish>3x HOT 2MP [ACE]</Polish>
<Italian>3x HOT 2MP [ACE]</Italian>
<Japanese>3x HOT 2MP [ACE]</Japanese>
<Russian>3x HOT 2MP [ACE]</Russian>
<Portuguese>3x HOT 2MP [ACE]</Portuguese>
<French>3x HOT 2MP [ACE]</French>
<Chinese>3x HOT 2MP [ACE]</Chinese>
<Chinesesimp>3x HOT 2MP [ACE]</Chinesesimp>
<Czech>3x HOT 2MP [ACE]</Czech>
<Turkish>3x HOT 2MP [ACE]</Turkish>
<Spanish>3x HOT 2MP [ACE]</Spanish>
<Korean>3x HOT 2MP [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot2mp_4">
<English>4x HOT 2MP [ACE]</English>
<German>4x HOT 2MP [ACE]</German>
<Polish>4x HOT 2MP [ACE]</Polish>
<Italian>4x HOT 2MP [ACE]</Italian>
<Japanese>4x HOT 2MP [ACE]</Japanese>
<Russian>4x HOT 2MP [ACE]</Russian>
<Portuguese>4x HOT 2MP [ACE]</Portuguese>
<French>4x HOT 2MP [ACE]</French>
<Chinese>4x HOT 2MP [ACE]</Chinese>
<Chinesesimp>4x HOT 2MP [ACE]</Chinesesimp>
<Czech>4x HOT 2MP [ACE]</Czech>
<Turkish>4x HOT 2MP [ACE]</Turkish>
<Spanish>4x HOT 2MP [ACE]</Spanish>
<Korean>4x HOT 2MP [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot3_1">
<English>1x HOT 3 [ACE]</English>
<German>1x HOT 3 [ACE]</German>
<Polish>1x HOT 3 [ACE]</Polish>
<Italian>1x HOT 3 [ACE]</Italian>
<Japanese>1x HOT 3 [ACE]</Japanese>
<Russian>1x HOT 3 [ACE]</Russian>
<Portuguese>1x HOT 3 [ACE]</Portuguese>
<French>1x HOT 3 [ACE]</French>
<Chinese>1x HOT 3 [ACE]</Chinese>
<Chinesesimp>1x HOT 3 [ACE]</Chinesesimp>
<Czech>1x HOT 3 [ACE]</Czech>
<Turkish>1x HOT 3 [ACE]</Turkish>
<Spanish>1x HOT 3 [ACE]</Spanish>
<Korean>1x HOT 3 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot3_4">
<English>4x HOT 3 [ACE]</English>
<German>4x HOT 3 [ACE]</German>
<Polish>4x HOT 3 [ACE]</Polish>
<Italian>4x HOT 3 [ACE]</Italian>
<Japanese>4x HOT 3 [ACE]</Japanese>
<Russian>4x HOT 3 [ACE]</Russian>
<Portuguese>4x HOT 3 [ACE]</Portuguese>
<French>4x HOT 3 [ACE]</French>
<Chinese>4x HOT 3 [ACE]</Chinese>
<Chinesesimp>4x HOT 3 [ACE]</Chinesesimp>
<Czech>4x HOT 3 [ACE]</Czech>
<Turkish>4x HOT 3 [ACE]</Turkish>
<Spanish>4x HOT 3 [ACE]</Spanish>
<Korean>4x HOT 3 [ACE]</Korean>
</Key>
<Key ID="STR_ACE_HOT_hot3_3">
<English>3x HOT 3 [ACE]</English>
<German>3x HOT 3 [ACE]</German>
<Polish>3x HOT 3 [ACE]</Polish>
<Italian>3x HOT 3 [ACE]</Italian>
<Japanese>3x HOT 3 [ACE]</Japanese>
<Russian>3x HOT 3 [ACE]</Russian>
<Portuguese>3x HOT 3 [ACE]</Portuguese>
<French>3x HOT 3 [ACE]</French>
<Chinese>3x HOT 3 [ACE]</Chinese>
<Chinesesimp>3x HOT 3 [ACE]</Chinesesimp>
<Czech>3x HOT 3 [ACE]</Czech>
<Turkish>3x HOT 3 [ACE]</Turkish>
<Spanish>3x HOT 3 [ACE]</Spanish>
<Korean>3x HOT 3 [ACE]</Korean>
</Key>
</Package>
</Project>

View File

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

View File

@ -1,90 +0,0 @@
class CfgAmmo {
class ammo_Missile_rim116;
class GVAR(rim116): ammo_Missile_rim116 {
maneuvrability = 0;
missileLockMaxSpeed = 2000;
missileLockCone = 3; // caged lock
missileKeepLockedCone = 45;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;
class ace_missileguidance {
enabled = 1;
pitchRate = 50; // Minium flap deflection for guidance
yawRate = 50; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 100;
flareAngleFilter = 0.5; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
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 = 0.8; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 5000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
class M_70mm_SAAMI;
class GVAR(stinger): M_70mm_SAAMI {
maneuvrability = 0;
missileLockMaxSpeed = 2000;
missileLockCone = 3; // caged lock
missileKeepLockedCone = 45;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;
class ace_missileguidance {
enabled = 1;
pitchRate = 42; // Minium flap deflection for guidance
yawRate = 42; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "IR";
seekerTypes[] = { "IR" };
flareDistanceFilter = 100;
flareAngleFilter = 1.3; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
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 = 0.8; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 5000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
};

View File

@ -1,22 +0,0 @@
class CfgMagazines {
class magazine_Missile_rim116_x21;
class GVAR(rim116): magazine_Missile_rim116_x21 {
author = "Dani (TCVM)";
displayName = CSTRING(rim116_21x);
ammo = QGVAR(rim116);
};
class 4Rnd_70mm_SAAMI_missiles;
class GVAR(stinger): 4Rnd_70mm_SAAMI_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(stinger_4x);
ammo = QGVAR(stinger);
};
class Titan_AA;
class GVAR(stinger_man): Titan_AA {
author = "Dani (TCVM)";
displayName = CSTRING(stinger);
ammo = QGVAR(stinger);
};
};

View File

@ -1,108 +0,0 @@
class CfgVehicles {
class LandVehicle;
class StaticWeapon: LandVehicle {
class Turrets;
};
class StaticMGWeapon: StaticWeapon {
class Turrets: Turrets {
class MainTurret;
};
};
class SAM_System_01_base_F: StaticMGWeapon {
class AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(rim116);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = {QGVAR(rim116)};
magazines[] = {QGVAR(rim116)};
};
};
};
class Tank;
class Tank_F: Tank {
class Turrets {
class MainTurret;
};
};
class LT_01_base_F: Tank_F {
class AnimationSources;
class Turrets: Turrets {};
};
class LT_01_AA_base_F: LT_01_base_F {
class AnimationSources: AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(FIM92);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = {"SmokeLauncher", QGVAR(FIM92), "HMG_127"};
magazines[] = {
"SmokeLauncherMag",
QGVAR(stinger),
QGVAR(stinger),
"100Rnd_127x99_mag_Tracer_Red",
"100Rnd_127x99_mag_Tracer_Red",
"100Rnd_127x99_mag_Tracer_Red",
"100Rnd_127x99_mag_Tracer_Red"
};
};
};
};
class APC_Tracked_01_base_F: Tank_F {
class Turrets: Turrets {
class MainTurret: MainTurret {};
};
};
class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {
class AnimationSources;
};
class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F {
class AnimationSources: AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(FIM92);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = {"autocannon_35mm", QGVAR(FIM92)};
magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Red", QGVAR(stinger), QGVAR(stinger)};
};
};
};
class APC_Tracked_02_base_F: Tank_F {
class Turrets: Turrets {
class MainTurret: MainTurret {};
};
};
class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {
class AnimationSources;
};
class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F {
class AnimationSources: AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(FIM92);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = {"autocannon_35mm", QGVAR(FIM92)};
magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Green", QGVAR(stinger), QGVAR(stinger)};
};
};
};
};

View File

@ -1,23 +0,0 @@
class CfgWeapons {
class weapon_rim116Launcher;
class GVAR(rim116): weapon_rim116Launcher {
author = "Dani (TCVM)";
displayName = CSTRING(rim116);
magazines[] = { QGVAR(rim116) };
weaponLockDelay = 0.5;
};
class missiles_SAAMI;
class GVAR(FIM92): missiles_SAAMI {
author = "Dani (TCVM)";
displayName = CSTRING(stinger);
magazines[] = { QGVAR(stinger) };
weaponLockDelay = 0.5;
};
class Launcher_Base_F;
class launch_Titan_base: Launcher_Base_F {
magazines[] = {QGVAR(stinger_man)};
};
};

View File

@ -1,12 +0,0 @@
ace_manpad
===================
Adds missile guidance to all vanilla MANPAD systems
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

View File

@ -1,21 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"
#include "CfgVehicles.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT manpad
#define COMPONENT_BEAUTIFIED MANPAD
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_MANPAD
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_MANPAD
#define DEBUG_SETTINGS DEBUG_SETTINGS_MANPAD
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="MANPAD">
<Key ID="STR_ACE_MANPAD_stinger">
<English>FIM-92 Stinger [ACE]</English>
</Key>
<Key ID="STR_ACE_MANPAD_rim116">
<English>RIM-116 [ACE]</English>
</Key>
<Key ID="STR_ACE_MANPAD_rim116_21x">
<English>21x RIM-116 [ACE]</English>
</Key>
<Key ID="STR_ACE_MANPAD_stinger_4x">
<English>4x FIM-92 Stinger [ACE]</English>
</Key>
</Package>
</Project>

View File

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

View File

@ -1,122 +0,0 @@
class CfgAmmo {
class ammo_Missile_mim145;
class GVAR(patriot): ammo_Missile_mim145 {
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 30; // Minium flap deflection for guidance
yawRate = 30; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 10; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.00001; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
class ammo_Missile_rim162;
class GVAR(RIM162): ammo_Missile_rim162 {
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 15; // Minium flap deflection for guidance
yawRate = 15; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 20; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.00001; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
class ammo_Missile_s750;
class GVAR(s400): ammo_Missile_s750 {
author = "Dani (TCVM)";
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 25; // Minium flap deflection for guidance
yawRate = 25; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
seekerTypes[] = { "DopplerRadar" };
lockableTypes[] = {"Air"};
minimumSpeedFilter = 5; // filter out targets that have a closing velocity less than this
minimumTimeFilter = 0.000001; // filter out targets that are this close to the ground (speed of light)
maxTerrainCheck = 16000; // How far we should check for terrain
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR"};
};
};
};

View File

@ -1,20 +0,0 @@
class CfgMagazines {
class magazine_Missile_mim145_x4;
class GVAR(patriot): magazine_Missile_mim145_x4 {
displayName = CSTRING(patriot_missile);
ammo = QGVAR(patriot);
};
class magazine_Missile_rim162_x8;
class GVAR(RIM162): magazine_Missile_rim162_x8 {
displayName = CSTRING(essm_missile);
ammo = QGVAR(RIM162);
};
class magazine_Missile_s750_x4;
class GVAR(s400): magazine_Missile_s750_x4 {
displayName = CSTRING(s400_missile);
ammo = QGVAR(s400);
};
};

View File

@ -1,75 +0,0 @@
class CfgVehicles {
class LandVehicle;
class StaticWeapon: LandVehicle {
class Turrets;
};
class StaticMGWeapon: StaticWeapon {
class Turrets: Turrets {
class MainTurret;
};
};
// RIM-162
class SAM_System_02_base_F: StaticMGWeapon {
displayName = CSTRING(essm);
class AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(RIM162);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
gunnerName = CSTRING(essm_operator);
weapons[] = {
QGVAR(RIM162)
};
magazines[] = {
QGVAR(RIM162)
};
};
};
};
// Patriot
class SAM_System_03_base_F: StaticMGWeapon {
displayName = CSTRING(patriot);
class AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(patriot);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
gunnerName = CSTRING(patriot_operator);
weapons[] = {
QGVAR(patriot)
};
magazines[] = {
QGVAR(patriot)
};
};
};
};
// S-400
class SAM_System_04_base_F: StaticMGWeapon {
displayName = CSTRING(s400);
class AnimationSources {
class Missiles_revolving {
source = "revolving";
weapon = QGVAR(s400);
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
gunnerName = CSTRING(s400_operator);
weapons[] = {
QGVAR(s400)
};
magazines[] = {
QGVAR(s400)
};
};
};
};
};

View File

@ -1,26 +0,0 @@
class CfgWeapons {
class weapon_mim145Launcher;
class GVAR(patriot): weapon_mim145Launcher {
author = "Dani (TCVM)";
displayName = CSTRING(patriot);
magazines[] = { QGVAR(patriot) };
weaponLockDelay = 0.5;
};
class weapon_rim162Launcher;
class GVAR(RIM162): weapon_rim162Launcher {
author = "Dani (TCVM)";
displayName = CSTRING(essm);
magazines[] = { QGVAR(RIM162) };
weaponLockDelay = 0.5;
};
class weapon_s750Launcher;
class GVAR(s400): weapon_s750Launcher {
author = "Dani (TCVM)";
displayName = CSTRING(s400);
magazines[] = { QGVAR(s400) };
weaponLockDelay = 0.5;
};
};

View File

@ -1,12 +0,0 @@
ace_sam
===================
Adds MIM-104 Patriot, S-400, and RIM-162 missiles
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

View File

@ -1,21 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"
#include "CfgVehicles.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT sam
#define COMPONENT_BEAUTIFIED SAM
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_SAM
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_SAM
#define DEBUG_SETTINGS DEBUG_SETTINGS_SAM
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="SAM">
<Key ID="STR_ACE_SAM_patriot">
<English>MIM-104 Patriot</English>
</Key>
<Key ID="STR_ACE_SAM_patriot_operator">
<English>MIM-104 Operator</English>
</Key>
<Key ID="STR_ACE_SAM_patriot_missile">
<English>Patriot Missile</English>
</Key>
<Key ID="STR_ACE_SAM_essm">
<English>Mk-29 ESSM</English>
</Key>
<Key ID="STR_ACE_SAM_essm_operator">
<English>Mk-29 Operator</English>
</Key>
<Key ID="STR_ACE_SAM_essm_missile">
<English>RIM-162 ESSM</English>
</Key>
<Key ID="STR_ACE_SAM_s400">
<English>S-400</English>
</Key>
<Key ID="STR_ACE_SAM_s400_operator">
<English>S-400 Operator</English>
</Key>
<Key ID="STR_ACE_SAM_s400_missile">
<English>S-400 Missile</English>
</Key>
</Package>
</Project>

View File

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

View File

@ -1,40 +0,0 @@
class CfgAmmo {
class ammo_Bomb_SDB;
class GVAR(sdb): ammo_Bomb_SDB {
author = "Dani (TCVM)";
maneuvrability = 0; // no maneuvrability so that default guidance doesnt work
class ace_missileguidance {
enabled = 1;
pitchRate = 15;
yawRate = 20;
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "GPS";
seekerTypes[] = { "GPS" };
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" };
defaultNavigationType = "LINE";
navigationTypes[] = { "LINE" };
lineGainP = 50;
lineGainD = 0;
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 60; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 5;
seekerMaxRange = 4000; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "JDAM";
attackProfiles[] = {"JDAM"};
};
};
};

View File

@ -1,17 +0,0 @@
class CfgMagazines {
class magazine_Bomb_SDB_x1;
class PylonRack_Bomb_SDB_x4;
class GVAR(magazine_bomb_SDB_x1): magazine_Bomb_SDB_x1 {
displayName = CSTRING(39_1x);
author = "Dani (TCVM)";
ammo = QGVAR(sdb);
};
class GVAR(PylonRack_bomb_SDB_x4): PylonRack_Bomb_SDB_x4 {
displayName = CSTRING(39_4x);
author = "Dani (TCVM)";
ammo = QGVAR(sdb);
pylonWeapon = QGVAR(sdb);
};
};

View File

@ -1,12 +0,0 @@
class CfgWeapons {
class weapon_SDBLauncher;
class GVAR(sdb): weapon_SDBLauncher {
author = "Dani (TCVM)";
displayName = CSTRING(39);
magazines[] = {
QGVAR(magazine_bomb_SDB_x1),
QGVAR(PylonRack_bomb_SDB_x4)
};
};
};

View File

@ -1,12 +0,0 @@
ace_sdb
===================
Adds GBU-39 SDB
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

View File

@ -1,20 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

View File

@ -1,18 +0,0 @@
#define COMPONENT sdb
#define COMPONENT_BEAUTIFIED Small Diameter Bomb
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_SDB
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_SDB
#define DEBUG_SETTINGS DEBUG_SETTINGS_SDB
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="SDB">
<Key ID="STR_ACE_SDB_39">
<English>GBU-39 [ACE]</English>
</Key>
<Key ID="STR_ACE_SDB_39_1x">
<English>1x GBU-39 [ACE]</English>
</Key>
<Key ID="STR_ACE_SDB_39_4x">
<English>4x GBU-39 [ACE]</English>
</Key>
</Package>
</Project>

View File

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

View File

@ -1,46 +0,0 @@
class CfgAmmo {
class M_Scalpel_AT;
class GVAR(9k121): M_Scalpel_AT {
author = "Dani (TCVM)";
maneuvrability = 0;
irLock = 0;
laserLock = 0;
manualControl = 0;
class ace_missileguidance {
enabled = 1;
showTrail = 1;
pitchRate = 60; // Minium flap deflection for guidance
yawRate = 60; // 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 = 8;
lineGainD = 6;
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 15; // 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

@ -1,53 +0,0 @@
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 = "Dani (TCVM)";
displayName = CSTRING(2x);
ammo = QGVAR(9k121);
};
class GVAR(6Rnd): 6Rnd_LG_scalpel {
author = "Dani (TCVM)";
displayName = CSTRING(6x);
ammo = QGVAR(9k121);
};
class GVAR(8Rnd): 8Rnd_LG_scalpel {
author = "Dani (TCVM)";
displayName = CSTRING(8x);
ammo = QGVAR(9k121);
};
class GVAR(PylonRack_1Rnd): PylonRack_1Rnd_LG_scalpel {
author = "Dani (TCVM)";
displayName = CSTRING(1x);
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
class GVAR(PylonMissile_1Rnd): PylonMissile_1Rnd_LG_scalpel {
author = "Dani (TCVM)";
displayName = CSTRING(1x);
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
class GVAR(PylonRack_3Rnd): PylonRack_3Rnd_LG_scalpel {
author = "Dani (TCVM)";
displayName = CSTRING(3x);
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
class GVAR(PylonRack_4Rnd): PylonRack_4Rnd_LG_scalpel {
author = "Dani (TCVM)";
displayName = CSTRING(4x);
ammo = QGVAR(9k121);
pylonWeapon = QGVAR(9k121);
};
};

View File

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

View File

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

View File

@ -1,20 +0,0 @@
#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[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

View File

@ -1,18 +0,0 @@
#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_VIKHR
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Vikhr">
<Key ID="STR_ACE_Vikhr_9k121">
<English>9k121 Vikhr [ACE]</English>
</Key>
<Key ID="STR_ACE_Vikhr_1x">
<English>1x 9k121 Vikhr [ACE]</English>
</Key>
<Key ID="STR_ACE_Vikhr_2x">
<English>2x 9k121 Vikhr [ACE]</English>
</Key>
<Key ID="STR_ACE_Vikhr_3x">
<English>3x 9k121 Vikhr [ACE]</English>
</Key>
<Key ID="STR_ACE_Vikhr_4x">
<English>4x 9k121 Vikhr [ACE]</English>
</Key>
<Key ID="STR_ACE_Vikhr_6x">
<English>6x 9k121 Vikhr [ACE]</English>
</Key>
<Key ID="STR_ACE_Vikhr_8x">
<English>8x 9k121 Vikhr [ACE]</English>
</Key>
</Package>
</Project>