
// ССК стрелкового оружия:
// Начало ССК - в центре дульного среза ствола
// Ось OX - направлена по оси ствола в направлении выстрела
// Ось OY - перпендикулярна оси OX и направлена вверх в основном положении оружия для стрельбы
// Ось OZ - образует правую тройку векторов с осями OX и OY

// 1мкс = 1 микросекунда = 10e-6 сек, соответствует частоте 1млн. Гц

Name = "Gun Name" // Название модели (образца) стрелкового оружия (не более 127 символов)

Gage = 5.45 // Калибр стрелкового оружия, [мм] (>0)

Mass = 1.0 // Масса стрелкового оружия, [кг] (>0)
MassPosition_inGunAxis = 0.0, 0.0, 0.0 // Координаты ц.м. стрелкового оружия в ССК оружия, [м]
MOI_inGunAxis = 1.0, 1.0, 1.0, 0.0, 0.0, 0.0 // Осевые (Ixx > 0, Iyy > 0, Izz > 0) и центробежные (Ixy, Ixz, Iyz) моменты инерции стрелкового оружия относительно осей, параллельных осям ССК оружия и проходящих через его ц.м, [кг*кв.м]

SnappingTime = 0.02 // Время спуска бойка стрелкового оружия, [сек], (>= 1мкс)
MainManuallyCockingTime = 1.0 // Время ручного взведения стрелкового оружия основным методом, [сек], [0 - допустимо для стрелкового оружия револьверного типа; >= 1мкс)
ReserveManuallyCockingTime = 0.7  // Время ручного взведения стрелкового оружия вспомогательным методом, [сек], [0 - допустимо для стрелкового оружия револьверного типа; >= 1мкс)
AutoCockingTime = 0.113 // Время самовзведения автоматического оружия после выстрела, [сек], [0 - оружие не автоматическое; >= 1мкс)

// Сумма SnappingTime + AutoCockingTime определяет паспортную скорострельность автоматического стрелкового оружия: RapidityOfFire = 60 / (SnappingTime + AutoCockingTime) выстрелов в минуту

ShotRate = 0 // Количество выстрелов автоматического оружия в одной очереди (>0; default=0 - не ограничено)
// ВНИМАНИЕ! Если стрелковое оружие не имеет режима автоматического самовзведения (AutoCockingTime=0) установить значение ShotRate=1

LoadersRequired = false // Требуются ли заряжающие для заряжания без задержки [false(default), true]
CockingPauseIfNoLoader = 0.0 // Задержка перезарядки в случае гибели всех заряжающих, [сек] (>=0.0; default=0.0)
CockingArgPausePhase = 0.0 // Фаза анимации перезарядки CockingArg в которой произойдет остановка и пауза [0.0...0.99] (default=0.0)

FireUnLockedSafetyLockPosition = 0.0 // Положение предохранителя стрелкового оружия, при котором спусковой крючок может быть полностью нажат, [безразм.], [0(default)...FireLockedSafetyLockPosition]
FireLockedSafetyLockPosition = 1.0 // Положение предохранителя стрелкового оружия, при котором величина нажатия спускового крючка максимально ограничена, [безразм.], [FireUnLockedSafetyLockPosition...1(default)]

FireLockedMaxTriggerPosition = 0.0 // Максимально возможное нажатие спускового крючка под предохранителем, [безразм.], [0(default)...1]
FireTriggerPosition = 0.5 // Положение спускового крючка, при котором происходит спуск бойка, [безразм.], (0...1], по умолчанию: 0.5

FiringPinPositionKeysDuringRevolverCocking = 0.0, 0.0 // Ключевые значения положения бойка в зависимости от положения спускового крючка при револьверном взводе стрелкового оружия:
//  первое число - положение спускового крючка при револьверном взводе стрелкового оружия, при котором боёк начинает взводиться, [безразм.], [0(default)...второе число)
//  второе число - положение спускового крючка при револьверном взводе стрелкового оружия, при котором боёк достигает полностью взведённого положения, [безразм.], (первое число...fireTriggerPosition], по умолчанию: 0 (не инициализировано)

FiringPinPositionKeysDuringMainManuallyCocking = 0.0, 1.0 // Ключевые значения положения бойка в цикле [0...1] ручного взведения стрелкового оружия:
//  первое число - значение фазы цикла ручного взведения стрелкового оружия, в которой боёк начинает взводиться, [безразм.], [0(default)...второе число]
//  второе число - значение фазы цикла ручного взведения стрелкового оружия, в которой боёк достигает полностью взведённого положения, [безразм.], [первое число...1(default)]

FiringPinPositionKeysDuringReserveManuallyCocking = 0.0, 1.0

