248 lines
9.4 KiB
C++
248 lines
9.4 KiB
C++
#include "basicdefines_A3.hpp"
|
|
|
|
class CfgPatches
|
|
{
|
|
class AMF_PGM_ULTIMA_RATIO
|
|
{
|
|
units[] = {};
|
|
weapons[] =
|
|
{
|
|
"braf_pgm_ultimaratio"
|
|
};
|
|
requiredVersion = 0.1;
|
|
requiredAddons[] =
|
|
{
|
|
"A3_Weapons_F",
|
|
"cba_main",
|
|
"A3_Anims_F",
|
|
};
|
|
};
|
|
};
|
|
|
|
class Extended_PreInit_EventHandlers
|
|
{
|
|
bg_wepframework_init = "call ('\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\XEH_INIT.sqf' call SLX_XEH_COMPILE)";
|
|
};
|
|
|
|
class Extended_FiredBIS_Eventhandlers
|
|
{
|
|
class CAManBase
|
|
{
|
|
bg_wepframe_fired = "_this call bg_wepframe_fired_eh";
|
|
};
|
|
};
|
|
|
|
class Mode_SemiAuto;
|
|
class MuzzleSlot;
|
|
class CowsSlot;
|
|
class PointerSlot;
|
|
class UnderBarrelSlot;
|
|
|
|
class CfgWeapons
|
|
{
|
|
class Rifle_Base_F;
|
|
class Rifle_Long_Base_F : Rifle_Base_F
|
|
{
|
|
class WeaponSlotsInfo;
|
|
class GunParticles;
|
|
};
|
|
class braf_pgm_ultimaratio : Rifle_Long_Base_F
|
|
{
|
|
ACE_barrelTwist = 290;
|
|
ACE_barrelLength = 550;
|
|
author = "Wisexe & AMF Team";
|
|
scope = 2;
|
|
_generalMacro = "AMF_PGM_ULTIMA_RATIO_01_F";
|
|
model = "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\PGM_UltimaRatio.p3d";
|
|
displayName = "PGM Ultima Ratio";
|
|
picture = "\braf\braf_weapons_sniper_rifles\762mm_PGM_Ultima_Ratio\Data\UI\AMF_PGM_ULTIMA_RATIO_GEAR.paa";
|
|
deployedPivot = "bipod"; /// what point should be used to be on surface while unfolded
|
|
//soundBipodDown[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_BLU_down", db - 3, 1, 20}; /// what sound should be played during unfolding
|
|
//soundBipodUp[] = {"A3\Sounds_F_Mark\arsenal\sfx\bipods\Bipod_BLU_up", db - 3, 1, 20}; /// what sound should be played during folding
|
|
magazines[] =
|
|
{
|
|
"10Rnd_762x51_Mag",
|
|
};
|
|
cursor = "srifle";
|
|
class Library
|
|
{
|
|
libTextDesc = "PGM ultima Ratio";
|
|
};
|
|
inertia = 1.2;
|
|
dexterity = 1.0;
|
|
reloadAction = "GestureReloadLRR";
|
|
recoil = "recoil_dmr_02";
|
|
maxZeroing = 2000;
|
|
descriptionShort = "AMF PGM ULTIMA RATIO";
|
|
class ItemInfo
|
|
{
|
|
priority = 1;
|
|
};
|
|
class bg_weaponparameters
|
|
{
|
|
class onFired_Action
|
|
{
|
|
HandAction = "AMF_PGM_ULTIMA_RATIO_Gesture_Rechamber";
|
|
Actiondelay = 0.02;
|
|
Sound = "AMF_PGM_ULTIMA_RATIO_BOLT_SOUND";
|
|
Sound_Location = "RightHandMiddle1";
|
|
hasOptic = 0;
|
|
};
|
|
};
|
|
handAnim[] =
|
|
{
|
|
"OFP2_ManSkeleton",
|
|
"\braf\braf_weapons_anim\animations\762mm_PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.rtm",
|
|
};
|
|
opticsPPEffects[] = {};
|
|
opticsFlare = 1;
|
|
opticsDisablePeripherialVision = 1;
|
|
class GunParticles
|
|
{
|
|
class FirstEffect
|
|
{
|
|
effectName = "SniperCloud";
|
|
positionName = "Usti hlavne";
|
|
directionName = "Konec hlavne";
|
|
};
|
|
};
|
|
distanceZoomMin = 500;
|
|
distanceZoomMax = 500;
|
|
modes[] = {"Single", "single_close_optics1", "single_medium_optics1", "single_far_optics1"};
|
|
reloadMagazineSound[] = {"A3\Sounds_F\arsenal\weapons\LongRangeRifles\M320\M320_reload", 2, 1, 10};
|
|
drySound[] = {"A3\Sounds_F\arsenal\weapons\LongRangeRifles\M320\M320_dry", 1.5011872, 1, 20};
|
|
class Single : Mode_SemiAuto
|
|
{
|
|
sounds[] = {"StandardSound"};
|
|
class BaseSoundModeType
|
|
{
|
|
closure1[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 1.0, 1, 30};
|
|
closure2[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 1.0, 1, 30};
|
|
soundClosure[] = {"closure1", 0.5, "closure2", 0.5};
|
|
};
|
|
class StandardSound : BaseSoundModeType
|
|
{
|
|
begin1[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 3.0118723, 1, 2200};
|
|
begin2[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 3.0118723, 1, 2200};
|
|
begin3[] = {"\braf\braf_weapons_sound\weapons\PGM_UltimaRatio\AMF_PGM_ULTIMA_RATIO.wss", 3.0118723, 1, 2200};
|
|
soundBegin[] = {"begin1", 0.33, "begin2", 0.33, "begin2", 0.34};
|
|
class SoundTails
|
|
{
|
|
class TailInterior
|
|
{
|
|
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_interior", 2.2387211, 1, 2200};
|
|
frequency = 1;
|
|
volume = "interior";
|
|
};
|
|
class TailTrees
|
|
{
|
|
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_trees", 2.2387211, 1, 2200};
|
|
frequency = 1;
|
|
volume = "(1-interior/1.4)*trees";
|
|
};
|
|
class TailForest
|
|
{
|
|
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_forest", 2.2387211, 1, 2200};
|
|
frequency = 1;
|
|
volume = "(1-interior/1.4)*forest";
|
|
};
|
|
class TailMeadows
|
|
{
|
|
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_meadows", 2.2387211, 1, 2200};
|
|
frequency = 1;
|
|
volume = "(1-interior/1.4)*(meadows/2 max sea/2)";
|
|
};
|
|
class TailHouses
|
|
{
|
|
sound[] = {"A3\Sounds_F_Mark\arsenal\weapons\LongRangeRifles\DMR_02_MAR10\DMR_02_tail_houses", 2.2387211, 1, 2200};
|
|
frequency = 1;
|
|
volume = "(1-interior/1.4)*houses";
|
|
};
|
|
};
|
|
};
|
|
|
|
reloadTime = 2;
|
|
dispersion = 0.00011;
|
|
recoil = "recoil_single_dmr";
|
|
recoilProne = "recoil_single_prone_dmr";
|
|
minRange = 2;
|
|
minRangeProbab = 0.3;
|
|
midRange = 350;
|
|
midRangeProbab = 0.7;
|
|
maxRange = 500;
|
|
maxRangeProbab = 0.05;
|
|
};
|
|
|
|
class WeaponSlotsInfo : WeaponSlotsInfo
|
|
{
|
|
mass = 160;
|
|
class MuzzleSlot : MuzzleSlot
|
|
{
|
|
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; /// this can be set, but having some common helps a bit
|
|
compatibleItems[] = {}; /// A custom made suppressor for this weapon
|
|
iconPosition[] = {0.0, 0.45}; /// position of the slot icon inside of the weapon icon, relative to top-left corner in {right, down} format
|
|
iconScale = 0.2; /// scale of icon described in iconPicture
|
|
iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa"; /// icon for selected slot
|
|
iconPinpoint = "Center"; /// top, bottom, left, right, center alignment of the icon on snap point
|
|
};
|
|
class CowsSlot : CowsSlot /// default accessories for this slot
|
|
{
|
|
iconPosition[] = {0.5, 0.35};
|
|
iconScale = 0.2;
|
|
};
|
|
class PointerSlot : PointerSlot /// default accessories for this slot
|
|
{
|
|
compatibleItems[] = {};
|
|
iconPosition[] = {0.20, 0.45};
|
|
iconScale = 0.25;
|
|
};
|
|
|
|
class UnderBarrelSlot : UnderBarrelSlot /// using AMF bipod
|
|
{
|
|
iconPosition[] = {0.2, 0.7};
|
|
iconScale = 0.2;
|
|
compatibleItems[] = {"bipod_01_F_blk", "bipod_02_F_blk", "bipod_03_F_blk", "bipod_01_F_khk", "bipod_01_F_snd", "bipod_01_F_mtp", "bipod_02_F_tan", "bipod_02_F_hex", "bipod_03_F_oli"};
|
|
};
|
|
};
|
|
|
|
class single_close_optics1 : Single
|
|
{
|
|
requiredOpticType = 1;
|
|
showToPlayer = 0;
|
|
minRange = 2;
|
|
minRangeProbab = 0.05;
|
|
midRange = 300;
|
|
midRangeProbab = 0.8;
|
|
maxRange = 500;
|
|
maxRangeProbab = 0.01;
|
|
aiRateOfFire = 2;
|
|
aiRateOfFireDistance = 300;
|
|
};
|
|
class single_medium_optics1 : single_close_optics1
|
|
{
|
|
minRange = 300;
|
|
minRangeProbab = 0.05;
|
|
midRange = 500;
|
|
midRangeProbab = 0.7;
|
|
maxRange = 700;
|
|
maxRangeProbab = 0.05;
|
|
aiRateOfFire = 2;
|
|
aiRateOfFireDistance = 500;
|
|
};
|
|
class single_far_optics1 : single_medium_optics1
|
|
{
|
|
requiredOpticType = 2;
|
|
minRange = 300;
|
|
minRangeProbab = 0.05;
|
|
midRange = 700;
|
|
midRangeProbab = 0.5;
|
|
maxRange = 1000;
|
|
maxRangeProbab = 0.05;
|
|
aiRateOfFire = 4;
|
|
aiRateOfFireDistance = 600;
|
|
};
|
|
aiDispersionCoefY = 3;
|
|
aiDispersionCoefX = 2;
|
|
};
|
|
};
|