-- D553 NAVE DORIA

-- Objects on Water

mount_vfs_texture_path  (current_mod_path.."/Textures/Horizon_Class_AndreaDoria.zip")
mount_vfs_texture_path  (current_mod_path.."/Textures/Textures_Fremm.zip")
GT = {};
GT_t.ws = 0;

set_recursive_metatable(GT, GT_t.generic_ship)

GT.visual = {}
GT.visual.shape = "D553_DORIA"
GT.visual.shape_dstr = ""

GT.animation_arguments.radar1_rotation = 11; -- вращение радара 1
GT.radar1_period = 3;
GT.animation_arguments.radar2_rotation = -1; -- вращение радара 2 отсутствует
GT.animation_arguments.radar3_rotation = -1; -- вращение радара 3 отсутствует
GT.animation_arguments.water_propeller = 8;

GT.life = 2700;
GT.mass = 9.59e+006;
GT.max_velocity = 15.4333
GT.race_velocity = 15.4333
GT.economy_velocity = 10.2889
GT.economy_distance = 1.1112e+007
GT.race_distance = 2.778e+006
GT.shipLength = 160.7
GT.Width = 18.4
GT.Height = 37.2
GT.Length = 172.34
GT.DeckLevel = 8

GT.X_nose = 75.7412
GT.X_tail = -65
GT.Tail_Width = 15

GT.Gamma_max = 0.35
GT.Om = 0.02
GT.speedup = 0.229734
GT.R_min = 345.6
GT.distFindObstacles = 568.4

GT.numParking = 1
GT.Helicopter_Num_ = 2

GT.airWeaponDist = 100000
GT.airFindDist = 150000

GT.Landing_Point = {-60.0, 7.40, 0.0}

-----------------------------------------------------------------------------------
--  Damage Section
----------------------------------------------------------------------------------

GT.DM = {
    { area_name = "NOSE_R",			area_arg = 70,	area_life = 110, area_fire = { pos = {50.0, 4.0, 5.0}, size = 0.8}},
    { area_name = "BORT_R",			area_arg = 71,	area_life = 110, area_fire = { pos = {0.0,  2.0, 8.0}, size = 0.8}},
    { area_name = "KORMA_R", 		area_arg = 72,	area_life = 110, area_fire = { pos = {-70.0, 2.0, 7.7}, size = 0.8}},
    { area_name = "NOSE_L", 		area_arg = 73,	area_life = 110, area_fire = { pos = {50.0, 4.0, -5.0}, size = 0.8}},
    { area_name = "BORT_L", 		area_arg = 74,	area_life = 110, area_fire = { pos = {0.0,  2.0, -8.0}, size = 0.8}},
    { area_name = "KORMA_L", 		area_arg = 75,	area_life = 110, area_fire = { pos = {-70.0, 2.0, -7.7}, size = 0.8}},
	{ area_name = "NOSE_TOP",		area_arg = 76,	area_life = 80,  area_fire = { pos = {41.5, 7.5, 0.0}, size = 0.5}},
    { area_name = "RUBKA_TOP",		area_arg = 77,	area_life = 100,},
	{ area_name = "HP",				area_arg = 78,	area_life = 80,  area_fire = { pos = {-44.0, 9.6, 0.0}, size = 0.5}},
	{ area_name = "KORMA_BACK", 	area_arg = 79,	area_life = 110, area_fire = { pos = {-85.7, 2.0, 0.0}, size = 0.5}},
	{ area_name = "KABINA",			area_arg = 80,	area_life = 220, area_fire = { pos = {29.0, 15.0, 0.0}, size = 1.5}},
	{ area_name = "BORT_TOP_Back", 	area_arg = 81,	area_life = 80,  area_fire = { pos = {-62.5, 7.0, 0.0}, size = 0.5}},
	{ area_name = "NADSTROYKA",		area_arg = 82,	area_life = 220, area_fire = { pos = {-23.0, 12.0, 0.0}, size = 1.5}},
	{ area_name = "SUPERSTRUCTURE_Mid",	area_arg = 83,	area_life = 320, area_fire = { pos = {6.0, 8.0, 0.0}, size = 1.5}},
	{ area_name = "KORMA_TOP", 		area_arg = 84,	area_life = 40, area_fire = { pos = {-80.5, 4.2, 0.0}, size = 1.0}},
    { area_name = "TOWER_NOSE",		area_arg = 97,	area_life = 60, area_fire = { pos = {53.0, 9.0, 0.0}, size = 0.5}},
	{ area_name = "TOWER_KORMA",	area_arg = 98,	area_life = 60, area_fire = { pos = {-73.5, 5.5, 0.0}, size = 0.5}},
    { area_name = "ZA_R",			area_arg = 99,	area_life = 27, area_fire = { pos = {3.7, 17.15, 6.25}, size = 0.5}},
    { area_name = "ZA_L",			area_arg = 100,	area_life = 27, area_fire = { pos = {3.7, 17.15, -6.25}, size = 0.5}},
}