FiringPinPositionKeysDuringAutoCocking = 0.0, 1.0 // Ключевые значения положения бойка в цикле [0...1] самовзведения автоматического оружия после выстрела:
//  первое число - значение фазы цикла самовзведения автоматического оружия после выстрела, в которой боёк начинает взводиться, [безразм.], [0(default)...второе число]
//  второе число - значение фазы цикла самовзведения автоматического оружия после выстрела, в которой боёк достигает полностью взведённого положения, [безразм.], [первое число...1], default = 0.0
// ВНИМАНИЕ! Если стрелковое оружие не имеет режима автоматического самовзведения (AutoCockingTime=0) оставить значения по умолчанию: FiringPinPositionKeysDuringAutoCocking = 0.0, 0.0

AmmunitionMovingKeysDuringRevolverCocking = 0.0, 0.0 // Ключевые значения протяга патронной ленты (поворота барабанного магазина) в зависимости от положения спускового крючка при револьверном взводе стрелкового оружия:
//  первое число - положение спускового крючка при револьверном взводе стрелкового оружия, при котором патронная лента начинает протягиваться (барабанный магазин начинает проворачиваться), [безразм.], [0(default)...второе число)
//  второе число - положение спускового крючка при револьверном взводе стрелкового оружия, при котором патронная лента заканчивает протягиваться (барабанный магазин заканчивает проворачиваться), [безразм.], (первое число...fireTriggerPosition], по умолчанию: 0 (не инициализировано)

AmmunitionMovingKeysDuringMainManuallyCocking = 0.0, 1.0 // Ключевые значения протяга патронной ленты (поворота барабанного магазина) в цикле [0...1] ручного взведения стрелкового оружия:
//  первое число - значение фазы цикла ручного взведения стрелкового оружия, в которой патронная лента начинает протягиваться (барабанный магазин начинает проворачиваться), [безразм.], [0(default)...второе число]
//  второе число - значение фазы цикла ручного взведения стрелкового оружия, в которой патронная лента заканчивает протягиваться (барабанный магазин заканчивает проворачиваться), [безразм.], [первое число...1(default)]

AmmunitionMovingKeysDuringReserveManuallyCocking = 0.0, 1.0

AmmunitionMovingKeysDuringAutoCocking = 0.0, 1.0 // Ключевые значения протяга патронной ленты (поворота барабанного магазина) в цикле [0...1] самовзведения автоматического оружия после выстрела:
//  первое число - значение фазы цикла самовзведения автоматического оружия после выстрела, в которой патронная лента начинает протягиваться (барабанный магазин начинает проворачиваться, [безразм.], [0(default)...второе число]
//  второе число - значение фазы цикла самовзведения автоматического оружия после выстрела, в которой патронная лента заканчивает протягиваться (барабанный магазин заканчивает проворачиваться, [безразм.], [первое число...1], default = 0.0
// ВНИМАНИЕ! Если стрелковое оружие не имеет режима автоматического самовзведения (AutoCockingTime=0) оставить значения по умолчанию: AmmunitionMovingKeysDuringAutoCocking = 0.0, 0.0

AmmunitionMovingIfCocked = true	// true (default) - выполнить повторный протяг патронной ленты (поворот барабанного магазина) в режиме ручного взведения стрелкового оружия, если оружие уже было взведено
				// false - не выполнять протяг патронной ленты (поворот барабанного магазина) при повторном взведении стрелкового оружия

CockBeforeReload = true // Флаг, определяющий момент взведения затвора при перезарядке магазина [true - перед началом снятия старого магазина; false (default) - после установки нового магазина]

CartridgeCaseReleaseDuringMainManuallyCocking = 0.5 // Момент времени сброса гильзы в гильзоотвод в цикле [0...1] ручного взведения стрелкового оружия, [безразм.], [0...1], по умолчанию: 0.5
CartridgeCaseReleaseDuringReserveManuallyCocking = 0.5
CartridgeCaseReleaseDuringAutoCocking = 0.5 // Момент времени сброса гильзы в гильзоотвод в цикле [0...1] самовзведения автоматического оружия после выстрела, [безразм.], [0(default)...1]
// ВНИМАНИЕ! Если стрелковое оружие не имеет режима автоматического самовзведения (AutoCockingTime=0) оставить значение по умолчанию: cartridgeCaseReleaseDuringAutoCocking = 0.0

CartridgeCasesEjectionPosition = 0.0, 0.0, 0.0 // Координаты точки выброса стрелянных гильз стрелкового оружия в ССК стрелкового оружия, [м]
CartridgeCasesEjectionSpeed = 0.0, 0.0, 0.0 // Вектор линейной скорости выброса стрелянных гильз стрелкового оружия в ССК стрелкового оружия, [м/сек]

BarrelTemperatureIncreasePerShot = 4.0 // Коэффициент увеличения температуры ствола стрелкового оружия за 1 выстрел, [°С/выстрел], (>0)
BarrelTemperatureDecreaseCoefficient = 0.045 // Коэффициент уменьшения температуры ствола стрелкового оружия, находящегося в неподвижном состоянии, при перепаде температуры ствола и окружающего воздуха на 1°C, за 1 секунду, при стандартном атмосферном давлении (1 атм.), [°C/сек], (>0)

