mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Add SAMs
This commit is contained in:
parent
bcb6ed7c68
commit
4897eee25d
1
addons/sam/$PBOPREFIX$
Normal file
1
addons/sam/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
||||
z\ace\addons\sam
|
122
addons/sam/CfgAmmo.hpp
Normal file
122
addons/sam/CfgAmmo.hpp
Normal file
@ -0,0 +1,122 @@
|
||||
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"};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
20
addons/sam/CfgMagazines.hpp
Normal file
20
addons/sam/CfgMagazines.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
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);
|
||||
};
|
||||
};
|
||||
|
75
addons/sam/CfgVehicles.hpp
Normal file
75
addons/sam/CfgVehicles.hpp
Normal file
@ -0,0 +1,75 @@
|
||||
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)
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
26
addons/sam/CfgWeapons.hpp
Normal file
26
addons/sam/CfgWeapons.hpp
Normal file
@ -0,0 +1,26 @@
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
12
addons/sam/README.md
Normal file
12
addons/sam/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
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)
|
||||
|
21
addons/sam/config.cpp
Normal file
21
addons/sam/config.cpp
Normal file
@ -0,0 +1,21 @@
|
||||
#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"
|
||||
|
18
addons/sam/script_component.hpp
Normal file
18
addons/sam/script_component.hpp
Normal file
@ -0,0 +1,18 @@
|
||||
#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"
|
||||
|
32
addons/sam/stringtable.xml
Normal file
32
addons/sam/stringtable.xml
Normal file
@ -0,0 +1,32 @@
|
||||
<?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>
|
Loading…
Reference in New Issue
Block a user