-- weapon systems
GT.WS = {}
local ws;
GT.WS.maxTargetDetectionRange = 650000;
GT.WS.radar_type = 102
GT.WS.searchRadarMaxElevation = math.rad(60);
GT.WS.searchRadarFrequencies = {{50.0e6, 54.0e6}, {2.0e9, 2.2e9}}

--[[
-- Nose Machineguns M2 .50cal
ws = GT_t.inc_ws();
GT.WS[ws] = {}
GT.WS[ws].center = 'CENTER_TOWER_07'
GT.WS[ws].drawArgument1 = 49
GT.WS[ws].drawArgument2 = 50
GT.WS[ws].angles = {
					{math.rad(20), math.rad(-145), math.rad(-5), math.rad(70)},
					};
__LN = add_launcher(GT.WS[ws], GT_t.LN_t.machinegun_12_7_M2);
__LN.BR[1].connector_name = 'POINT_GUN_07'
__LN.fireAnimationArgument = 125;

ws = GT_t.inc_ws();
GT.WS[ws] = {}
GT.WS[ws].center = 'CENTER_TOWER_06'
GT.WS[ws].drawArgument1 = 51
GT.WS[ws].drawArgument2 = 52
GT.WS[ws].angles = {
					{math.rad(145), math.rad(-20), math.rad(-5), math.rad(70)},
					};
__LN = add_launcher(GT.WS[ws], GT_t.LN_t.machinegun_12_7_M2);
__LN.BR[1].connector_name = 'POINT_GUN_06'
__LN.fireAnimationArgument = 124;

ws = GT_t.inc_ws();
GT.WS[ws] = {}
GT.WS[ws].center = 'CENTER_TOWER_08'
GT.WS[ws].drawArgument1 = 42
GT.WS[ws].drawArgument2 = 43
GT.WS[ws].reference_angle_Y = math.rad(-90);
GT.WS[ws].angles = {
					{math.rad(-15), math.rad(-170), math.rad(-5), math.rad(70)},
					};
__LN = add_launcher(GT.WS[ws], GT_t.LN_t.machinegun_12_7_M2);
__LN.BR[1].connector_name = 'POINT_GUN_08'
__LN.fireAnimationArgument = 123;


-- Bushmaster Autogun
ws = GT_t.inc_ws();
GT.WS[ws] = {}
GT.WS[ws].center = 'Center_Tower_05'
GT.WS[ws].drawArgument1 = 40
GT.WS[ws].drawArgument2 = 41
GT.WS[ws].angles = {
                    {math.rad(170), math.rad(10), math.rad(-5), math.rad(40)},
                    };
GT.WS[ws].reference_angle_Y = math.rad(90);
__LN = add_launcher(GT.WS[ws], GT_t.LN_t.automatic_gun_25mm);
__LN.BR[1].connector_name = 'Point_Gun_03'
__LN.fireAnimationArgument = 120;

ws = GT_t.inc_ws();
GT.WS[ws] = {}
GT.WS[ws].center = 'Center_Tower_06'
GT.WS[ws].drawArgument1 = 38
GT.WS[ws].drawArgument2 = 39
GT.WS[ws].angles = {
                    {math.rad(-10), math.rad(-170), math.rad(-5), math.rad(40)},
                    };
GT.WS[ws].reference_angle_Y = math.rad(-90);
__LN = add_launcher(GT.WS[ws], GT_t.LN_t.automatic_gun_25mm);
__LN.BR[1].connector_name = 'Point_Gun_04'
__LN.fireAnimationArgument = 121;


-- CIWS Phalanxs
ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.phalanx )
GT.WS[ws].area = 'ZA_L'
GT.WS[ws].center = 'CENTER_TOWER_04'
GT.WS[ws].drawArgument1 = 36
GT.WS[ws].drawArgument2 = 37
GT.WS[ws].angles[1][1] = math.rad(177);
GT.WS[ws].angles[1][2] = math.rad(3);
GT.WS[ws].reference_angle_Y = math.rad(90);
GT.WS[ws].LN[1].fireAnimationArgument = 119;
GT.WS[ws].LN[1].BR[1].connector_name = 'POINT_GUN_02'

ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.phalanx )
GT.WS[ws].area = 'ZA_R'
GT.WS[ws].center = 'CENTER_TOWER_03'
GT.WS[ws].drawArgument1 = 25
GT.WS[ws].drawArgument2 = 26
GT.WS[ws].angles[1][1] = math.rad(-3);
GT.WS[ws].angles[1][2] = math.rad(-170);
GT.WS[ws].reference_angle_Y = math.rad(-90);
GT.WS[ws].LN[1].fireAnimationArgument = 118;
GT.WS[ws].LN[1].BR[1].connector_name = 'POINT_GUN_03'
--]]

