From a6a19e956be98a1253addbba0aaa61f6f05073fd Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 9 Apr 2015 19:59:08 +0200 Subject: [PATCH] flashsupressors for new weapons, #264 --- addons/flashsuppressors/CfgVehicles.hpp | 8 + addons/flashsuppressors/CfgWeapons.hpp | 318 ++++++++++++++++++++++++ addons/flashsuppressors/config.cpp | 10 +- addons/flashsuppressors/newclasses.txt | 2 + addons/flashsuppressors/stringtable.xml | 24 ++ addons/magazines/CfgWeapons.hpp | 154 +----------- 6 files changed, 362 insertions(+), 154 deletions(-) diff --git a/addons/flashsuppressors/CfgVehicles.hpp b/addons/flashsuppressors/CfgVehicles.hpp index a973518b91..e76f0b8776 100644 --- a/addons/flashsuppressors/CfgVehicles.hpp +++ b/addons/flashsuppressors/CfgVehicles.hpp @@ -7,6 +7,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_B,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; @@ -17,6 +19,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_B,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; @@ -28,6 +32,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_L,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; @@ -38,6 +44,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_muzzle_mzls_L,2); MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,2); MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,2); + MACRO_ADDITEM(ACE_muzzle_mzls_338,5); + MACRO_ADDITEM(ACE_muzzle_mzls_93mmg,5); }; }; }; diff --git a/addons/flashsuppressors/CfgWeapons.hpp b/addons/flashsuppressors/CfgWeapons.hpp index 973d438961..c070ada18d 100644 --- a/addons/flashsuppressors/CfgWeapons.hpp +++ b/addons/flashsuppressors/CfgWeapons.hpp @@ -1,5 +1,231 @@ +class MuzzleSlot; + class CfgWeapons { + + /* MX */ + + class Rifle; + class Rifle_Base_F: Rifle { + class WeaponSlotsInfo; + }; + + class arifle_MX_Base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class arifle_MX_SW_F: arifle_MX_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + // Shit is broken again + //compatibleItems[] += {"ACE_muzzle_mzls_H"}; + compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; + }; + }; + }; + + + /* Katiba */ + + class arifle_katiba_Base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + + /* Other */ + + class Rifle_Long_Base_F: Rifle_Base_F { + class WeaponSlotsInfo; + }; + + class EBR_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_02_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_338"}; + }; + }; + }; + + class DMR_03_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_93mmg"}; + }; + }; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class MMG_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_93mmg"}; + }; + }; + }; + + class MMG_02_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_338"}; + }; + }; + }; + + class LMG_Mk200_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class LMG_Zafir_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + + /* Assault Rifles */ + + class Tavor_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; + }; + + class mk20_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; + }; + + + /* SMGs */ + + class pdw2000_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class SMG_01_Base: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class SMG_02_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + + /* Pistols */ + + class Pistol; + class Pistol_Base_F: Pistol { + class WeaponSlotsInfo; + }; + + class hgun_P07_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_Rook40_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_ACPC2_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class hgun_Pistol_heavy_01_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + /*class hgun_Pistol_heavy_02_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + };*/ + + + /* Flashsuppressors */ + class ItemCore; class InventoryMuzzleItem_Base_F; @@ -239,4 +465,96 @@ class CfgWeapons { inertia = 0.1; }; + + class ACE_muzzle_mzls_338: ACE_muzzle_mzls_H { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_muzzle_mzls_338"; + displayName = "$STR_ACE_muzzle_mzls_338"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; + + class ItemInfo: ItemInfo { + mass = 8; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.2; + }; + + class ACE_muzzle_mzls_93mmg: ACE_muzzle_mzls_H { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_muzzle_mzls_93mmg"; + displayName = "$STR_ACE_muzzle_mzls_93mmg"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; + + class ItemInfo: ItemInfo { + mass = 8; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.2; + }; }; diff --git a/addons/flashsuppressors/config.cpp b/addons/flashsuppressors/config.cpp index 6f94efba1d..10b9622d17 100644 --- a/addons/flashsuppressors/config.cpp +++ b/addons/flashsuppressors/config.cpp @@ -3,7 +3,15 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_muzzle_mzls_H","ACE_muzzle_mzls_B","ACE_muzzle_mzls_L","ACE_muzzle_mzls_smg_01","ACE_muzzle_mzls_smg_02"}; + weapons[] = { + "ACE_muzzle_mzls_H", + "ACE_muzzle_mzls_B", + "ACE_muzzle_mzls_L", + "ACE_muzzle_mzls_smg_01", + "ACE_muzzle_mzls_smg_02", + "ACE_muzzle_mzls_338", + "ACE_muzzle_mzls_93mmg" + }; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author[] = {"commy2"}; diff --git a/addons/flashsuppressors/newclasses.txt b/addons/flashsuppressors/newclasses.txt index 5e9543fa37..7030b80857 100644 --- a/addons/flashsuppressors/newclasses.txt +++ b/addons/flashsuppressors/newclasses.txt @@ -4,3 +4,5 @@ ACE_muzzle_mzls_B ACE_muzzle_mzls_L ACE_muzzle_mzls_smg_01 ACE_muzzle_mzls_smg_02 +ACE_muzzle_mzls_338 +ACE_muzzle_mzls_93mmg diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 3f6cc7b0d2..7490ce42a6 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -62,5 +62,29 @@ Пламегаситель (9 мм) Supresor (9 mm) + + Flash Suppressor (.338) + Lángrejtő (.338) + Mündungsfeuerdämpfer (.338) + Soppressore di fiamma (.338) + Supressor de Clarão (.338) + Tłumik płomieni (.338) + Tlumič záblesku (.338) + Cache-flamme (.338) + Пламегаситель (.338) + Supresor (.338) + + + Flash Suppressor (9.3 mm) + Lángrejtő (9,3 mm) + Mündungsfeuerdämpfer (9,3 mm) + Soppressore di fiamma (9.3mm) + Supressor de Clarão (9,3mm) + Tłumik płomieni (9,3 mm) + Tlumič záblesku (9,3 mm) + Cache-flamme (9,3 mm) + Пламегаситель (9,3 мм) + Supresor (9,3 mm) + diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp index 46344d5f06..e51a708590 100644 --- a/addons/magazines/CfgWeapons.hpp +++ b/addons/magazines/CfgWeapons.hpp @@ -1,15 +1,9 @@ -class SlotInfo; -class MuzzleSlot; class CfgWeapons { /* MX */ - class Rifle; - class Rifle_Base_F: Rifle { - class WeaponSlotsInfo; - }; - + class Rifle_Base_F; class arifle_MX_Base_F: Rifle_Base_F { magazines[] += { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", @@ -18,12 +12,6 @@ class CfgWeapons { "100Rnd_65x39_caseless_mag", "100Rnd_65x39_caseless_mag_Tracer" }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_H"}; - }; - }; }; class arifle_MX_SW_F: arifle_MX_Base_F { @@ -31,14 +19,6 @@ class CfgWeapons { "30Rnd_65x39_caseless_mag", "30Rnd_65x39_caseless_mag_Tracer" }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - // Shit is broken again - //compatibleItems[] += {"ACE_muzzle_mzls_H"}; - compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; - }; - }; }; class arifle_MXM_F: arifle_MX_Base_F { @@ -57,51 +37,6 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_SD", "ACE_30Rnd_65x39_caseless_green_mag_AP" }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_H"}; - }; - }; - }; - - - /* Other */ - - class Rifle_Long_Base_F: Rifle_Base_F { - class WeaponSlotsInfo; - }; - - class EBR_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; - }; - }; - - class DMR_01_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; - }; - }; - - class LMG_Mk200_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_H"}; - }; - }; - }; - - class LMG_Zafir_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; - }; }; @@ -113,12 +48,6 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_SD", "ACE_30Rnd_556x45_Stanag_AP" }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_L"}; - }; - }; }; class mk20_base_F: Rifle_Base_F { @@ -127,12 +56,6 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_SD", "ACE_30Rnd_556x45_Stanag_AP" }; - - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_L"}; - }; - }; }; @@ -146,81 +69,6 @@ class CfgWeapons { }; }; - class pdw2000_base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - class SMG_01_Base: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - }; - - class SMG_02_base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - - /* Pistols */ - - class Pistol; - class Pistol_Base_F: Pistol { - class WeaponSlotsInfo; - }; - - class hgun_P07_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - class hgun_Rook40_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; - }; - }; - }; - - class hgun_ACPC2_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - }; - - class hgun_Pistol_heavy_01_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - }; - - /*class hgun_Pistol_heavy_02_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; - }; - }; - };*/ - /* Silencers */