Class_name = "CTurret"
object_name = "TurretBreguet14_1"

[COCKPIT_LIMITS]
x= -0.3, 0.3
y= -0.15, 0.3
z= -0.3, 0.3
[END]

[OPEN_COCKPIT_LIMITS]
x= -0.3, 0.3
y= -0.15, 0.3
z= -0.3, 0.3
[END]

VisualImage=0,"graphics/planes/Breguet14/Breguet14-C1-low.mgm",1
VisualImage=1,"graphics/planes/Breguet14/Breguet14-C1.mgm",0
KeepNetworkImages=true

CollisionBody="graphics/planes/Breguet14/Breguet14-T.col"

VisualRadius=5.0

mp_site=true

[attach=0]
	position = 0.0, 0.01, 0.0
	object = "LuaScripts/WorldObjects/Bots/BotGunner_Breguet14_RAF17.txt"
[end]

[attach=1]
	position = 0.0, 0.0, 0.0
	object = "LuaScripts/WorldObjects/TurretRiffle.txt"
[end]

[attach=2]
	position = 0.0, 0.0, 0.0
	object = "LuaScripts/WorldObjects/TurretCamera.txt"
[end]

TargetingScript = "LuaScripts/WorldObjects/Ballistics/BULLET_GER_792x57_SS.bin"

SoundScript="LuaScripts/Sound/Planes/Breguet_14_B2_T.cfg"

DropsArg=100
HumidityArg=101

SetCockpitArgs=false	// true - автоматическое выставление значений анимаций в систему сетевых команд с указанным флагом сетевой передачи, false - в самолётах это делается в коде или в случае работы объекта только на приём

//CockpitArg= FetchType, CmdID, SubcmdID, ArgNum, ArgValDefault, SmoothingType, SmoothingPower, NetworkFlag
//FetchType=-1: аргумент в объекте не забирается для анимирования
//FetchType=-2: аргумент в объекте забирается для анимирования из самого объекта
//FetchType=-3: аргумент в объекте забирается для анимирования по сетевым командам parent-объекта
//FetchType>=0: аргумент в объекте забирается для анимирования по сетевым командам child-объекта с укзанным Attach ID
//CmdID=[0..999]: ID сетевой команды низкого качества, используемой для передачи значения.
//CmdID=[1000..1999]: ID сетевой команды среднего качества, используемой для передачи значения.
//SubcmdID=[0..3]: ID сетевой подкоманды команды низкого качества.
//SubcmdID=[0..1]: ID сетевой подкоманды команды среднего качества.
//ArgNum: номер аргумента анимации устанавливаемого в/из команды.
//ArgValDefault: дефолтное значение аргумента анимации в случае, если команда не приходила.
//SmoothingType: smooth_clamp - сглаживаение не-круговых анимаций
//SmoothingType: smooth_wrap - сглаживаение круговых анимаций
//SmoothingPower: постоянная времени сглаживания
//NetworkFlag="": отправки команды в сеть нет и нет выставления команды в случае, если SetCockpitArgs=false
//NetworkFlag="low_freq": отправка в сеть целиком команды, содержащей указанный аргумент в случае его изменения, не чаще низкой частоты
//NetworkFlag="med_freq": отправка в сеть целиком команды, содержащей указанный аргумент в случае его изменения, не чаще средней частоты
//NetworkFlag="high_freq": отправка в сеть целиком команды, содержащей указанный аргумент в случае его изменения, не чаще высокой частоты
//NetworkFlag="granted_single": отправка в сеть целиком команды, содержащей указанный аргумент в случае его изменения, с применением гарантированного пакета состояния

//CockpitArg = -2, 0000, 0, 9181, 0.0, "smooth_clamp", 0.0, "granted_single" // Отображение магазинов на сетевом фантоме
//CockpitArg = -2, 0001, 0, 9044, 0.0, "smooth_clamp", 0.5, "med_freq" // Отображение перезарядки на сетевом фантоме