-- Artillery Guns
ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.ship_FMC5 )
GT.WS[ws].area = 'TOWER_NOSE'
GT.WS[ws].center = 'CENTER_TOWER_12'
GT.WS[ws].drawArgument1 = 0
GT.WS[ws].drawArgument2 = 1
GT.WS[ws].angles[1][1] = math.rad(170);
GT.WS[ws].angles[1][2] = math.rad(-170);
GT.WS[ws].LN[1].BR[1].connector_name = 'Point_Gun_01'
GT.WS[ws].LN[1].BR[1].recoilArgument = 33;
GT.WS[ws].LN[1].BR[1].recoilTime = 0.2;

ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.ship_FMC5 )
GT.WS[ws].area = 'TOWER_KORMA'
GT.WS[ws].center = 'CENTER_TOWER_02'
GT.WS[ws].drawArgument1 = 13
GT.WS[ws].drawArgument2 = 14
GT.WS[ws].angles[1][1] = math.rad(-170);
GT.WS[ws].angles[1][2] = math.rad(170);
--GT.WS[ws].reference_angle_Y = math.rad(-180);
GT.WS[ws].LN[1].BR[1].connector_name = 'Point_Gun_02'
GT.WS[ws].LN[1].BR[1].recoilArgument = 33;
GT.WS[ws].LN[1].BR[1].recoilTime = 0.2;


-- Harpoon
ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.ship_HARPOON )
GT.WS[ws].area = 'KORMA_TOP';
GT.WS[ws].pos = {-83.594,7.002,-4.54}
GT.WS[ws].LN[1].PL[1].ammo_capacity = 8;
GT.WS[ws].LN[1].BR = {
						{connector_name = 'Rocket_Point_123', drawArgument = 153},
						{connector_name = 'Rocket_Point_124', drawArgument = 154},
						{connector_name = 'Rocket_Point_125', drawArgument = 155},
						{connector_name = 'Rocket_Point_126', drawArgument = 156},
						{connector_name = 'Rocket_Point_127', drawArgument = 157},
						{connector_name = 'Rocket_Point_128', drawArgument = 158},
						{connector_name = 'Rocket_Point_129', drawArgument = 159},
						{connector_name = 'Rocket_Point_130', drawArgument = 160},
					}
-- 9 AIGES trackers

