This commit is the equivalent of a atomic bomb

This commit is contained in:
2026-02-15 08:08:56 -03:00
commit e4ac56b038
6934 changed files with 916278 additions and 0 deletions

View File

@@ -0,0 +1,434 @@
class Braf_MD97LC_GL_base_F: Rifle_Base_F
{
author="BRAF Team";
_generalMacro="Braf_MD97LC_GL_base_F";
scope=0;
displayName="MD97GL Base";
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"
};
magazineWell[]=
{
"BRAF_Stanag_556",
"STANAG_556x45",
"STANAG_556x45_Large"
};
reloadAction="braf_GestureReloadFAP";
recoil="recoil_dmr_03";
maxZeroing=1600;
handAnim[]=
{
"OFP2_ManSkeleton",
"\braf\braf_weapons_anim\animations\556m_IA2\hand_m16a4_m203.rtm"
};
overviewPicture="\A3\Data_F_Mark\Images\watermarkInfo_page07_ca.paa";
discreteDistanceInitIndex=2;
discreteDistance[]={100,300};
discreteDistanceCameraPoint[]=
{
"eye"
};
cameraDir="eye_look";
cursor="smg";
class Library
{
libTextDesc="IMBEL MD97 Assault Rifle";
};
class WeaponSlotsInfo: WeaponSlotsInfo
{
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_short
{
iconPosition[]={0.5,0.36000001};
iconScale=0.15000001;
};
class PointerSlot: asdg_FrontSideRail
{
iconPosition[]={0.33000001,0.40000001};
iconScale=0.2;
};
class UnderBarrelSlot
{
};
};
muzzles[]=
{
"this",
"braf_M203"
};
class braf_M203: UGL_F
{
displayName="Granade Launcher";
descriptionShort="Granade Launcher";
useModelOptics=0;
useExternalOptic=0;
reloadAction="GestureReloadMk20UGL";
reloadMagazineSound[]=
{
"A3\Sounds_F\arsenal\weapons\Rifles\Mk20\MK20_UGL_reload",
0.79432797,
1,
10
};
magazines[]=
{
"1Rnd_HE_Grenade_shell",
"1Rnd_Smoke_Grenade_shell",
"1Rnd_SmokeRed_Grenade_shell",
"1Rnd_SmokeGreen_Grenade_shell",
"1Rnd_SmokeYellow_Grenade_shell",
"1Rnd_SmokePurple_Grenade_shell",
"1Rnd_SmokeBlue_Grenade_shell",
"1Rnd_SmokeOrange_Grenade_shell"
};
discreteDistanceCameraPoint[]=
{
"OP_eye",
"OP_eye2",
"OP_eye3",
"OP_eye4",
"OP_eye5"
};
discreteDistance[]={50,100,150,200,250};
discreteDistanceInitIndex=1;
magazineReloadSwitchPhase=0.49000001;
maxZeroing=500;
cameraDir="OP_look";
};
changeFiremodeSound[]=
{
"braf\braf_weapons_sound\weapons\weap_fireselctor.ogg",
5,
1,
5
};
drySound[]=
{
"braf\braf_weapons_sound\weapons\weap_trigger_empty.ogg",
3,
1,
10
};
reloadMagazineSound[]=
{
"braf\braf_weapons_sound\weapons\IA2\IA2_reload.ogg",
1,
1,
10
};
modes[]=
{
"Single",
"FullAuto",
"single_close",
"single_medium",
"single_far",
"fullauto_medium"
};
bullet1[]=
{
"A3\sounds_f\weapons\shells\5_56\metal_556_01",
0.63095737,
1,
15
};
bullet2[]=
{
"A3\sounds_f\weapons\shells\5_56\metal_556_02",
0.63095737,
1,
15
};
bullet3[]=
{
"A3\sounds_f\weapons\shells\5_56\metal_556_03",
0.63095737,
1,
15
};
bullet4[]=
{
"A3\sounds_f\weapons\shells\5_56\metal_556_04",
0.63095737,
1,
15
};
bullet5[]=
{
"A3\sounds_f\weapons\shells\5_56\dirt_556_01",
0.63095737,
1,
15
};
bullet6[]=
{
"A3\sounds_f\weapons\shells\5_56\dirt_556_02",
0.63095737,
1,
15
};
bullet7[]=
{
"A3\sounds_f\weapons\shells\5_56\dirt_556_03",
0.63095737,
1,
15
};
bullet8[]=
{
"A3\sounds_f\weapons\shells\5_56\dirt_556_04",
0.63095737,
1,
15
};
bullet9[]=
{
"A3\sounds_f\weapons\shells\5_56\grass_556_01",
0.63095737,
1,
15
};
bullet10[]=
{
"A3\sounds_f\weapons\shells\5_56\grass_556_02",
0.63095737,
1,
15
};
bullet11[]=
{
"A3\sounds_f\weapons\shells\5_56\grass_556_03",
0.63095737,
1,
15
};
bullet12[]=
{
"A3\sounds_f\weapons\shells\5_56\grass_556_04",
0.63095737,
1,
15
};
soundBullet[]=
{
"bullet1",
0.082999997,
"bullet2",
0.082999997,
"bullet3",
0.082999997,
"bullet4",
0.082999997,
"bullet5",
0.082999997,
"bullet6",
0.082999997,
"bullet7",
0.082999997,
"bullet8",
0.082999997,
"bullet9",
0.082999997,
"bullet10",
0.082999997,
"bullet11",
0.082999997,
"bullet12",
0.082999997
};
class Single: Mode_SemiAuto
{
class BaseSoundModeType;
class StandardSound: BaseSoundModeType
{
soundSetShot[]=
{
"TRG20_Shot_SoundSet",
"TRG20_Tail_SoundSet",
"TRG20_InteriorTail_SoundSet"
};
};
class SilencedSound: BaseSoundModeType
{
SoundSetShot[]=
{
"TRG20_silencerShot_SoundSet",
"TRG20_silencerTail_SoundSet",
"TRG20_silencerInteriorTail_SoundSet"
};
};
reloadTime=0.1;
dispersion=0.00057999999;
initSpeed=800;
recoil="recoil_single_ebr";
recoilProne="recoil_single_prone_ebr";
minRange=2;
minRangeProbab=0.30000001;
midRange=350;
midRangeProbab=0.69999999;
maxRange=500;
maxRangeProbab=0.050000001;
};
class FullAuto: Mode_FullAuto
{
class BaseSoundModeType;
class StandardSound: BaseSoundModeType
{
soundSetShot[]=
{
"TRG20_Shot_SoundSet",
"TRG20_Tail_SoundSet",
"TRG20_InteriorTail_SoundSet"
};
};
class SilencedSound: BaseSoundModeType
{
SoundSetShot[]=
{
"TRG20_silencerShot_SoundSet",
"TRG20_silencerTail_SoundSet",
"TRG20_silencerInteriorTail_SoundSet"
};
};
reloadTime=0.107;
dispersion=0.00057999999;
recoil="recoil_auto_ebr";
recoilProne="recoil_auto_prone_ebr";
minRange=0;
minRangeProbab=0.89999998;
midRange=15;
midRangeProbab=0.69999999;
maxRange=30;
maxRangeProbab=0.050000001;
aiRateOfFire=1e-006;
};
class single_close: Single
{
//requiredOpticType=1;
showToPlayer=0;
minRange=2;
minRangeProbab=0.050000001;
midRange=300;
midRangeProbab=0.80000001;
maxRange=500;
maxRangeProbab=0.0099999998;
aiRateOfFire=2;
aiRateOfFireDistance=300;
};
class single_medium: single_close
{
minRange=300;
minRangeProbab=0.050000001;
midRange=500;
midRangeProbab=0.69999999;
maxRange=700;
maxRangeProbab=0.050000001;
aiRateOfFire=2;
aiRateOfFireDistance=500;
};
class single_far: single_medium
{
//requiredOpticType=2;
minRange=300;
minRangeProbab=0.050000001;
midRange=700;
midRangeProbab=0.5;
maxRange=2000;
maxRangeProbab=0.050000001;
aiRateOfFire=4;
aiRateOfFireDistance=600;
};
class fullauto_medium: FullAuto
{
showToPlayer=0;
burst=3;
minRange=2;
minRangeProbab=0.5;
midRange=50;
midRangeProbab=0.69999999;
maxRange=100;
maxRangeProbab=0.050000001;
aiRateOfFire=2;
};
aiDispersionCoefY=3;
aiDispersionCoefX=2;
};
class braf_MD97LC_GL: Braf_MD97LC_GL_base_F
{
author="BRAF Team";
_generalMacro="braf_MD97LC_GL";
scope=2;
model="\braf\braf_weapons_assault_rifles\556mm_MD97_GL\MD97GL.p3d";
dexterity=1.6799999;
displayName="IMBEL MD97LG 5.56mm";
picture="\braf\braf_weapons_assault_rifles\556mm_MD97_GL\data\md97lg_ui.paa";
UiPicture="\A3\weapons_f\data\UI\icon_regular_CA.paa";
hiddenSelections[]=
{
"Camo"
};
hiddenSelectionsTextures[]=
{
"\braf\braf_weapons_assault_rifles\556mm_MD97_fuzil\data\MD97LC_CO.paa"
};
descriptionShort="IMBEL MD97 Assault Rifle";
inertia=0.80000001;
aimTransitionSpeed=0.69999999;
initSpeedinitSpeed=800;
class WeaponSlotsInfo: WeaponSlotsInfo
{
mass=95.901047;
};
ace_overheating_mrbs=2000;
ace_overheating_slowdownFactor=1;
ace_overheating_allowSwapBarrel=1;
ACE_barrelLength=440;
ACE_twistDirection=1;
ace_railHeightAboveBore=3.5;
ACE_barrelTwist=305;
ACE_Overheating_Dispersion=0.75;
ACE_clearJamAction="braf_GestureClear_barrel_FAL";
class ItemInfo
{
priority=1;
};
};
class braf_MD97LC_GL_Dot: braf_MD97LC_GL
{
author="BRAF Team";
_generalMacro="braf_MD97LC_GL_Dot";
class LinkedItems
{
class LinkedItemsOptic
{
slot="CowsSlot";
item="braf_Dot";
};
class LinkedItemsAcc
{
slot="PointerSlot";
item="acc_flashlight";
};
};
};