[TurretsPos=0]
	position = 0.0, 0.0, 0.0
	PosMoveArg = 21300
	SeatArg=22111
	SeatUpTime=3.0
	SeatDownTime=3.0

	ReloadDelay = 0.3
	BotRotaionValueZ = 0.0	//-2.0
	LegsParameter = 0.0
	BotMinFirstAngle  = -43
	BotMaxFirstAngle  = 0
	BotMinSecondAngle = -180
	BotMaxSecondAngle = 180
	FirstToSecondInterp = 0.0
	BotAttachJointId = 0
	BotFirstAnimJointId = 1
	BotSecondAnimJointId  = 2

	relativeBotStand = 0.0, 0.0, 0.0
	relativeBotSit = 0.0, 0.0, 0.0
	relativeBotDead = 0.0, 0.0, 0.0
	TransitionStandPower = 1
	TransitionDeadPower = 1
	
	LockTurretCamera=false
	
	// Joints in orientation order!!!
	[Joint=0]
		SectorAngleMin = -180.0
		SectorAngleMax = 180.0
		DefaultPos = 0.5

		AngularSpeed   = 60.0

		AnimationArgMin = 0.0
		AnimationArgMax = 1.0

		AnimationArgNum = 21001

		Point = -0.151111, 0.758423, 0.0
		Axis = 0.0, 1.0, 0.0

		IsCycled = true

		SoundNumber = 1
	[end]

	[Joint=1]
		SectorAngleMin = -43.0
		SectorAngleMax = 0.0
		DefaultPos = 1.0
		
		AngularSpeed   = 30.0

		AnimationArgMin = 0.0
		AnimationArgMax = 1.0

		AnimationArgNum = 21002

		Point = 0.6355,0.077867,0.0
		Axis = 0.0, 0.0, 1.0

		NextLinkedId = 2

		SoundNumber = 1

		NoMoveFar=true	// Block rotation when the target is in the rear henisphere
	[end]

	[Joint=2]
		SectorAngleMin = -20
		SectorAngleMax = 45
		DefaultPos = 0.5846154
		
		AngularSpeed   = 120.0

		AnimationArgMin = 0.44444
		AnimationArgMax = 0.625

		AnimationArgNum = 21007
		
		Point = 0.0, 0.0, 0.0
		Axis  = 0.0, 0.0, 1.0

		DependFromPrevious = false
		
		PrevLinkedId = 1

		SoundNumber = 2
	[end]

	[GunAnimation=0]
		FireArg = 9040
	[end]

	[GunAnimation=1]
		FireArg = 9050
	[end]

	FireLightArg=60220

	SightPosition = 0.0, 0.5, 0.0

	defaultDirection = 1.0, -0.3249197, 0.0
	AimSector=-120, 120, -60, 90	//AI aim limits: left, right, down, up

	CamDisplacement = -0.35, 0.231, 0.1315
[end]

[TurretsGun=0]
	LinkedTurretPos = 0
//	Convex = "gun0"
	DGroup="MachineGun1"
	DamageProp = 0.25

	Displacement = 0.6653, 0.0734, -0.1297
	GunsightPosition = 0.413, 0.649, 0.0        //TODO
	ParallaxDistance = 400.0

	GunType = "LuaScripts/WorldObjects/Weapons/MG_ROF_Lewis.txt"

	ReLoadingStagesTime = 1.0, 3.0, 1.0, 0.3

	ReservedMagazinesArgIdx = 9181
	FlashAnimationArgIdx = 9040
	TriggerPositionArgIdx = 9000
	RoundsInMagazineArgIdx = 9046
	HideAmmunitionArgIdx = 9045
	ReLoadingArgIdx = 9044
	AzimuthDeviationArgIdx = 9012
	ElevationDeviationArgIdx = 9013
	FiringPinPositionArgIdx = 9016

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

	CarriageAdditionalBulletDispertionAngle = 0.0368, 0.1838 // Добавочные углы рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия, обусловленные особенностями конструкции лафета стрелкового оружия:
	// первое число - добавочный угол рассеивания при первом выстреле в очереди, [°], (>=0)
	// второе число - добавочный угол рассеивания при втором и последующих выстрелах в очереди, [°], (>= первое число)

	NumOfAnimations = 4

	BushCoord = -0.1369, 0.0734, -0.1037 
	BushSpeed = 0.0, 0.0, 1.0

	BushConfig = "LuaScripts/WorldObjects/Trash/Batch_case07-08mm.txt"

	SoundNumber = 1
[end]

[TurretsGun=1]
	LinkedTurretPos = 0
//	Convex = "gun1"
	DGroup="MachineGun2"
	DamageProp = 0.25

	Displacement = 0.6653, 0.0734, 0.1297
	GunsightPosition = 0.413, 0.649, 0.0        //TODO
	ParallaxDistance = 400.0

	GunType = "LuaScripts/WorldObjects/Weapons/MG_ROF_Lewis.txt"

	ReLoadingStagesTime = 1.0, 3.0, 1.0, 0.3

	ReservedMagazinesArgIdx = 9182
	FlashAnimationArgIdx = 9050
	TriggerPositionArgIdx = 9001
	RoundsInMagazineArgIdx = 9056
	HideAmmunitionArgIdx = 9055
	ReLoadingArgIdx = 9054
	AzimuthDeviationArgIdx = 9022
	ElevationDeviationArgIdx = 9023
	FiringPinPositionArgIdx = 9017

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

	CarriageAdditionalBulletDispertionAngle = 0.0368, 0.1838 // Добавочные углы рассеивания пуль (снарядов) относительно оси ствола стрелкового оружия, обусловленные особенностями конструкции лафета стрелкового оружия:
	// первое число - добавочный угол рассеивания при первом выстреле в очереди, [°], (>=0)
	// второе число - добавочный угол рассеивания при втором и последующих выстрелах в очереди, [°], (>= первое число)

	NumOfAnimations = 4

	BushCoord = -0.1369, 0.0734, 0.1557
	BushSpeed = 0.0, 0.0, 1.0

	BushConfig = "LuaScripts/WorldObjects/Trash/Batch_case07-08mm.txt"

	SoundNumber = 2
