This commit is the equivalent of a atomic bomb
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,82 @@
|
||||
class StageTI
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_CO.paa";
|
||||
};
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,0};
|
||||
specular[]={0.01,0.01,0.01,1};
|
||||
specularPower=80;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={10,0,0};
|
||||
up[]={0,10,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_as.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture="#(ai,64,64,1)fresnel(0,0)";
|
||||
uvSource="none";
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_ca.paa";
|
||||
uvSource="none";
|
||||
};
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,82 @@
|
||||
class StageTI
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_CO.paa";
|
||||
};
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,0};
|
||||
specular[]={0.05,0.05,0.05,1};
|
||||
specularPower=80;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={10,0,0};
|
||||
up[]={0,10,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_as.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_long_body_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture="#(ai,64,64,1)fresnel(0,0)";
|
||||
uvSource="none";
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_ca.paa";
|
||||
uvSource="none";
|
||||
};
|
||||
Binary file not shown.
@@ -0,0 +1,82 @@
|
||||
class StageTI
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_CO.paa";
|
||||
};
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,0};
|
||||
specular[]={0.01,0.01,0.01,1};
|
||||
specularPower=80;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={10,0,0};
|
||||
up[]={0,10,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_as.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture="#(ai,64,64,1)fresnel(0,0)";
|
||||
uvSource="none";
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_ca.paa";
|
||||
uvSource="none";
|
||||
};
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,82 @@
|
||||
class StageTI
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_CO.paa";
|
||||
};
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,0};
|
||||
specular[]={0.05,0.05,0.05,1};
|
||||
specularPower=80;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={10,0,0};
|
||||
up[]={0,10,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_as.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_short_body_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture="#(ai,64,64,1)fresnel(0,0)";
|
||||
uvSource="none";
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_ca.paa";
|
||||
uvSource="none";
|
||||
};
|
||||
Binary file not shown.
@@ -0,0 +1,82 @@
|
||||
class StageTI
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_Sight_co.paa";
|
||||
};
|
||||
ambient[]={1,1,1,1};
|
||||
diffuse[]={1,1,1,1};
|
||||
forcedDiffuse[]={0,0,0,0};
|
||||
emmisive[]={0,0,0,1};
|
||||
specular[]={0.01,0.01,0.01,1};
|
||||
specularPower=90;
|
||||
PixelShaderID="Super";
|
||||
VertexShaderID="Super";
|
||||
class Stage1
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_Sight_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={10,0,0};
|
||||
up[]={0,10,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,0};
|
||||
pos[]={0,0,0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_Sight_as.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture="braf\braf_weapons_assault_rifles\556mm_HK416\Data\textures\AMF_614_Sight_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1,0,0};
|
||||
up[]={0,1,0};
|
||||
dir[]={0,0,1};
|
||||
pos[]={0,0,1};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture="#(ai,64,64,1)fresnel(0,0)";
|
||||
uvSource="none";
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_ca.paa";
|
||||
uvSource="none";
|
||||
};
|
||||
@@ -0,0 +1,373 @@
|
||||
class braf_HK416_long_base : Rifle_Base_F {
|
||||
magazines[] = {
|
||||
"braf_30Rnd_556x45",
|
||||
"braf_20Rnd_556x45",
|
||||
"braf_30Rnd_556x45_red",
|
||||
"braf_30Rnd_556x45_green",
|
||||
"braf_30Rnd_556x45_yellow",
|
||||
"braf_30Rnd_556x45_Blank",
|
||||
"30Rnd_556x45_Stanag",
|
||||
"30Rnd_556x45_Stanag_green",
|
||||
"30Rnd_556x45_Stanag_red",
|
||||
"30Rnd_556x45_Stanag_Tracer_Red",
|
||||
"30Rnd_556x45_Stanag_Tracer_Green",
|
||||
"30Rnd_556x45_Stanag_Tracer_Yellow",
|
||||
}; /// original custom made magazines and a group of several standardized mags
|
||||
magazineWell[]=
|
||||
{
|
||||
"BRAF_Stanag_556",
|
||||
"STANAG_556x45",
|
||||
"STANAG_556x45_Large"
|
||||
};
|
||||
reloadAction = "GestureReloadSPAR_01"; /// MX hand animation actually fits this rifle well
|
||||
magazineReloadSwitchPhase = 0.4; /// part of reload animation when new magazine ammo count should affect "revolving" animation source
|
||||
discreteDistanceInitIndex = 0; /// Ironsight zeroing is the lowest value by default
|
||||
recoil = "recoil_spar";
|
||||
maxRecoilSway = 0.0125;
|
||||
swayDecaySpeed = 1.25;
|
||||
inertia = 0.5;
|
||||
initSpeed = -1; /// this means that initSpeed of magazine is used
|
||||
class GunParticles : GunParticles
|
||||
{
|
||||
class SecondEffect
|
||||
{
|
||||
positionName = "Nabojnicestart";
|
||||
directionName = "Nabojniceend";
|
||||
effectName = "CaselessAmmoCloud";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo : WeaponSlotsInfo
|
||||
{
|
||||
mass = 92;
|
||||
class MuzzleSlot : MuzzleSlot
|
||||
{
|
||||
linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE";
|
||||
compatibleItems[]=
|
||||
{
|
||||
"muzzle_snds_M"
|
||||
};
|
||||
iconPosition[]={0.12,0.43099999};
|
||||
iconScale=0.15000001;
|
||||
};
|
||||
class CowsSlot : asdg_OpticRail1913 /// default accessories for this slot
|
||||
{
|
||||
};
|
||||
class PointerSlot : asdg_FrontSideRail /// default accessories for this slot
|
||||
{
|
||||
};
|
||||
class UnderBarrelSlot : UnderBarrelSlot /// using AMF bipod
|
||||
{
|
||||
iconPosition[] = {0.2, 0.7};
|
||||
iconScale = 0.2;
|
||||
compatibleItems[] = {};
|
||||
};
|
||||
};
|
||||
opticsZoomMin = 0.375;
|
||||
opticsZoomMax = 1.1;
|
||||
opticsZoomInit = 0.75;
|
||||
distanceZoomMin = 300;
|
||||
distanceZoomMax = 300;
|
||||
descriptionShort = "AMF HK 416 F Long"; /// displayed on mouseOver in Inventory
|
||||
handAnim[] = {"OFP2_ManSkeleton", "\braf\braf_weapons_anim\animations\556mm_HK416\amf_hand_nogrip.rtm"}; /// hand animation actually fits this rifle well
|
||||
dexterity = 1.8;
|
||||
selectionFireAnim = "muzzleFlash"; /// are we able to get rid of all the zaslehs?
|
||||
bullet1[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_01", 0.446684, 1, 15};
|
||||
bullet2[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_02", 0.446684, 1, 15};
|
||||
bullet3[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_03", 0.446684, 1, 15};
|
||||
bullet4[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_04", 0.446684, 1, 15};
|
||||
bullet5[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_01", 0.562341, 1, 15};
|
||||
bullet6[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_02", 0.562341, 1, 15};
|
||||
bullet7[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_03", 0.562341, 1, 15};
|
||||
bullet8[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_04", 0.562341, 1, 15};
|
||||
bullet9[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_01", 0.562341, 1, 15};
|
||||
bullet10[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_02", 0.562341, 1, 15};
|
||||
bullet11[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_03", 0.562341, 1, 15};
|
||||
bullet12[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_04", 0.562341, 1, 15};
|
||||
soundBullet[] = {"bullet1", 0.087, "bullet2", 0.083, "bullet3", 0.083, "bullet4", 0.083, "bullet5", 0.083, "bullet6", 0.083, "bullet7", 0.083, "bullet8", 0.083, "bullet9", 0.083, "bullet10", 0.083, "bullet11", 0.083, "bullet12", 0.083};
|
||||
drySound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_dry", 0.63095737, 1, 30};
|
||||
changeFiremodeSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_firemode", 0.25118864, 1, 5};
|
||||
reloadMagazineSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_reload", 1.0, 1, 10};
|
||||
modes[] = {SemiAuto, Fullauto, single_medium_optics1, single_far_optics2};
|
||||
class SemiAuto : Mode_SemiAuto
|
||||
{
|
||||
sounds[] = {"StandardSound", "SilencedSound"};
|
||||
class BaseSoundModeType;
|
||||
class StandardSound : BaseSoundModeType
|
||||
{
|
||||
soundSetShot[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"};
|
||||
};
|
||||
class SilencedSound : BaseSoundModeType
|
||||
{
|
||||
SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"};
|
||||
};
|
||||
reloadTime = 0.070;
|
||||
recoil = "recoil_single_primary_3outof10";
|
||||
recoilProne = "recoil_single_primary_prone_3outof10";
|
||||
dispersion = 0.0002;
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.3;
|
||||
midRange = 350;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 500;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
class FullAuto : Mode_FullAuto
|
||||
{
|
||||
sounds[] = {"StandardSound", "SilencedSound"};
|
||||
class BaseSoundModeType;
|
||||
class StandardSound : BaseSoundModeType
|
||||
{
|
||||
soundSetShot[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"};
|
||||
};
|
||||
class SilencedSound : BaseSoundModeType
|
||||
{
|
||||
SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"};
|
||||
};
|
||||
reloadTime = 0.070;
|
||||
recoil = "recoil_auto_primary_3outof10";
|
||||
recoilProne = "recoil_auto_primary_prone_3outof10";
|
||||
dispersion = 0.0002;
|
||||
minRange = 0;
|
||||
minRangeProbab = 0.9;
|
||||
midRange = 15;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 30;
|
||||
maxRangeProbab = 0.05;
|
||||
aiRateOfFire = 1e-006;
|
||||
};
|
||||
class single_medium_optics1 : SemiAuto /// Pew for AI with collimator sights
|
||||
{
|
||||
requiredOpticType = 1;
|
||||
showToPlayer = 0;
|
||||
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.2;
|
||||
midRange = 450;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 600;
|
||||
maxRangeProbab = 0.2;
|
||||
|
||||
aiRateOfFire = 6;
|
||||
aiRateOfFireDistance = 600;
|
||||
};
|
||||
class single_far_optics2 : single_medium_optics1 /// Pew for AI with better sights
|
||||
{
|
||||
requiredOpticType = 2;
|
||||
showToPlayer = 0;
|
||||
|
||||
minRange = 100;
|
||||
minRangeProbab = 0.1;
|
||||
midRange = 500;
|
||||
midRangeProbab = 0.6;
|
||||
maxRange = 700;
|
||||
maxRangeProbab = 0.05;
|
||||
|
||||
aiRateOfFire = 8;
|
||||
aiRateOfFireDistance = 700;
|
||||
};
|
||||
class HK269_F : UGL_F /// Some grenade launcher to have some more fun
|
||||
{
|
||||
displayName = "AMF HK269";
|
||||
descriptionShort = "AMF HK269";
|
||||
author = "LKDSG & AMF TEAM";
|
||||
useModelOptics = false;
|
||||
useExternalOptic = false; /// Doesn't use optics from the attachment, has it's own
|
||||
cameraDir = "OP_look";
|
||||
discreteDistance[] = {100, 200, 300, 400};
|
||||
discreteDistanceCameraPoint[] = {"OP_eye", "OP_eye2", "OP_eye3", "OP_eye4"}; /// the angle of gun changes with zeroing
|
||||
discreteDistanceInitIndex = 1; /// 200 is the default zero
|
||||
};
|
||||
aiDispersionCoefY = 6.0; /// AI should have some degree of greater dispersion for initial shoots
|
||||
aiDispersionCoefX = 4.0; /// AI should have some degree of greater dispersion for initial shoots
|
||||
};
|
||||
class braf_HK416_short_base : Rifle_Base_F {
|
||||
magazines[] = {
|
||||
"braf_30Rnd_556x45",
|
||||
"braf_20Rnd_556x45",
|
||||
"braf_30Rnd_556x45_red",
|
||||
"braf_30Rnd_556x45_green",
|
||||
"braf_30Rnd_556x45_yellow",
|
||||
"braf_30Rnd_556x45_Blank",
|
||||
"30Rnd_556x45_Stanag",
|
||||
"30Rnd_556x45_Stanag_green",
|
||||
"30Rnd_556x45_Stanag_red",
|
||||
"30Rnd_556x45_Stanag_Tracer_Red",
|
||||
"30Rnd_556x45_Stanag_Tracer_Green",
|
||||
"30Rnd_556x45_Stanag_Tracer_Yellow",
|
||||
}; /// original custom made magazines and a group of several standardized mags
|
||||
magazineWell[]=
|
||||
{
|
||||
"BRAF_Stanag_556",
|
||||
"STANAG_556x45",
|
||||
"STANAG_556x45_Large"
|
||||
};
|
||||
reloadAction = "GestureReloadSPAR_01";
|
||||
magazineReloadSwitchPhase = 0.4; /// part of reload animation when new magazine ammo count should affect "revolving" animation source
|
||||
discreteDistanceInitIndex = 0; /// Ironsight zeroing is the lowest value by default
|
||||
handAnim[] = {"OFP2_ManSkeleton", \braf\braf_weapons_anim\animations\556mm_HK416\amf_hand_nogrip.rtm};
|
||||
dexterity = 3.1;
|
||||
maxRecoilSway = 0.0125;
|
||||
swayDecaySpeed = 1.25;
|
||||
inertia = 0.5;
|
||||
initSpeed = -1; /// this means that initSpeed of magazine is used
|
||||
class GunParticles : GunParticles
|
||||
{
|
||||
class SecondEffect
|
||||
{
|
||||
positionName = "Nabojnicestart";
|
||||
directionName = "Nabojniceend";
|
||||
effectName = "CaselessAmmoCloud";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo : WeaponSlotsInfo
|
||||
{
|
||||
mass = 92;
|
||||
class MuzzleSlot : MuzzleSlot
|
||||
{
|
||||
linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE";
|
||||
compatibleItems[]=
|
||||
{
|
||||
"muzzle_snds_M"
|
||||
};
|
||||
iconPosition[]={0.12,0.43099999};
|
||||
iconScale=0.15000001;
|
||||
};
|
||||
class CowsSlot : asdg_OpticRail1913 {};
|
||||
class PointerSlot : asdg_FrontSideRail {};
|
||||
class UnderBarrelSlot : UnderBarrelSlot {
|
||||
iconPosition[] = {0.2, 0.7};
|
||||
iconScale = 0.2;
|
||||
compatibleItems[] = {};
|
||||
};
|
||||
};
|
||||
opticsZoomMin = 0.375;
|
||||
opticsZoomMax = 1.1;
|
||||
opticsZoomInit = 0.75;
|
||||
distanceZoomMin = 300;
|
||||
distanceZoomMax = 300;
|
||||
descriptionShort = "AMF HK 416 Short"; /// displayed on mouseOver in Inventory
|
||||
selectionFireAnim = "muzzleFlash"; /// are we able to get rid of all the zaslehs?
|
||||
bullet1[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_01", 0.446684, 1, 15};
|
||||
bullet2[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_02", 0.446684, 1, 15};
|
||||
bullet3[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_03", 0.446684, 1, 15};
|
||||
bullet4[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_04", 0.446684, 1, 15};
|
||||
bullet5[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_01", 0.562341, 1, 15};
|
||||
bullet6[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_02", 0.562341, 1, 15};
|
||||
bullet7[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_03", 0.562341, 1, 15};
|
||||
bullet8[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_04", 0.562341, 1, 15};
|
||||
bullet9[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_01", 0.562341, 1, 15};
|
||||
bullet10[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_02", 0.562341, 1, 15};
|
||||
bullet11[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_03", 0.562341, 1, 15};
|
||||
bullet12[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_04", 0.562341, 1, 15};
|
||||
soundBullet[] = {"bullet1", 0.087, "bullet2", 0.083, "bullet3", 0.083, "bullet4", 0.083, "bullet5", 0.083, "bullet6", 0.083, "bullet7", 0.083, "bullet8", 0.083, "bullet9", 0.083, "bullet10", 0.083, "bullet11", 0.083, "bullet12", 0.083};
|
||||
drySound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_dry", 0.63095737, 1, 30};
|
||||
changeFiremodeSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_firemode", 0.25118864, 1, 5};
|
||||
reloadMagazineSound[] = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_reload", 1.0, 1, 10};
|
||||
modes[] = {SemiAuto, Fullauto};
|
||||
class SemiAuto : Mode_SemiAuto
|
||||
{
|
||||
sounds[] = {"StandardSound", "SilencedSound"};
|
||||
class BaseSoundModeType;
|
||||
class StandardSound : BaseSoundModeType
|
||||
{
|
||||
soundSetShot[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"};
|
||||
};
|
||||
class SilencedSound : BaseSoundModeType
|
||||
{
|
||||
SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"};
|
||||
};
|
||||
reloadTime = 0.070;
|
||||
recoil = "recoil_single_primary_3outof10";
|
||||
recoilProne = "recoil_single_primary_prone_3outof10";
|
||||
dispersion = 0.0002;
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.3;
|
||||
midRange = 350;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 500;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
class FullAuto : Mode_FullAuto
|
||||
{
|
||||
sounds[] = {"StandardSound", "SilencedSound"};
|
||||
class BaseSoundModeType;
|
||||
class StandardSound : BaseSoundModeType
|
||||
{
|
||||
soundSetShot[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"};
|
||||
};
|
||||
class SilencedSound : BaseSoundModeType
|
||||
{
|
||||
SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"};
|
||||
};
|
||||
reloadTime = 0.070;
|
||||
recoil = "recoil_auto_primary_3outof10";
|
||||
recoilProne = "recoil_auto_primary_prone_3outof10";
|
||||
dispersion = 0.0002;
|
||||
minRange = 0;
|
||||
minRangeProbab = 0.9;
|
||||
midRange = 15;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 30;
|
||||
maxRangeProbab = 0.05;
|
||||
aiRateOfFire = 1e-006;
|
||||
};
|
||||
aiDispersionCoefY = 6.0; /// AI should have some degree of greater dispersion for initial shoots
|
||||
aiDispersionCoefX = 4.0; /// AI should have some degree of greater dispersion for initial shoots
|
||||
};
|
||||
|
||||
|
||||
class braf_HK416_long : braf_HK416_long_base {
|
||||
scope = 2; /// should be visible and useable in game
|
||||
author = "ARNIE & AMF TEAM";
|
||||
displayName = "HK 416 D16.5"; /// some name
|
||||
model = "\braf\braf_weapons_assault_rifles\556mm_HK416\amf_416_long.p3d"; /// path to model
|
||||
picture = "\braf\braf_weapons_assault_rifles\556mm_HK416\Data\UI\gear_amf_614_long_01_x_ca.paa"; /// different accessories have M, S, T instead of X
|
||||
UiPicture = "\braf\braf_weapons_assault_rifles\556mm_HK416\Data\UI\gear_amf_614_long_01_x_ca.paa"; /// weapon should be marked such way
|
||||
handAnim[] = {"OFP2_ManSkeleton", "\braf\braf_weapons_anim\animations\556mm_HK416\amf_hand_nogrip.rtm"};
|
||||
weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights
|
||||
rhs_grip2_change = "amf_614_gripv_01_f";
|
||||
rhs_grip3_change = "amf_614_gript_01_f";
|
||||
class WeaponSlotsInfo : WeaponSlotsInfo
|
||||
{
|
||||
mass = 92;
|
||||
allowedSlots[] = {901};
|
||||
class MuzzleSlot : MuzzleSlot
|
||||
{
|
||||
};
|
||||
class CowsSlot : asdg_OpticRail1913 /// default accessories for this slot
|
||||
{
|
||||
};
|
||||
class PointerSlot : asdg_FrontSideRail /// default accessories for this slot
|
||||
{
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class braf_HK416_short : braf_HK416_short_base {
|
||||
scope = 2;
|
||||
author = "ARNIE & AMF TEAM";
|
||||
displayName = "HK 416 D10";
|
||||
dexterity = 3.1;
|
||||
model = "\braf\braf_weapons_assault_rifles\556mm_HK416\AMF_416_short.p3d";
|
||||
picture = "\braf\braf_weapons_assault_rifles\556mm_HK416\Data\UI\gear_AMF_614_short_X_CA.paa";
|
||||
UiPicture = "\A3\Weapons_F\Data\UI\icon_gl_CA.paa";
|
||||
handAnim[] = {"OFP2_ManSkeleton", "\a3\weapons_f_exp\rifles\spar_01\data\anim\spar_01.rtm"};
|
||||
weaponInfoType = "RscWeaponZeroing";
|
||||
rhs_grip2_change = "amf_614s_gripv_01_f";
|
||||
rhs_grip3_change = "amf_614s_gript_01_f";
|
||||
class WeaponSlotsInfo : WeaponSlotsInfo
|
||||
{
|
||||
mass = 92;
|
||||
allowedSlots[] = {901};
|
||||
class MuzzleSlot : MuzzleSlot
|
||||
{
|
||||
};
|
||||
class CowsSlot : asdg_OpticRail1913
|
||||
{
|
||||
};
|
||||
class PointerSlot : asdg_FrontSideRail
|
||||
{
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
missionNamespace getVariable ["bis_fnc_moduleRemoteControl_unit", player];
|
||||
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
Gripod system
|
||||
|
||||
a: reyhard
|
||||
*/
|
||||
|
||||
private _p = call AMF_fnc_rhs_findplayer;
|
||||
private _gripod = (primaryWeaponItems _p) select 3;
|
||||
//systemChat format["start %1",_gripod];
|
||||
|
||||
_p setVariable ["rhs_gripod_acc",_gripod];
|
||||
|
||||
[_p,_gripod] call AMF_fnc_rhs_gripod_change;
|
||||
|
||||
if(not(isNil "rhs_grip_deinitialize"))exitWith{
|
||||
//systemChat "event handlers are already here";
|
||||
};
|
||||
|
||||
//systemChat "adding event handlers";
|
||||
|
||||
// deinitialization function
|
||||
rhs_grip_deinitialize = {
|
||||
private _p = call AMF_fnc_rhs_findplayer;
|
||||
|
||||
// Exit if player no longer have primary weapon
|
||||
if(primaryWeapon _p isEqualTo "")exitWith{};
|
||||
|
||||
private _t = (getText (configFile >> "cfgWeapons" >> (primaryWeapon _p) >> "baseWeapon"));
|
||||
private _i = primaryWeaponItems _p;
|
||||
private _a = _p ammo (primaryWeapon _p);
|
||||
private _m = currentMagazine _p;
|
||||
|
||||
_p addWeapon _t;
|
||||
// If there is free, comatibile magazine, game tries to automatically add it to weapon
|
||||
if(! ((primaryWeaponMagazine _p) isEqualTo []))then
|
||||
{
|
||||
_p addMagazine [(primaryWeaponMagazine _p) # 0,_p ammo _t];
|
||||
};
|
||||
_p addPrimaryWeaponItem _m;
|
||||
{_p addPrimaryWeaponItem _x}foreach _i;
|
||||
|
||||
_p setAmmo [(primaryWeapon _p), _a];
|
||||
|
||||
[missionnamespace, "arsenalOpened", rhs_grip_arsenal_eh_idx] call BIS_fnc_removeScriptedEventHandler;
|
||||
//_p removeEventHandler ["take",rhs_grip_take_eh_idx];
|
||||
_p removeEventHandler ["InventoryClosed",rhs_grip_close_eh_idx];
|
||||
//rhs_grip_take_eh_idx = nil;
|
||||
rhs_grip_close_eh_idx = nil;
|
||||
rhs_grip_eh_idx = nil;
|
||||
rhs_grip_deinitialize = nil;
|
||||
|
||||
//systemChat "koniec";
|
||||
};
|
||||
|
||||
// eventhandler launched upon arsenal opening
|
||||
rhs_grip_arsenal_eh_idx = [missionnamespace, "arsenalOpened", {
|
||||
private _p = call AMF_fnc_rhs_findplayer;
|
||||
private _g = _p getVariable ["rhs_gripod_acc",""];
|
||||
|
||||
//systemChat "arsenal started";
|
||||
|
||||
// remove EH if unit no longer has a gripod
|
||||
if(!(_g in primaryWeaponItems _p))exitWith{
|
||||
call rhs_grip_deinitialize;
|
||||
};
|
||||
[_p,_g] spawn {
|
||||
params["_p","_g"];
|
||||
private _gt = (getText (configFile >> "cfgWeapons" >> _g >> "rhs_grip_type"));
|
||||
private _w = (getText (configFile >> "cfgWeapons" >> (primaryWeapon _p) >> _gt));
|
||||
|
||||
while{not(isnull ( uinamespace getvariable "RSCDisplayArsenal"))}do{
|
||||
if(primaryWeapon _p != _w AND ((_g in primaryWeaponItems _p)) )then{
|
||||
//systemChat "zmiana";
|
||||
private _t = primaryWeapon _p;
|
||||
private _gt = (getText (configFile >> "cfgWeapons" >> _g >> "rhs_grip_type"));
|
||||
private _w = (getText (configFile >> "cfgWeapons" >> _t >> _gt));
|
||||
private _i = primaryWeaponItems _p;
|
||||
private _a = _p ammo _t;
|
||||
private _m = currentMagazine _p;
|
||||
|
||||
_p addWeapon _w;
|
||||
// If there is free, comatibile magazine, game tries to automatically add it to weapon
|
||||
if(! ((primaryWeaponMagazine _p) isEqualTo []))then
|
||||
{
|
||||
_p addMagazine [(primaryWeaponMagazine _p) # 0,_p ammo _w];
|
||||
};
|
||||
_p addPrimaryWeaponItem _m;
|
||||
{_p addPrimaryWeaponItem _x}foreach _i;
|
||||
|
||||
_p setAmmo [(primaryWeapon _p), _a];
|
||||
};
|
||||
sleep 0.1;
|
||||
};
|
||||
|
||||
private _g = _p getVariable ["rhs_gripod_acc",""];
|
||||
// remove EH if unit no longer has a gripod
|
||||
if(!(_g in primaryWeaponItems _p))exitWith{
|
||||
call rhs_grip_deinitialize;
|
||||
};
|
||||
//systemChat "arsenal exit";
|
||||
};
|
||||
}] call bis_fnc_addScriptedEventHandler;
|
||||
|
||||
|
||||
// inventory closeds event handler
|
||||
rhs_grip_close_eh_idx = _p addEventHandler ["InventoryClosed",{
|
||||
|
||||
private _p = call AMF_fnc_rhs_findplayer;
|
||||
private _g = _p getVariable ["rhs_gripod_acc",""];
|
||||
|
||||
// remove EH if unit no longer has a gripod
|
||||
if(!(_g in primaryWeaponItems _p))exitWith{
|
||||
//systemChat format["exit %1 %2",_g, primaryWeaponItems _p];
|
||||
call rhs_grip_deinitialize;
|
||||
};
|
||||
}];
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Gripod system
|
||||
|
||||
a: reyhard
|
||||
*/
|
||||
|
||||
params["_p","_gripod"];
|
||||
|
||||
private _t = primaryWeapon _p;
|
||||
private _gt = (getText (configFile >> "cfgWeapons" >> _gripod >> "rhs_grip_type"));
|
||||
private _w = (getText (configFile >> "cfgWeapons" >> _t >> _gt));
|
||||
|
||||
// exit if weapon is missing replacement param
|
||||
if(_w isEqualTo "")exitWith{
|
||||
//systemChat "no weapon found";
|
||||
};
|
||||
// exit if weapon is already changed
|
||||
if(_w isEqualTo _t)exitWith{
|
||||
//systemChat "no change required";
|
||||
};
|
||||
|
||||
private _i = primaryWeaponItems _p;
|
||||
private _a = _p ammo _t;
|
||||
private _m = currentMagazine _p;
|
||||
|
||||
_p addWeapon _w;
|
||||
// If there is free, comatibile magazine, game tries to automatically add it to weapon
|
||||
if(! ((primaryWeaponMagazine _p) isEqualTo []))then
|
||||
{
|
||||
_p addMagazine [(primaryWeaponMagazine _p) # 0,_p ammo _w];
|
||||
};
|
||||
_p addPrimaryWeaponItem _m;
|
||||
{_p addPrimaryWeaponItem _x}foreach _i;
|
||||
_p selectWeapon _w;
|
||||
|
||||
_p setAmmo [(primaryWeapon _p), _a];
|
||||
|
||||
_p setVariable ["rhs_gripod_acc",_gripod];
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,405 @@
|
||||
class CfgSkeletons
|
||||
{
|
||||
class amf_614_skeleton
|
||||
{
|
||||
pivotsModel="";
|
||||
isDiscrete = 0;
|
||||
skeletonInherit = "";
|
||||
skeletonBones[] =
|
||||
{
|
||||
"trigger", "", /// not in this model, but good to use
|
||||
"bolt", "",
|
||||
"bolt_catch", "",
|
||||
"magazine", "",
|
||||
"safety", "",
|
||||
"muzzleFlash", "",
|
||||
"OP", "",
|
||||
"ForeSight", "",
|
||||
"BackSight", "",
|
||||
"rail_protect_side", "",
|
||||
"rail_protect_underbarrel", ""
|
||||
};
|
||||
};
|
||||
class AMF_Bipod_614_skeleton
|
||||
{
|
||||
pivotsModel="";
|
||||
isDiscrete = 0;
|
||||
skeletonInherit = "";
|
||||
skeletonBones[] =
|
||||
{
|
||||
"bipod_legs", "",
|
||||
"bipod_leg_L", "bipod_legs",
|
||||
"leg_L", "bipod_leg_L",
|
||||
"bipod_leg_R", "bipod_legs",
|
||||
"leg_R", "bipod_leg_R"
|
||||
};
|
||||
};
|
||||
};
|
||||
class CfgModels
|
||||
{
|
||||
class Default
|
||||
{
|
||||
sectionsInherit="";
|
||||
sections[] = {};
|
||||
skeletonName = "";
|
||||
};
|
||||
class Optic: Default
|
||||
{
|
||||
sections[]=
|
||||
{
|
||||
"zasleh"
|
||||
};
|
||||
};
|
||||
class Weapon: Default
|
||||
{
|
||||
sections[]=
|
||||
{
|
||||
"zasleh"
|
||||
};
|
||||
|
||||
htMin = 1; // Minimum half-cooling time (in seconds)
|
||||
htMax = 600; // Maximum half-cooling time (in seconds)
|
||||
afMax = 0; // Maximum temperature in case the model is alive (in celsius)
|
||||
mfMax = 0; // Maximum temperature when the model is moving (in celsius)
|
||||
mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)).
|
||||
tBody = 100; // Metabolism temperature of the model (in celsius)
|
||||
|
||||
// skeletonName="Weapon";
|
||||
class Animations
|
||||
{
|
||||
class zaslehROT
|
||||
{
|
||||
type="rotation";
|
||||
source="clockMinute";
|
||||
sourceAddress="loop";
|
||||
selection="zasleh";
|
||||
begin="usti hlavne";
|
||||
end="konec hlavne";
|
||||
memory=1;
|
||||
minValue=0.0166665;
|
||||
maxValue=0.016666666666666666666666666666667;
|
||||
angle0="rad 0";
|
||||
angle1="rad 360";
|
||||
};
|
||||
class magazine_hide
|
||||
{
|
||||
type="hide";
|
||||
source="reloadMagazine";
|
||||
sourceAddress="mirror";
|
||||
selection="magazine";
|
||||
minValue=0.0;
|
||||
maxValue=0.4;
|
||||
hideValue=0.5;
|
||||
};
|
||||
class reload_ammobelt_hide: magazine_hide
|
||||
{
|
||||
selection="ammo_belt";
|
||||
};
|
||||
class reload_ammobelt_bottom_hide: magazine_hide
|
||||
{
|
||||
selection="ammo_belt_bottom";
|
||||
};
|
||||
class ammobelt_hide: magazine_hide
|
||||
{
|
||||
source="isEmpty";
|
||||
selection="ammo_belt";
|
||||
minValue=0.000000;
|
||||
maxValue=1.000000;
|
||||
hideValue=1.000000;
|
||||
};
|
||||
class ammobelt_bottom_hide: ammobelt_hide
|
||||
{
|
||||
selection="ammo_belt_bottom";
|
||||
};
|
||||
/// Hiding of magazine if weapon has none
|
||||
class no_magazine
|
||||
{
|
||||
type="hide";
|
||||
source="hasMagazine";
|
||||
selection="magazine";
|
||||
minValue=0.000000;
|
||||
maxValue=1.00000;
|
||||
hideValue=0.5;
|
||||
unhideValue = -1.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
class Rifle: Weapon
|
||||
{
|
||||
// skeletonName="Rifle";
|
||||
class Animations: Animations
|
||||
{
|
||||
class magazine_hide:magazine_hide
|
||||
{
|
||||
sourceAddress="mirror";
|
||||
minValue=0.0;
|
||||
maxValue=0.56;
|
||||
hideValue=0.36;
|
||||
};
|
||||
class bolt_empty
|
||||
{
|
||||
type="translation";
|
||||
source="isEmpty";
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
memory=1;
|
||||
minValue=0.000000;
|
||||
maxValue=0.500000;
|
||||
offset0=0;
|
||||
offset1=0.5;
|
||||
};
|
||||
class bullet_cover
|
||||
{
|
||||
type="rotation";
|
||||
source="reload";
|
||||
sourceAddress="mirror";
|
||||
selection="bullet_cover";
|
||||
axis="bullet_cover_axis";
|
||||
memory=1;
|
||||
minValue=0.0;
|
||||
maxValue=0.5;
|
||||
angle0=0;
|
||||
angle1=-0.4;
|
||||
};
|
||||
class bolt_fire_begin
|
||||
{
|
||||
type="translation";
|
||||
source="reload";
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
memory=1;
|
||||
minValue=0.000000;
|
||||
maxValue=0.300000;
|
||||
offset0=0;
|
||||
offset1=0.5;
|
||||
};
|
||||
class bolt_fire_end:bolt_fire_begin
|
||||
{
|
||||
minValue=0.500000;
|
||||
maxValue=1.000000;
|
||||
offset0=0;
|
||||
offset1=-0.5;
|
||||
};
|
||||
class bolt_reload_begin
|
||||
{
|
||||
type="translation";
|
||||
source="reloadMagazine";
|
||||
selection="bolt";
|
||||
axis="bolt_axis";
|
||||
memory=1;
|
||||
minValue=0.1;
|
||||
maxValue=0.15;
|
||||
offset0=0;
|
||||
offset1=0.5;
|
||||
};
|
||||
class bolt_reload_end:bolt_reload_begin
|
||||
{
|
||||
minValue=0.980000;
|
||||
maxValue=1.000000;
|
||||
offset0=0;
|
||||
offset1=-0.5;
|
||||
};
|
||||
};
|
||||
};
|
||||
class amf_614_long_Base: Rifle
|
||||
{
|
||||
skeletonName = "amf_614_skeleton";
|
||||
sectionsInherit = "";
|
||||
sections[] = {"muzzleFlash","Camo1","Camo2","camo3","camo4","Camo5","Camo6","Camo7","Camo8","Camo9"};
|
||||
class Animations
|
||||
{
|
||||
class trigger /// not in this model, but good to use
|
||||
{
|
||||
type = "rotation";
|
||||
source = "reload";
|
||||
sourceAddress = "clamp";
|
||||
selection = "trigger";
|
||||
axis = "trigger_axis";
|
||||
minValue = 0;
|
||||
maxValue = "1";
|
||||
angle0 = "0";
|
||||
angle1 = "rad -30";
|
||||
};
|
||||
|
||||
class bolt
|
||||
{
|
||||
type = "translation";
|
||||
source = "reload";
|
||||
sourceAddress = clamp;
|
||||
selection = "bolt";
|
||||
axis = "bolt_axis";
|
||||
minValue = 0.5;
|
||||
maxValue = 1;
|
||||
offset0 = 0;
|
||||
offset1 = 0.3;
|
||||
};
|
||||
class bolt_2: bolt
|
||||
{
|
||||
minValue = 0;
|
||||
maxValue = 0.5;
|
||||
offset0 = 0;
|
||||
offset1 = 0.7;
|
||||
};
|
||||
class bolt_empty: bolt{
|
||||
source = "isEmptyNoReload";
|
||||
minValue = 0;
|
||||
maxValue = 1;
|
||||
offset0 = 0;
|
||||
offset1 = 1;
|
||||
};
|
||||
class bolt_reload_move_1: bolt_empty {
|
||||
source="reloadMagazine"; // z: should work like that only if weapon is empty
|
||||
minValue=0;
|
||||
maxValue=0.00001;
|
||||
};
|
||||
class bolt_reload_move_2: bolt_reload_move_1 {
|
||||
source="reloadMagazine"; // z: should work like that only if weapon is empty
|
||||
minValue=0.78;
|
||||
maxValue=0.80;
|
||||
offset1 = -1;
|
||||
};
|
||||
class bolt_catch: bolt {
|
||||
selection = "bolt_catch";
|
||||
axis = "bolt_catch_axis";
|
||||
};
|
||||
class bolt_catch_2: bolt_2 {
|
||||
selection = "bolt_catch";
|
||||
axis = "bolt_catch_axis";
|
||||
};
|
||||
class bolt_catch_empty: bolt_empty {
|
||||
selection = "bolt_catch";
|
||||
axis = "bolt_catch_axis";
|
||||
};
|
||||
class bolt_catch_reload_move_1: bolt_reload_move_1 {
|
||||
selection = "bolt_catch";
|
||||
axis = "bolt_catch_axis";
|
||||
};
|
||||
class bolt_catch_reload_move_2: bolt_reload_move_2 {
|
||||
selection = "bolt_catch";
|
||||
axis = "bolt_catch_axis";
|
||||
};
|
||||
class magazine_hide
|
||||
{
|
||||
type="hide";
|
||||
source="reloadMagazine";
|
||||
selection="magazine";
|
||||
minValue=0.000000;
|
||||
maxValue=1.00000;
|
||||
hideValue=0.188;
|
||||
unhideValue = 0.550;
|
||||
};
|
||||
class no_magazine
|
||||
{
|
||||
type="hide";
|
||||
source="hasMagazine";
|
||||
selection="magazine";
|
||||
minValue=0.000000;
|
||||
maxValue=1.00000;
|
||||
hideValue=0.5;
|
||||
unhideValue = -1.0;
|
||||
};
|
||||
class magazine_reload_move_1
|
||||
{
|
||||
type = "translation";
|
||||
source = "reloadMagazine";
|
||||
selection = "magazine";
|
||||
axis = "magazine_axis";
|
||||
minValue = 0.145;
|
||||
maxValue = 0.170;
|
||||
offset0 = 0.0;
|
||||
offset1 = 0.5;
|
||||
};
|
||||
class magazine_reload_move_2: magazine_reload_move_1
|
||||
{
|
||||
minValue = 0.573;
|
||||
maxValue = 0.602;
|
||||
offset0 = 0.0;
|
||||
offset1 = -0.5;
|
||||
};
|
||||
|
||||
class muzzleFlashROT
|
||||
{
|
||||
type="rotationX";
|
||||
source="ammoRandom"; //use ammo count as phase for animation
|
||||
sourceAddress="loop"; //loop when phase out of bounds
|
||||
selection="muzzleFlash"; //selection we want to rotate
|
||||
axis=""; //no own axis - center of rotation is computed from selection
|
||||
centerFirstVertex=true; //use first vertex of selection as center of rotation
|
||||
minValue=0;
|
||||
maxValue=4; //rotation angle will be 360/4 = 90 degrees
|
||||
angle0="rad 0";
|
||||
angle1="rad 360";
|
||||
};
|
||||
class OP_ROT
|
||||
{
|
||||
type="rotation";
|
||||
source="zeroing2"; // use second muzzle zeroing for rotation
|
||||
sourceAddress="loop"; // loop when phase out of bounds
|
||||
selection="OP"; // selection we want to rotate
|
||||
axis="OP_axis"; // has its own axis
|
||||
minValue=0;
|
||||
maxValue=3;
|
||||
angle0="rad 0";
|
||||
angle1="rad 65";
|
||||
};
|
||||
class BackSight_optic
|
||||
{
|
||||
type="rotation";
|
||||
source="hasOptics";
|
||||
selection="BackSight";
|
||||
axis="BackSight_axis";
|
||||
memory=1;
|
||||
minValue=0.0000000;
|
||||
maxValue=1.0000000;
|
||||
angle0=0.000000;
|
||||
angle1=(rad 90);
|
||||
};
|
||||
class ForeSight_optic: BackSight_optic
|
||||
{
|
||||
selection="ForeSight";
|
||||
axis="ForeSight_axis";
|
||||
angle1=(rad 90);
|
||||
};
|
||||
|
||||
// Rotation of fire mode switch
|
||||
class safety_mode_rot
|
||||
{
|
||||
type = rotation;
|
||||
source = weaponMode;
|
||||
selection = "safety";
|
||||
axis = "safety_axis";
|
||||
memory = 1;
|
||||
minValue = 0;
|
||||
maxValue = 0.25;
|
||||
angle0 = 0;
|
||||
angle1 = (rad -90);
|
||||
};
|
||||
class rail_protect1
|
||||
{
|
||||
type="hide";
|
||||
source="hasUnderbarrel";
|
||||
selection="rail_protect_underbarrel";
|
||||
minValue = 0;
|
||||
maxValue = 1;
|
||||
hideValue = 1;
|
||||
// unHideValue = 0.5;
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
};
|
||||
class rail_protect2
|
||||
{
|
||||
type="hide";
|
||||
source="hasAccessory";
|
||||
selection="rail_protect_side";
|
||||
minValue = 0;
|
||||
maxValue = 1;
|
||||
hideValue = 1;
|
||||
// unHideValue = 0.5;
|
||||
animPeriod = 0.0;
|
||||
initPhase = 0.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
class AMF_416_long: amf_614_long_Base {};
|
||||
class AMF_416_short: amf_614_long_Base {};
|
||||
};
|
||||
Reference in New Issue
Block a user