From bc21e3b025f29302f6d534e3adf54cde79a191a6 Mon Sep 17 00:00:00 2001 From: Bailey Danyluk Date: Thu, 29 Aug 2024 23:45:07 -0600 Subject: [PATCH] change all default missiles to use types --- addons/dragon/CfgAmmo.hpp | 64 +-------------- addons/hellfire/CfgAmmo.hpp | 42 +--------- addons/hot/CfgAmmo.hpp | 39 +-------- addons/maverick/CfgAmmo.hpp | 63 ++------------- addons/metis/CfgAmmo.hpp | 71 +---------------- addons/missileguidance/CfgAmmo.hpp | 79 ++----------------- .../missileguidance/CfgMissileTypesNato.hpp | 52 ++++++------ .../missileguidance/CfgMissileTypesWarsaw.hpp | 50 ++++++------ addons/nlaw/CfgAmmo.hpp | 34 +------- 9 files changed, 75 insertions(+), 419 deletions(-) diff --git a/addons/dragon/CfgAmmo.hpp b/addons/dragon/CfgAmmo.hpp index 22630e03b0..0054bb3c2d 100644 --- a/addons/dragon/CfgAmmo.hpp +++ b/addons/dragon/CfgAmmo.hpp @@ -1,4 +1,5 @@ class CfgAmmo { + class ace_missileguidance_type_Dragon; class ammo_Penetrator_Base; class M_Scalpel_AT; class Rocket_03_AP_F; @@ -37,41 +38,7 @@ class CfgAmmo { EGVAR(vehicle_damage,incendiary) = 1.0; - class ace_missileguidance { - pitchRate = 0; - yawRate = 0; - - canVanillaLock = 0; - - // Guidance type for munitions - defaultSeekerType = "SACLOS"; - seekerTypes[] = { "SACLOS" }; - - defaultSeekerLockMode = "LOAL"; - seekerLockModes[] = { "LOAL", "LOBL" }; - - defaultNavigationType = "LineOfSight"; - navigationTypes[] = { "LineOfSight" }; - - seekLastTargetPos = 0; - seekerAngle = 30; - seekerAccuracy = 1; - - seekerMinRange = 65; - seekerMaxRange = 1000; - - correctionDistance = 30; - missileLeadDistance = 0; - offsetFromCrosshair[] = { 0, 0, 0 }; - - serviceInterval = 0.33; // how many seconds between pops - serviceCharges = 32; // how many charges are in this missile - serviceChargeAcceleration = 6.5; - dragonSpeed = 100; // meters per second - - defaultAttackProfile = "DRAGON"; - attackProfiles[] = {"DRAGON"}; - }; + class ace_missileguidance: ace_missileguidance_type_Dragon {}; }; class GVAR(super): GVAR(dragonBase) { @@ -81,36 +48,11 @@ class CfgAmmo { submunitionParentSpeedCoef = 0; submunitionInitialOffset[] = { 0, 0, -0.2 }; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance { enabled = 1; - - pitchRate = 0; - yawRate = 0; - - // Guidance type for munitions - defaultSeekerType = "SACLOS"; - seekerTypes[] = { "SACLOS" }; - - defaultSeekerLockMode = "LOAL"; - seekerLockModes[] = { "LOAL", "LOBL" }; - - seekLastTargetPos = 0; - seekerAngle = 30; - seekerAccuracy = 1; - seekerMinRange = 30; seekerMaxRange = 1500; - - correctionDistance = 30; - missileLeadDistance = 0; - - serviceInterval = 0.33; // how many seconds between pops serviceCharges = 60; // how many charges are in this missile - serviceChargeAcceleration = 6.5; - dragonSpeed = 100; // meters per second - - defaultAttackProfile = "DRAGON"; - attackProfiles[] = {"DRAGON"}; }; }; diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index 02346deac3..6d5567cb65 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -1,5 +1,6 @@ class CfgAmmo { class M_Scalpel_AT; + class ace_missileguidance_type_Hellfire; class ACE_Hellfire_AGM114K: M_Scalpel_AT { displayName = "AGM-114K"; @@ -23,47 +24,8 @@ class CfgAmmo { EGVAR(rearm,caliber) = 178; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Hellfire { enabled = 1; - - pitchRate = 30; // degrees per second - yawRate = 30; - - canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode - - // Guidance type for munitions - defaultSeekerType = "SALH"; - seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" }; - - defaultSeekerLockMode = "LOAL"; - seekerLockModes[] = { "LOAL", "LOBL" }; - - defaultNavigationType = "Direct"; - navigationTypes[] = { "Direct", "ZeroEffortMiss" }; - - seekLastTargetPos = 1; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 70; // Angle in front of the missile which can be searched - seekerAccuracy = 1; // seeker accuracy multiplier - - seekerMinRange = 1; - seekerMaxRange = 8000; // Range from the missile which the seeker can visually search - - // Attack profile type selection - defaultAttackProfile = "hellfire"; - attackProfiles[] = {"hellfire", "hellfire_hi", "hellfire_lo"}; - - class navigationStates { - class initial { - transitionCondition = QFUNC(midCourseTransition); - navigationType = "Direct"; - }; - class terminal { - transitionCondition = ""; - navigationType = "ZeroEffortMiss"; - }; - // transitions from initial -> termimal - states[] = {"initial", "terminal"}; - }; }; }; class ACE_Hellfire_AGM114N: ACE_Hellfire_AGM114K { diff --git a/addons/hot/CfgAmmo.hpp b/addons/hot/CfgAmmo.hpp index c5978b6d92..563d3ba7ce 100644 --- a/addons/hot/CfgAmmo.hpp +++ b/addons/hot/CfgAmmo.hpp @@ -1,6 +1,7 @@ class CfgAmmo { class M_Scalpel_AT; class ammo_Penetrator_Base; + class ace_missileguidance_type_Hot; class GVAR(ammo_Penetrator_HOT1): ammo_Penetrator_Base { caliber = 60; @@ -55,43 +56,8 @@ class CfgAmmo { EGVAR(rearm,caliber) = 178; EGVAR(vehicle_damage,incendiary) = 1.0; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Hot { 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"}; }; }; @@ -143,6 +109,7 @@ class CfgAmmo { class ace_missileguidance: ace_missileguidance { enabled = 1; seekerMaxRange = 4300; + offsetFromCrosshair[] = { 0, 0, 0.5 }; // where the missile wants to stay in relation to the center of the crosshair. }; }; }; diff --git a/addons/maverick/CfgAmmo.hpp b/addons/maverick/CfgAmmo.hpp index 7e66e2edee..374577de0d 100644 --- a/addons/maverick/CfgAmmo.hpp +++ b/addons/maverick/CfgAmmo.hpp @@ -1,4 +1,5 @@ class CfgAmmo { + class ace_missileguidance_type_Maverick; class MissileCore; class MissileBase: MissileCore { class Components; @@ -9,32 +10,8 @@ class CfgAmmo { author = "Dani (TCVM)"; missileLockMaxDistance = 14000; maneuvrability = 0; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Maverick { enabled = 1; - - pitchRate = 15; - yawRate = 15; - - canVanillaLock = 1; - - defaultSeekerType = "Optic"; - seekerTypes[] = {"Optic"}; - - defaultSeekerLockMode = "LOBL"; - seekerLockModes[] = {"LOBL"}; - - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; - - seekLastTargetPos = 1; - seekerAngle = 60; - seekerAccuracy = 1; - - seekerMinRange = 1; - seekerMaxRange = 14000; - - defaultAttackProfile = "maverick"; - attackProfiles[] = {"maverick"}; }; }; @@ -52,32 +29,15 @@ class CfgAmmo { manualControl = 0; missileLockMaxDistance = 16000; weaponLockSystem = 4; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Maverick { enabled = 1; - - pitchRate = 15; - yawRate = 15; - - canVanillaLock = 0; - defaultSeekerType = "SALH"; seekerTypes[] = {"SALH"}; defaultSeekerLockMode = "LOAL"; - seekerLockModes[] = {"LOAL","LOBL"}; + seekerLockModes[] = {"LOAL"}; - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; - - seekLastTargetPos = 1; - seekerAngle = 60; - seekerAccuracy = 1; - - seekerMinRange = 1; seekerMaxRange = 16000; - - defaultAttackProfile = "maverick"; - attackProfiles[] = {"maverick"}; }; }; @@ -87,32 +47,19 @@ class CfgAmmo { irLock = 0; missileLockMaxDistance = 10000; weaponLockSystem = 4; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Maverick { enabled = 1; - pitchRate = 20; yawRate = 20; - canVanillaLock = 0; - defaultSeekerType = "SALH"; seekerTypes[] = {"SALH"}; defaultSeekerLockMode = "LOAL"; seekerLockModes[] = {"LOAL"}; - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; - - seekLastTargetPos = 1; seekerAngle = 40; - seekerAccuracy = 1; - - seekerMinRange = 1; seekerMaxRange = 10000; - - defaultAttackProfile = "maverick"; - attackProfiles[] = {"maverick"}; }; }; }; diff --git a/addons/metis/CfgAmmo.hpp b/addons/metis/CfgAmmo.hpp index c070343253..8647746f72 100644 --- a/addons/metis/CfgAmmo.hpp +++ b/addons/metis/CfgAmmo.hpp @@ -1,5 +1,6 @@ class CfgAmmo { class M_Vorona_HEAT; + class ace_missileguidance_type_Metis; class GVAR(HEAT): M_Vorona_HEAT { manualControl = 0; irLock = 0; @@ -7,42 +8,8 @@ class CfgAmmo { airLock = 0; lockType = 0; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Metis { enabled = 1; - - pitchRate = 50; // Minium flap deflection for guidance - yawRate = 50; // Maximum flap deflection for guidance - initialPitch = 2; - - 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 = 10; - lineGainD = 9; - - 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 = 80; - seekerMaxRange = 2000; // Range from the missile which the seeker can visually search - - offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. - - // Attack profile type selection - defaultAttackProfile = "WIRE"; - attackProfiles[] = {"WIRE"}; }; }; @@ -54,40 +21,8 @@ class CfgAmmo { airLock = 0; lockType = 0; - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Metis { enabled = 1; - - pitchRate = 25; // Minium flap deflection for guidance - yawRate = 25; // Maximum flap deflection for guidance - - canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode - - // Guidance type for munitions - defaultSeekerType = "SACLOS"; - seekerTypes[] = { "SACLOS" }; - - defaultSeekerLockMode = "LOAL"; - seekerLockModes[] = { "LOAL", "LOBL" }; - - defaultNavigationType = "Line"; - navigationTypes[] = { "Line" }; - - lineGainP = 21; - lineGainD = 18; - - 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 = 80; - seekerMaxRange = 2000; // Range from the missile which the seeker can visually search - - correctionDistance = 1; // distance from center of crosshair where missile slows down - offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. - - // Attack profile type selection - defaultAttackProfile = "WIRE"; - attackProfiles[] = {"WIRE"}; }; }; }; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index 464763166b..a73561d348 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -1,4 +1,5 @@ class CfgAmmo { + class Default; #include "CfgMissileTypesNato.hpp" #include "CfgMissileTypesWarsaw.hpp" class MissileBase; @@ -19,33 +20,8 @@ class CfgAmmo { EGVAR(rearm,caliber) = 70; - class ADDON { + class ADDON: GVAR(type_Dagr) { enabled = 1; - - pitchRate = 40; // degrees per second - yawRate = 40; - - 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", "LOBL" }; - - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; - - seekerAngle = 90; // Angle in front of the missile which can be searched - seekerAccuracy = 1; // seeker accuracy multiplier - - seekerMinRange = 1; - seekerMaxRange = 2500; // Range from the missile which the seeker can visually search - - // Attack profile type selection - defaultAttackProfile = "LIN"; - attackProfiles[] = { "LIN", "DIR", "MID", "HI" }; }; }; @@ -70,53 +46,8 @@ class CfgAmmo { initTime = 0.5; // Begin ACE guidance Configs - class ADDON { + class ADDON: GVAR(type_Javelin) { enabled = 1; - - pitchRate = 100; // degrees per second - yawRate = 100; - stabilityCoefficient = 0.2; - bangBangGuidance = 0; - - canVanillaLock = 0; - - // Guidance type for munitions - defaultSeekerType = "Optic"; - seekerTypes[] = { "Optic" }; - - defaultSeekerLockMode = "LOBL"; - seekerLockModes[] = { "LOBL" }; - - defaultNavigationType = "Direct"; - navigationTypes[] = { "Direct", "ZeroEffortMiss" }; - - navigationGain = 3; - - seekerAngle = 180; // Angle in front of the missile which can be searched - seekerAccuracy = 1; // seeker accuracy multiplier - - seekerMinRange = 0; - seekerMaxRange = 2500; // Range from the missile which the seeker can visually search - - seekLastTargetPos = 1; // seek last target position [if seeker loses LOS of target, continue to last known pos] - - // Attack profile type selection - defaultAttackProfile = "JAV_TOP"; - attackProfiles[] = { "JAV_TOP", "JAV_DIR" }; - useModeForAttackProfile = 1; - - class navigationStates { - class initial { - transitionCondition = QFUNC(javelin_midCourseTransition); - navigationType = "Direct"; - }; - class terminal { - transitionCondition = ""; - navigationType = "ZeroEffortMiss"; - }; - // transitions from initial -> termimal - states[] = {"initial", "terminal"}; - }; }; }; class ACE_Javelin_FGM148_static: ACE_Javelin_FGM148 { @@ -125,6 +56,8 @@ class CfgAmmo { effectsMissileInit = "RocketBackEffectsStaticRPG"; //Explicity add guidance config - class ADDON: ADDON {}; + class ADDON: ADDON { + enabled = 1; + }; }; }; diff --git a/addons/missileguidance/CfgMissileTypesNato.hpp b/addons/missileguidance/CfgMissileTypesNato.hpp index f8137b59c0..4923edba57 100644 --- a/addons/missileguidance/CfgMissileTypesNato.hpp +++ b/addons/missileguidance/CfgMissileTypesNato.hpp @@ -1,4 +1,4 @@ -class GVAR(type_AMRAAM) { +class GVAR(type_AMRAAM): Default { enabled = 1; pitchRate = 30; // Minium flap deflection for guidance @@ -34,7 +34,7 @@ class GVAR(type_AMRAAM) { useModeForAttackProfile = 1; }; -class GVAR(type_ASRAAM) { +class GVAR(type_ASRAAM): Default { enabled = 1; pitchRate = 100; // Minium flap deflection for guidance @@ -67,7 +67,7 @@ class GVAR(type_ASRAAM) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Dagr) { +class GVAR(type_Dagr): Default { enabled = 0; pitchRate = 40; // degrees per second @@ -96,7 +96,7 @@ class GVAR(type_Dagr) { attackProfiles[] = { "LIN", "DIR", "MID", "HI" }; }; -class GVAR(type_Dragon) { +class GVAR(type_Dragon): Default { enabled = 0; pitchRate = 0; @@ -134,7 +134,7 @@ class GVAR(type_Dragon) { attackProfiles[] = {"DRAGON"}; }; -class GVAR(type_ESSM) { +class GVAR(type_ESSM): Default { enabled = 0; pitchRate = 15; // Minium flap deflection for guidance @@ -169,7 +169,7 @@ class GVAR(type_ESSM) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Hellfire) { +class GVAR(type_Hellfire): Default { enabled = 0; pitchRate = 30; // degrees per second @@ -198,12 +198,12 @@ class GVAR(type_Hellfire) { defaultAttackProfile = "hellfire"; attackProfiles[] = {"hellfire", "hellfire_hi", "hellfire_lo"}; - class navigationStates { - class initial { + class navigationStates: Default { + class initial: Default { transitionCondition = QEFUNC(hellfire,midCourseTransition); navigationType = "Direct"; }; - class terminal { + class terminal: Default { transitionCondition = ""; navigationType = "ZeroEffortMiss"; }; @@ -212,7 +212,7 @@ class GVAR(type_Hellfire) { }; }; -class GVAR(type_HOT) { +class GVAR(type_Hot): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -251,7 +251,7 @@ class GVAR(type_HOT) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Javelin) { +class GVAR(type_Javelin): Default { enabled = 0; pitchRate = 120; // degrees per second @@ -286,12 +286,12 @@ class GVAR(type_Javelin) { attackProfiles[] = { "JAV_TOP", "JAV_DIR" }; useModeForAttackProfile = 1; - class navigationStates { - class initial { + class navigationStates: Default { + class initial: Default { transitionCondition = QFUNC(javelin_midCourseTransition); navigationType = "Direct"; }; - class terminal { + class terminal: Default { transitionCondition = ""; navigationType = "ZeroEffortMiss"; }; @@ -300,7 +300,7 @@ class GVAR(type_Javelin) { }; }; -class GVAR(type_Jdam) { +class GVAR(type_Jdam): Default { enabled = 0; pitchRate = 15; @@ -333,7 +333,7 @@ class GVAR(type_Jdam) { attackProfiles[] = {"JDAM"}; }; -class GVAR(type_Maverick) { +class GVAR(type_Maverick): Default { enabled = 0; pitchRate = 15; @@ -361,7 +361,7 @@ class GVAR(type_Maverick) { attackProfiles[] = {"maverick"}; }; -class GVAR(type_Milan) { +class GVAR(type_Milan): Default { enabled = 0; pitchRate = 60; // Minium flap deflection for guidance @@ -400,7 +400,7 @@ class GVAR(type_Milan) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Nlaw) { +class GVAR(type_Nlaw): Default { enabled = 0; pitchRate = 5; // Minium flap deflection for guidance @@ -435,7 +435,7 @@ class GVAR(type_Nlaw) { onFired = QEFUNC(nlaw,onFired); }; -class GVAR(type_Patriot) { +class GVAR(type_Patriot): Default { enabled = 0; pitchRate = 30; // Minium flap deflection for guidance @@ -470,7 +470,7 @@ class GVAR(type_Patriot) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Paveway) { +class GVAR(type_Paveway): Default { enabled = 0; pitchRate = 5; @@ -503,7 +503,7 @@ class GVAR(type_Paveway) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_RAM) { +class GVAR(type_RAM): Default { enabled = 0; pitchRate = 50; // Minium flap deflection for guidance @@ -536,7 +536,7 @@ class GVAR(type_RAM) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_RBS70) { +class GVAR(type_RBS70): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -576,7 +576,7 @@ class GVAR(type_RBS70) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Redeye) { +class GVAR(type_Redeye): Default { enabled = 0; pitchRate = 27; // Minium flap deflection for guidance @@ -609,7 +609,7 @@ class GVAR(type_Redeye) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Sidewinder) { +class GVAR(type_Sidewinder): Default { enabled = 0; pitchRate = 25; // Minium flap deflection for guidance @@ -642,7 +642,7 @@ class GVAR(type_Sidewinder) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Stinger) { +class GVAR(type_Stinger): Default { enabled = 0; pitchRate = 42; // Minium flap deflection for guidance @@ -675,7 +675,7 @@ class GVAR(type_Stinger) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_TOW) { +class GVAR(type_TOW): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance diff --git a/addons/missileguidance/CfgMissileTypesWarsaw.hpp b/addons/missileguidance/CfgMissileTypesWarsaw.hpp index 4dbe81bbbf..c1cb8ef4af 100644 --- a/addons/missileguidance/CfgMissileTypesWarsaw.hpp +++ b/addons/missileguidance/CfgMissileTypesWarsaw.hpp @@ -1,4 +1,4 @@ -class GVAR(type_Ataka) { +class GVAR(type_Ataka): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -37,7 +37,7 @@ class GVAR(type_Ataka) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Bastion) { +class GVAR(type_Bastion): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -76,7 +76,7 @@ class GVAR(type_Bastion) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Drakon) { +class GVAR(type_Drakon): Default { enabled = 0; pitchRate = 25; // Minium flap deflection for guidance @@ -116,7 +116,7 @@ class GVAR(type_Drakon) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Fagot) { +class GVAR(type_Fagot): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -156,7 +156,7 @@ class GVAR(type_Fagot) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Falanga) { +class GVAR(type_Falanga): Default { enabled = 0; pitchRate = 15; // Minium flap deflection for guidance @@ -194,7 +194,7 @@ class GVAR(type_Falanga) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Fleyta) { +class GVAR(type_Fleyta): Default { enabled = 0; pitchRate = 15; // Minium flap deflection for guidance @@ -232,7 +232,7 @@ class GVAR(type_Fleyta) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Igla) { +class GVAR(type_Igla): Default { enabled = 0; pitchRate = 30; // Minium flap deflection for guidance @@ -265,7 +265,7 @@ class GVAR(type_Igla) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_KAB) { +class GVAR(type_KAB): Default { enabled = 0; pitchRate = 8; @@ -298,7 +298,7 @@ class GVAR(type_KAB) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_KH25) { +class GVAR(type_KH25): Default { enabled = 0; pitchRate = 20; @@ -326,7 +326,7 @@ class GVAR(type_KH25) { attackProfiles[] = {"maverick"}; }; -class GVAR(type_KH29) { +class GVAR(type_KH29): Default { enabled = 0; pitchRate = 20; @@ -354,7 +354,7 @@ class GVAR(type_KH29) { attackProfiles[] = {"maverick"}; }; -class GVAR(type_Kobra) { +class GVAR(type_Kobra): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -394,7 +394,7 @@ class GVAR(type_Kobra) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Konkurs) { +class GVAR(type_Konkurs): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -433,7 +433,7 @@ class GVAR(type_Konkurs) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Kornet) { +class GVAR(type_Kornet): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -473,7 +473,7 @@ class GVAR(type_Kornet) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Malyutka) { +class GVAR(type_Malyutka): Default { enabled = 0; pitchRate = 15; // Minium flap deflection for guidance @@ -511,7 +511,7 @@ class GVAR(type_Malyutka) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Metis) { +class GVAR(type_Metis): Default { enabled = 0; pitchRate = 50; // Minium flap deflection for guidance @@ -550,7 +550,7 @@ class GVAR(type_Metis) { attackProfiles[] = {"WIRE"}; }; -class GVAR(type_Molniya) { +class GVAR(type_Molniya): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -583,7 +583,7 @@ class GVAR(type_Molniya) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_R73) { +class GVAR(type_R73): Default { enabled = 0; pitchRate = 35; // Minium flap deflection for guidance @@ -616,7 +616,7 @@ class GVAR(type_R73) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_R74) { +class GVAR(type_R74): Default { enabled = 1; pitchRate = 50; // Minium flap deflection for guidance @@ -649,7 +649,7 @@ class GVAR(type_R74) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_R77) { +class GVAR(type_R77): Default { enabled = 0; pitchRate = 40; // Minium flap deflection for guidance @@ -685,7 +685,7 @@ class GVAR(type_R77) { useModeForAttackProfile = 1; }; -class GVAR(type_Refleks) { +class GVAR(type_Refleks): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -725,7 +725,7 @@ class GVAR(type_Refleks) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_S400) { +class GVAR(type_S400): Default { enabled = 0; pitchRate = 25; // Minium flap deflection for guidance @@ -760,7 +760,7 @@ class GVAR(type_S400) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Shturm) { +class GVAR(type_Shturm): Default { enabled = 0; pitchRate = 45; // Minium flap deflection for guidance @@ -799,7 +799,7 @@ class GVAR(type_Shturm) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Strela) { +class GVAR(type_Strela): Default { enabled = 0; pitchRate = 30; // Minium flap deflection for guidance @@ -832,7 +832,7 @@ class GVAR(type_Strela) { attackProfiles[] = {"DIR"}; }; -class GVAR(type_Vikhr) { +class GVAR(type_Vikhr): Default { enabled = 0; showTrail = 1; @@ -867,7 +867,7 @@ class GVAR(type_Vikhr) { attackProfiles[] = {"BEAM"}; }; -class GVAR(type_Vympel) { +class GVAR(type_Vympel): Default { enabled = 0; pitchRate = 35; // Minium flap deflection for guidance diff --git a/addons/nlaw/CfgAmmo.hpp b/addons/nlaw/CfgAmmo.hpp index f572678d20..943ebe9184 100644 --- a/addons/nlaw/CfgAmmo.hpp +++ b/addons/nlaw/CfgAmmo.hpp @@ -1,41 +1,11 @@ class CfgAmmo { + class ace_missileguidance_type_Nlaw; class M_NLAW_AT_F; class ACE_NLAW: M_NLAW_AT_F { hit = 400; // Default was 500 indirectHit = 20; // Default was 15 - class ace_missileguidance { + class ace_missileguidance: ace_missileguidance_type_Nlaw { enabled = 1; - - pitchRate = 5; // Minium flap deflection for guidance - yawRate = 10; // Maximum flap deflection for guidance - - canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode - - // Guidance type for munitions - defaultSeekerType = QGVAR(seeker); - seekerTypes[] = {QGVAR(seeker)}; - - defaultSeekerLockMode = "LOBL"; - seekerLockModes[] = {"LOBL"}; - - defaultNavigationType = QGVAR(PLOS); - navigationTypes[] = { QGVAR(PLOS) }; - - seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 45; // Angle in front of the missile which can be searched - seekerAccuracy = 1; // seeker accuracy multiplier - - seekerMinRange = 0; - seekerMaxRange = 10; // Range from the missile which the seeker can visually search - - // Attack profile type selection - defaultAttackProfile = QGVAR(directAttack); - attackProfiles[] = {QGVAR(directAttack), QGVAR(overflyTopAttack)}; - useModeForAttackProfile = 1; - showHintOnCycle = 1; - - // Run once at fired event - onFired = QFUNC(onFired); }; };