[end]

[Ammunition0]
	GunAmmunition0=0
	GunAmmunition1=0
[end]
[GunAmmunition0]
	MaxRoundsInMagazine = 97
	RoundsInMagazine = 97
	MaxReservedMagazines = 4
	ReservedMagazines = 4
	MaxMisFiresInMagazine = 1
	AmountRoundsWithOneTracer = 3
	ParallaxConfig="LuaScripts/WorldObjects/Ballistics/Projectiles/BULLET_ENG_7-7x56_APsmk.bin"
	BulletConfig = "LuaScripts/WorldObjects/Ballistics/Projectiles/BULLET_ENG_7-7x56_APsmk.txt"
[end]

SightPos = 0.0, 0.2, 0.0
PositionChangeTime = 1.0
StandDuration = 4.0
SitDuration = 4.0
PreEjectDuration = 4.0

// ограничения сектора обстрела, что бы ИИ не пытался наводится в указанные убласти
SectorLimits = -180.0, -163.0,  +5.0, +90.0
SectorLimits = -163.0, -155.0, -20.0, +90.0
SectorLimits = -155.0, -142.0, -29.0, +90.0

SectorLimits =  -30.0,  -22.0, -30.0, +90.0
SectorLimits =  -22.0,  +22.0, -23.0, +90.0
SectorLimits =  +22.0,  +30.0, -30.0, +90.0

SectorLimits = +142.0, +155.0, -29.0, +90.0
SectorLimits = +155.0, +163.0, -20.0, +90.0
SectorLimits = +163.0, +180.0,  +5.0, +90.0

[Entrance]
	EntrancePos= -0.25, 0.1, 0.0
	EntranceRot= 0,0,0
	JumpDir=1,7,1
[end]
[Entrance]
	EntrancePos= -0.25, 0.1, 0.0
	EntranceRot= 0,0,0
	JumpDir=-2,6,1
	SelectorDir=0,2,0	// Альтернативный метод покидания при отрицательной перегрузке более 2м/с
[end]
EjectOnlyAfterPreviousGunner = false

// Damage

CockpitSafetyRate = 0.35 //impact accelerations affect on bot treshold multiplifier (default is =1.0)

SphereHitProtection=0	//Броневая защита стрелка/пилота от осколков при закрытой кабине

Armor=0
LifeRate=50000
LifeRateFrag=5000
Firing=0.0

energyloss="",true,0.7,1000 // Потеря энергии пули при попадании, true - проверка на входе и выходе в колижн-бокс, первое эквивалентная броня на входе и выходе, второе джоулей на каждый метр пути внутри колижена
energyloss="gun0",true,5.0,20000 // Пулемет
energyloss="gun1",true,5.0,20000 // Пулемет

[DGroup=MachineGun1]
	IsCritical=false
	LifeK=20
	convex="gun0",5,600,"MT_ARMOR"
	SphereHitProtection=5
	LifeRateFrag=600
	RepairSpeed=0.0166667	// (1 минута)
	RepairSource=4
	InstantRepair=true
[end]
[DGroup=MachineGun2]
	IsCritical=false
	LifeK=20
	convex="gun1",5,600,"MT_ARMOR"
	SphereHitProtection=5
	LifeRateFrag=600
	RepairSpeed=0.0166667	// (1 минута)
	RepairSource=4
	InstantRepair=true
[end]

NoAimingWhenOpened=false

AttackDistance   = 1500.0		//AI max aim distance versus ground point
AttackDistanceTrgGnd = 1500.0	//AI max aim distance versus ground target
AttackDistanceTrgAir = 1200.0		//AI max aim distance versus air target

AIStartAimErrModifier = 0.08		//0.1 Modifier for AI initial bracketing aim error (reduced twice with each shot)

AIAimDelayModifier = 0.1		//Modifier for AI delay before start to aim to a new target at 1000m range

ReArmTime=15 // Реалистично 60с, сделано из расчета перезарядки Ил-2 за 2 минуты