Files
braf/braf_weapons_sniper_rifles/762mm_HK417/model.cfg

379 lines
8.0 KiB
INI

class CfgSkeletons
{
class AMF_714_Long_skeleton
{
pivotsModel="";
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] =
{
"trigger", "", /// not in this model, but good to use
"bolt", "",
"bolt_catch", "",
"magazine", "",
"safety", "",
"muzzleFlash", "",
"OP", "",
"ForeSight", "",
"BackSight", ""
};
};
class AMF_Bipod_614_long_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)
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
{
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_714_Long_Base: Rifle
{
skeletonName = "AMF_714_Long_skeleton";
sectionsInherit = "";
sections[] = {"muzzleFlash","Camo1","camo2","camo3"};
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 AMF_417_long : AMF_714_Long_Base {};
};