ws = GT_t.inc_ws();
local first_EGES_tracker_id = ws;
GT.WS[ws] = {
	omegaY = 2,
	omegaZ = 2,
	pidY = {p=100, i=0.05, d=12, inn = 50},
	pidZ = {p=100, i=0.05, d=12, inn = 50},
	area = 'KABINA',
	pos = {0.0, 19.0, 0.0},
	angles = { {math.rad(180), math.rad(-180), math.rad(-90), math.rad(80)} },
	LN = {
		[1] = {
			type = 102,
			frequencyRange = {0.5e9, 0.58e9},
			distanceMin = 1000,
			distanceMax = 150000,
			reactionTime = 2.0,
			reflection_limit = 0.1,
			ECM_K = 0.5,
			min_trg_alt = 5,
			max_trg_alt = 30000,
			max_number_of_missiles_channels = 2,
			beamWidth = math.rad(90);
		}
	}
};
local AIGES_TRACKERS = {{{'self', ws}}}

for i=2,9 do
	ws = GT_t.inc_ws();
	GT.WS[ws] = {};
	set_recursive_metatable(GT.WS[ws], GT.WS[first_EGES_tracker_id]);
	table.insert(AIGES_TRACKERS, {{'self', ws}})
end;

--SM2 SAM
ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.ship_MK41_SM2 )
GT.WS[ws].area = 'NOSE_TOP'
GT.WS[ws].center = 'Rocket_Point_36'
GT.WS[ws].LN[1].depends_on_unit = AIGES_TRACKERS
GT.WS[ws].LN[1].PL[1].ammo_capacity = 61;
GT.WS[ws].LN[1].BR = {
	{connector_name = 'Rocket_Point_01', drawArgument = 188},
	{connector_name = 'Rocket_Point_02', drawArgument = 189},
	{connector_name = 'Rocket_Point_03', drawArgument = 190},
	{connector_name = 'Rocket_Point_04', drawArgument = 191},
	{connector_name = 'Rocket_Point_05', drawArgument = 192},
	{connector_name = 'Rocket_Point_06', drawArgument = 193},
	{connector_name = 'Rocket_Point_07', drawArgument = 194},
	{connector_name = 'Rocket_Point_08', drawArgument = 195},
	
	{connector_name = 'Rocket_Point_09', drawArgument = 196},
	{connector_name = 'Rocket_Point_10', drawArgument = 197},
	{connector_name = 'Rocket_Point_11', drawArgument = 198},
	{connector_name = 'Rocket_Point_12', drawArgument = 199},
	{connector_name = 'Rocket_Point_13', drawArgument = 200},
	{connector_name = 'Rocket_Point_14', drawArgument = 201},
	{connector_name = 'Rocket_Point_15', drawArgument = 202},
	{connector_name = 'Rocket_Point_16', drawArgument = 203},
	
	{connector_name = 'Rocket_Point_17', drawArgument = 204},
	{connector_name = 'Rocket_Point_18', drawArgument = 205},
	{connector_name = 'Rocket_Point_19', drawArgument = 206},
	{connector_name = 'Rocket_Point_20', drawArgument = 207},
	{connector_name = 'Rocket_Point_21', drawArgument = 208},
	{connector_name = 'Rocket_Point_22', drawArgument = 209},
	{connector_name = 'Rocket_Point_23', drawArgument = 210},
	{connector_name = 'Rocket_Point_24', drawArgument = 211},
	
	{connector_name = 'Rocket_Point_25', drawArgument = 212},
	{connector_name = 'Rocket_Point_26', drawArgument = 213},
	{connector_name = 'Rocket_Point_27', drawArgument = 214},
	{connector_name = 'Rocket_Point_28', drawArgument = 215},
	{connector_name = 'Rocket_Point_29', drawArgument = 216},
	{connector_name = 'Rocket_Point_30', drawArgument = 217},
	{connector_name = 'Rocket_Point_31', drawArgument = 218},
	{connector_name = 'Rocket_Point_32', drawArgument = 219},
	
	{connector_name = 'Rocket_Point_33', drawArgument = 220},
	{connector_name = 'Rocket_Point_34', drawArgument = 221},
	{connector_name = 'Rocket_Point_35', drawArgument = 222},
	{connector_name = 'Rocket_Point_36', drawArgument = 223},
	{connector_name = 'Rocket_Point_37', drawArgument = 224},
	{connector_name = 'Rocket_Point_38', drawArgument = 225},
	{connector_name = 'Rocket_Point_39', drawArgument = 226},
	{connector_name = 'Rocket_Point_40', drawArgument = 227},
	
	{connector_name = 'Rocket_Point_41', drawArgument = 228},
	{connector_name = 'Rocket_Point_42', drawArgument = 229},
	{connector_name = 'Rocket_Point_43', drawArgument = 230},
	{connector_name = 'Rocket_Point_44', drawArgument = 231},
	{connector_name = 'Rocket_Point_45', drawArgument = 232},
	
	{connector_name = 'Rocket_Point_46', drawArgument = 233},
	{connector_name = 'Rocket_Point_47', drawArgument = 234},
	{connector_name = 'Rocket_Point_48', drawArgument = 235},
	{connector_name = 'Rocket_Point_49', drawArgument = 236},
	{connector_name = 'Rocket_Point_50', drawArgument = 237},
	{connector_name = 'Rocket_Point_51', drawArgument = 238},
	{connector_name = 'Rocket_Point_52', drawArgument = 239},
	{connector_name = 'Rocket_Point_53', drawArgument = 240},
	
	{connector_name = 'Rocket_Point_54', drawArgument = 241},
	{connector_name = 'Rocket_Point_55', drawArgument = 242},
	{connector_name = 'Rocket_Point_56', drawArgument = 243},
	{connector_name = 'Rocket_Point_57', drawArgument = 244},
	{connector_name = 'Rocket_Point_58', drawArgument = 245},
	{connector_name = 'Rocket_Point_59', drawArgument = 246},
	{connector_name = 'Rocket_Point_60', drawArgument = 247},
	{connector_name = 'Rocket_Point_61', drawArgument = 248},
}