BulletDispertionAngleData = 0.2, 0.5, 700.0, 6.0 // Закон увеличения угла рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия в зависимости от абсолютной температуры ствола:
//  первое число - минимальный (теоретический) угол рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия при абсолютной температуре ствола: Т = 0°K = -273.15°С, [°], (>=0)
//  второе число - угол рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия при абсолютной температуре ствола, заданной третьим числом, [°], (>= первое число)
//  третье число - абсолютная температура ствола стрелкового оружия, при которой во втором числе задан угол рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия, [°С], (> -273.15)
//  четвёртое число - степень зависимости угла рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия от абсолютной температуры ствола стрелкового оружия, [безразм], (>=1)

BulletSpeedReducingData = 0.01, 700.0, 0.1, 0.05, 6.0 // Закон уменьшения и разброса начальной скорости пули (снаряда) на вылете из ствола стрелкового оружия в зависимости от абсолютной температуры ствола:
//  первое число - максимальное (теоретическое) значение коэффициента разброса начальной скорости пули (снаряда) на вылете из ствола стрелкового оружия при абсолютной температуре ствола: Т = 0°K = -273.15°С, [безразм.], [0...1)
//  второе число - абсолютная температура ствола стрелкового оружия, при которой в третьем и четвёртом числах заданы коэффициенты уменьшения средней начальной скорости и разброса начальной скорости пули (снаряда) на вылете из ствола стрелкового оружия, [°С], (> -273.15)
//  третье число - значение коэффициента уменьшения средней начальной скорости пули (снаряда) на вылете из ствола стрелкового оружия при абсолютной температуре ствола, заданной вторым числом, [безразм.], (0...1]
//  четвёртое  число - значение коэффициента разброса начальной скорости пули (снаряда) на вылете из ствола стрелкового оружия при абсолютной температуре ствола, заданной вторым числом, [безразм.], [первое число...1)
//  пятое число - степень зависимости коэффициентов уменьшения средней начальной скорости и разброса начальной скорости пули (снаряда) на вылете из ствола стрелкового оружия от абсолютной температуры ствола стрелкового оружия, [безразм], (>=1)

BulletMisfireData= 0.0, 0.01, 700.0, 6.0 // Закон увеличения вероятности осечки при выстреле в зависимости от абсолютной температуры ствола:
//  первое число - вероятность осечки каждого очередного выстрела при абсолютной температуре ствола: Т = 0°K = -273.15°С, [°], (>=0)
//  второе число - вероятность осечки каждого очередного выстрела при при абсолютной температуре ствола, заданной третьим числом, [°], (>= первое число)
//  третье число - абсолютная температура ствола стрелкового оружия, при которой во втором числе задана вероятность осечки разогретого оружия, [°С], (> -273.15)
//  четвёртое число - степень зависимости вероятности осечки от абсолютной температуры ствола стрелкового оружия, [безразм], (>=1)

ShotAnimationPeriod = 0.133 // Временной период цикла анимации эффектов выстрела, [сек], [1мкс... (SnappingTime + AutoCockingTime)]

[DrawAnimation=0] // Уникальный идентификационный номер дополнительного аргумента графической анимации данной модели (образца) стрелкового оружия, (>=0)

	SmoothAsPeriodic = false // Режим сглаживания значения аргумента графической анимации при его отображении: false - как не циклический, true - как циклический

	RePlayIfCocked = true // [true (default) - выполнить повторную анимацию в режиме ручного взведения стрелкового оружия, если оружие уже было взведено; false - не выполнять анимацию при повторном взведении стрелкового оружия]

	[GunMode=Snapping] // Режим спуска бойка стрелкового оружия

		Point = 0.0, 0.0 // Ключевое значение аргумента графической анимации стрелкового оружия в заданном режиме:
				 // первое число - фаза работы стрелкового оружия в заданном режиме, [безразм.], [0...1]
				 // второе число - соответствующее этой фазе ключевое значение аргумента графической анимации стрелкового оружия, [безразм.], [0...1]
				 // Между различными ключевыми значениями аргумента графической анимации стрелкового оружия в заданном режиме производится линейная интерполяция
		Point = 0.5, 0.0
		Point = 1.0, 0.0
	[end]

	[GunMode=AutoCocking] // Режим самовзведения автоматического оружия после выстрела
		Point = 0.0, 0.0
		Point = 0.5, 0.0
		Point = 1.0, 0.0
	[end]

	[GunMode=MainManuallyCocking] // Режим ручного взведения стрелкового оружия
		Point = 0.0, 0.0
		Point = 0.0, 0.0
		Point = 0.0, 0.0
	[end]

	[GunMode=ReLoading] // Режим перезарядки стрелкового оружия
		Point = 0.0, 0.0
		Point = 0.0, 0.0
		Point = 0.0, 0.0
	[end]

[end]