Binary file not shown.

View File

@@ -0,0 +1,94 @@
ambient[] = {1.0,1.0,1.0,1};
diffuse[] = {1.0,1.0,1.0,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.128,0.127,0.125,1};
specularPower = 30;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture="braf\braf_weapons_assault_rifles\556mm_MD97_GL\data\gl_NOHQ.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
Filter="Anizotropic";
};
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.5,0.5,0.5,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_MD97_GL\data\gl_AS.paa";
uvSource="tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
texture="braf\braf_weapons_assault_rifles\556mm_MD97_GL\data\gl_SMDI.paa";
uvSource="tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
texture = "#(ai,16,2,2)fresnel(0.45,0.25)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7
{
texture = "a3\data_f\env_land_co.paa";
useWorldEnvMap = "true";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,425 @@
class CfgSkeletons
{
class Default
{
isDiscrete=1;
skeletonInherit="";
skeletonBones[]={};
};
class MD97GL_Skel: Default
{
skeletonBones[]=
{
"magazine", "",
"charging_handle", "",
"bolt", "",
"mira", "",
"stock", "",
"coronha_2", "",
//"sling", "",
"zeroing", "",
"trigger_gl", "",
"tubos", "",
"gl_bullet", "",
"gl_cartridge" , "",
"mira_gl", "",
"municao", "",
"zasleh", "",
"trigger", "",
"optic_rail", "",
"trilho_frontal", "",
"safety", ""
};
};
};
class Rotation {
type="rotation";
memory=1;
minValue=0;
maxValue=1;
angle0=0;
angle1=1;
};
class CfgModels
{
class Default
{
sectionsInherit="";
sections[]={};
skeletonName="";
};
class MD97GL: Default
{
sections[]=
{
"zasleh","camo","camo1","camo2","camo3"
};
skeletonName="MD97GL_Skel";
class Animations
{
class BaseRotation
{
type="rotation";
source="";
selection="";
memory=1;
begin = 0;
end = 1;
axis="";
minValue=0;
maxValue=1;
angle0=0;
angle1=1;
};
///class Sling_hide
//{
// type="hide";
// source="isSelected"; //bipod
// selection="Sling";
// minValue=0;
// maxValue=1;
// hideValue=-1.0;
// unhideValue = 0.5;
//};
class trigger_move
{
type="rotation";
source="reload";
selection="trigger";
memory=1;
sourceAddress="clamp";
axis="trigger_axis";
minValue=0;
maxValue=0.30000001;
minPhase=0;
maxPhase=0.30000001;
angle0=-0.21238901;
angle1=0;
};
class charge1
{
type="translation";
source="reloadMagazine";
selection= "charging_handle";
axis="bolt_axis";
begin = "bolt_axis_end";
end = "bolt_axis_begin";
memory = 1;
minValue=0.76875;
maxValue=0.79375;
offset0="0";
offset1="-1";
};
class charge2
{
type="translation";
source="reloadMagazine";
selection= "charging_handle";
axis="bolt_axis";
begin = "bolt_axis_end";
end = "bolt_axis_begin";
memory = 1;
minValue=0.80625;
maxValue=0.825;
offset0="0";
offset1="1";
};
class bolt_move
{
type="translation";
source="reload";
selection="bolt";
memory=1;
sourceAddress="clamp";
axis="bolt_axis";
minValue=0;
maxValue=1;
minPhase=0;
maxPhase=1;
offset0=0;
offset1=0.570000001;
};
class bolt_empty
{
type="translation";
source="isEmptyNoReload";
selection="bolt";
axis="bolt_axis";
sourceAddress="clamp";
minValue=0;
maxValue=1;
offset0=0;
offset1=0.570000001;
animPeriod=0;
initPhase=0;
memory="true";
};
class reload_magazine_hide
{
type="hide";
source="reloadMagazine";
selection="magazine";
minValue=0;
maxValue=1;
hideValue = 0.126;
unhidevalue = 0.6300;
};
class unloaded_magazine_hide
{
type = "hide";
source = "hasMagazine";
selection = "magazine";
hideValue=0.100000;
};
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 bolt_reload_move_1: bolt_move {
source="reloadMagazine"; // z: should work like that only if weapon is empty
minValue=-0.56;
maxValue=-0.56;
offset1 = 1;
};
class bolt_reload_move_2: bolt_reload_move_1 {
source="reloadMagazine"; // z: should work like that only if weapon is empty
minValue=0;
maxValue=0.00001;
};
class no_magazine
{
type="hide";
source="hasMagazine";
selection="magazine";
sourceAddress="clamp";
minValue=0;
maxValue=1;
hideValue=0.5;
unHideValue=-1;
animPeriod=0;
initPhase=0;
};
class optic_rail
{
type="hide";
source="hasOptics";
selection="optic_rail";
minValue=0;
maxValue=1;
hideValue=-1.0;
unhideValue = 0.5;
};
class acessory_rail
{
type="hide";
source="hasAccessory";
selection="trilho_frontal";
minValue=0;
maxValue=1;
hideValue=-1.0;
unhideValue = 0.5;
};
//class backsight_rotate
//{
//type="rotation";
//source="zeroing1";
//selection="mira";
//axis="back_sight_axis";
//minValue=0.333;
//maxValue=0.334;
//hideValue=1;
//angle0=0;
//angle1="-rad -90";
//};
class zeroing_rotate
{
type="rotation";
source="zeroing1";
selection="zeroing";
axis="zeroing_axis";
minValue=0;
maxValue=1;
angle0=0;
angle1=-1;
};
class frontsight_rotate
{
type="rotation";
source="hasOptics";
selection="front_sight";
axis="front_sight_axis";
minValue=0;
maxValue=1;
hideValue=1;
angle0=0;
angle1="rad 90";
};
class muzzleFlashROT
{
type="rotationX";
source="ammoRandom"; //use ammo count as phase for animation
sourceAddress="loop"; //loop when phase out of bounds
selection="zasleh"; //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 stock /// not in this model, but good to use
{
type = "rotation";
source = "isselected";
sourceAddress = "clamp";
selection = "stock";
axis = "stock_axis";
minValue = 0;
maxValue = "1";
angle0 = "rad 180";
angle1 = "0";
};
// Rotation of fire mode switch
class safety_mode_rot
{
type = "rotation";
source="weaponMode";
memory=1;
selection="safety";
animPeriod=0;
axis="safety_axis";
minValue=0.0;
maxValue=1;
minPhase=0.0;
maxPhase=1;
angle0= 0;
angle1="rad 840";
};
class sight_gl_flip
{
type="rotationZ";
source="weaponMuzzle";
selection="mira_GL";
axis="sight_gl_axis";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
angle0=0;
angle1="rad 50";
};
class magazine_gl_reload_move_1
{
type="translation";
source="reloadMagazine.1";
selection="tubos";
//axis="gl_axis";//*probably*
minValue = 0.099291;//rad 5.688955
maxValue = 0.141844;//rad 8.127063
begin = "gl_start";
end = "gl_end";
offset0 = 0.0;
offset1 = 1.0;
animPeriod = 0.0;
initPhase = 0.0;
};
class magazine_gl_reload_move_2
{
type="translation";
source="reloadMagazine.1";
selection="tubos";
minValue = 0.708511;//rad 46.32427
maxValue = 0.736879;//rad 47.949635
begin = "gl_start";
end = "gl_end";
offset0 = 0.0;
offset1 = -1.0;
animPeriod = 0.0;
initPhase = 0.0;
};
class magazine_gl_reload_hide
{
type="hide";
source="reloadMagazine.1";
selection="municao";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
hideValue=0.22695;
unHideValue=0.496454;
};
class grenade_fired
{
type="hide";
source="revolving.1";
selection="municao";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
hideValue=-1;
unHideValue=0.5;
};
class gl_trigger
{
type="rotation";
source="trigger.1";
selection="trigger_gl";
sourceAddress="clamp";
axis="trigger_axis_gl";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
angle0=0;
angle1=0.5235988;
};
};
};
};