--[[
-- Back SM-2 VLS
ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.ship_MK41_SM2 )
GT.WS[ws].area = 'BORT_TOP_Back'
GT.WS[ws].center = 'Rocket_Point_115'
GT.WS[ws].LN[1].depends_on_unit = AIGES_TRACKERS
GT.WS[ws].LN[1].PL[1].ammo_capacity = 29;
GT.WS[ws].LN[1].BR = {
	{connector_name = 'Rocket_Point_94', drawArgument = 281},
	{connector_name = 'Rocket_Point_95', drawArgument = 282},
	{connector_name = 'Rocket_Point_96', drawArgument = 283},
	{connector_name = 'Rocket_Point_97', drawArgument = 284},
	{connector_name = 'Rocket_Point_98', drawArgument = 285},
	{connector_name = 'Rocket_Point_99', drawArgument = 286},
	{connector_name = 'Rocket_Point_100', drawArgument = 287},
	{connector_name = 'Rocket_Point_101', drawArgument = 288},
	
	{connector_name = 'Rocket_Point_102', drawArgument = 289},
	{connector_name = 'Rocket_Point_103', drawArgument = 290},
	{connector_name = 'Rocket_Point_104', drawArgument = 291},
	{connector_name = 'Rocket_Point_105', drawArgument = 292},
	{connector_name = 'Rocket_Point_106', drawArgument = 293},
	
	{connector_name = 'Rocket_Point_107', drawArgument = 294},
	{connector_name = 'Rocket_Point_108', drawArgument = 295},
	{connector_name = 'Rocket_Point_109', drawArgument = 296},
	{connector_name = 'Rocket_Point_110', drawArgument = 297},
	{connector_name = 'Rocket_Point_111', drawArgument = 298},
	{connector_name = 'Rocket_Point_112', drawArgument = 299},
	{connector_name = 'Rocket_Point_113', drawArgument = 300},
	{connector_name = 'Rocket_Point_114', drawArgument = 301},
	
	{connector_name = 'Rocket_Point_115', drawArgument = 302},
	{connector_name = 'Rocket_Point_116', drawArgument = 303},
	{connector_name = 'Rocket_Point_117', drawArgument = 304},
	{connector_name = 'Rocket_Point_118', drawArgument = 305},
	{connector_name = 'Rocket_Point_119', drawArgument = 306},
	{connector_name = 'Rocket_Point_120', drawArgument = 307},
	{connector_name = 'Rocket_Point_121', drawArgument = 308},
	{connector_name = 'Rocket_Point_122', drawArgument = 309},
}


-- Tomahawk
ws = GT_t.inc_ws();
GT.WS[ws] = {}
set_recursive_metatable(GT.WS[ws], GT_t.WS_t.ship_TOMAHAWK )
GT.WS[ws].area = 'BORT_TOP_Back';
GT.WS[ws].center = 'Rocket_Point_86';
GT.WS[ws].LN[1].max_number_of_missiles_channels = 32; -- unlimited
GT.WS[ws].LN[1].PL[1].ammo_capacity = 32;
GT.WS[ws].LN[1].BR = {
	{connector_name = 'Rocket_Point_62', drawArgument = 249},
	{connector_name = 'Rocket_Point_63', drawArgument = 250},
	{connector_name = 'Rocket_Point_64', drawArgument = 251},
	{connector_name = 'Rocket_Point_65', drawArgument = 252},
	{connector_name = 'Rocket_Point_66', drawArgument = 253},
	{connector_name = 'Rocket_Point_67', drawArgument = 254},
	{connector_name = 'Rocket_Point_68', drawArgument = 255},
	{connector_name = 'Rocket_Point_69', drawArgument = 256},
	
	{connector_name = 'Rocket_Point_70', drawArgument = 257},
	{connector_name = 'Rocket_Point_71', drawArgument = 258},
	{connector_name = 'Rocket_Point_72', drawArgument = 259},
	{connector_name = 'Rocket_Point_73', drawArgument = 9},
	{connector_name = 'Rocket_Point_74', drawArgument = 261},
	{connector_name = 'Rocket_Point_75', drawArgument = 262},
	{connector_name = 'Rocket_Point_76', drawArgument = 263},
	{connector_name = 'Rocket_Point_77', drawArgument = 264},
	
	{connector_name = 'Rocket_Point_78', drawArgument = 265},
	{connector_name = 'Rocket_Point_79', drawArgument = 266},
	{connector_name = 'Rocket_Point_80', drawArgument = 267},
	{connector_name = 'Rocket_Point_81', drawArgument = 268},
	{connector_name = 'Rocket_Point_82', drawArgument = 269},
	{connector_name = 'Rocket_Point_83', drawArgument = 270},
	{connector_name = 'Rocket_Point_84', drawArgument = 271},
	{connector_name = 'Rocket_Point_85', drawArgument = 272},
	
	{connector_name = 'Rocket_Point_86', drawArgument = 273},
	{connector_name = 'Rocket_Point_87', drawArgument = 274},
	{connector_name = 'Rocket_Point_88', drawArgument = 275},
	{connector_name = 'Rocket_Point_89', drawArgument = 276},
	{connector_name = 'Rocket_Point_90', drawArgument = 277},
	{connector_name = 'Rocket_Point_91', drawArgument = 278},
	{connector_name = 'Rocket_Point_92', drawArgument = 279},
	{connector_name = 'Rocket_Point_93', drawArgument = 280},
}
--]]

GT.Name = "DORIA"
GT.DisplayName = _("D553-DORIA")
GT.Rate = 4000

GT.Sensors = {  OPTIC = {"long-range naval optics", "long-range naval LLTV", "long-range naval FLIR",},
                RADAR = {
                    "Patriot str",
                    "ticonderoga search radar",
                }
            };
			
GT.TACAN			= true;
GT.DetectionRange  = GT.airFindDist;
GT.ThreatRange = GT.airWeaponDist;
GT.Singleton   ="no";
GT.mapclasskey = "P0091000067";
GT.attribute = {wsType_Navy,wsType_Ship,wsType_ArmedShip,TICONDEROGA,
                    "Cruisers",
                    "RADAR_BAND1_FOR_ARM",
                    "DetectionByAWACS",
				};
GT.Categories = {
					{name = "Armed Ship"},
					{name = "HelicopterCarrier"}
				};
				
add_surface_unit(GT)				