diff --git a/BUK-M2/BUK-M2-set.xml b/BUK-M2/BUK-M2-set.xml
index d75e1b4..6f47649 100644
--- a/BUK-M2/BUK-M2-set.xml
+++ b/BUK-M2/BUK-M2-set.xml
@@ -60,6 +60,7 @@
pinto
BUK-M2
+ BUK-M2 is a modern Russian self-propelled surface to air missile system.
alpha
0.1
@@ -87,6 +88,19 @@
Aircraft/BUK-M2/splash1.png
+
+
+ exterior
+ true
+ gui/1.png
+
+
+ exterior
+ true
+ gui/2.png
+
+
+
true
@@ -106,6 +120,10 @@
+
+ true
+
+
Systems/fbw.xml
@@ -119,8 +137,10 @@
+ 250
0
+ 0
@@ -138,9 +158,41 @@
+ -
+
+ enemies
+
+ dialog-show
+ enemies
+
+
+ -
+
+ enemies
+
+ dialog-show
+ priority
+
+
+
+
+
+ enemies/e1
+ enemies/e2
+ enemies/e3
+ enemies/e4
+ enemies/e5
+ enemies/e6
+ enemies/e7
+ enemies/e8
+ enemies/e9
+ enemies/e10
+ enemies/e11
+ enemies/e12
+
@@ -149,33 +201,33 @@
false
- 4.15986
- -2.70311
- 3.67645
+ 2.00744
+ -1.27342
+ 4.26168
false
- -0.02697
- -0.98148
- 3.94307
+ 2.00744
+ -0.42511
+ 4.26168
false
- 4.15986
- 2.70311
- 3.67645
+ 2.00744
+ 0.42511
+ 4.26168
false
- -0.02697
- 0.98148
- 3.94307
+ 2.00744
+ 1.27342
+ 4.26168
false
@@ -195,44 +247,54 @@
Aircraft/BUK-M2/Models/Armament/Weapons/
+ true
+ true
+ rotors/main/blade[0]/flap-deg
+ rotors/main/blade[1]/flap-deg
+ rotors/main/blade[2]/flap-deg
+ true
+ 1
+ controls/armament
+ station
true
true
-
+
- false
- 0.0
0.00
0.15
- 0.1
radar
- APN
+ APN0506
true
- 31
+ 31
360
- 360
- 24
- 18000
- 6000
- 8
- 18
- 1576
- 145
- 900
- 0.15
- 1.312336
+ 170
+ 24
+ 16500
+ 0
+ 15
+ 0
+ 1576
+ 145
+ 900
+ 0.25
+ 1.312336
2
- 0.35
- 120
+ 0.5
+ 60
3000
0
- 2.0
- 200
- true
- 5.5
+ 1.6
+ 200
+ true
+ 5.5
false
- 30
+ 24
+ 0.95
+ 3
+ 1
A
Bird away
+ true
@@ -250,6 +312,38 @@
+
+
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ 4
+ 600
+ 100
+
+
+
+ Leto
+ swamp
+ pinto
+ fb237
+ Wilco-1
+ Kokos
+ J-Mav16
+ S
+ Raider1
+ Slobb
+ 5H1N0B1
+ SNOWY1
+
+
+ 0
+ 1
@@ -261,6 +355,9 @@
Aircraft/BUK-M2/Nasal/radar-logic.nas
+
+ Aircraft/BUK-M2/Nasal/vector.nas
+
Aircraft/BUK-M2/Nasal/guided-missiles.nas
diff --git a/BUK-M2/Hud/hud.xml b/BUK-M2/Hud/hud.xml
index 2632408..c07114c 100644
--- a/BUK-M2/Hud/hud.xml
+++ b/BUK-M2/Hud/hud.xml
@@ -84,7 +84,7 @@
false
-
+
+
+ Main Store
+
+ none
+
+ KN-06
+ 50
+
+
+
+
+ Aircraft/fleet/Models/Armament/Weapons/
+ true
+ true
+ rotors/main/blade[0]/flap-deg
+ rotors/main/blade[1]/flap-deg
+ rotors/main/blade[2]/flap-deg
+ true
+ 1
+ controls/armament
+ station
+ true
+ true
+
+ 0.00
+ 0.15
+ 0.1
+ radar
+ APN
+ true
+ 85
+ 360
+ 220
+ 22
+ 90000
+ 77000
+ 0.25
+ 8.0
+ 3920
+ 315
+ 2800
+ 0.20
+ 2.11349
+ 2
+ 0.25
+ 160
+ true
+ 3000
+ 75000
+ 0.85
+ 200
+ true
+ 7.5
+ false
+ 90
+ 0.95
+ 3
+ A
+ Bird away
+
+
+
+ false
+ 0.0
+ false
+ 0.00
+ radar
+ true
+ 38.8
+ 360
+ 360
+ 30
+ 9000
+ 1500
+ 4.0
+ 15.0
+ 291
+ 44
+ 0.5
+ 0.2739
+ 3.0
+ 1.6
+ 0.9
+ 90
+ 30
+ 0
+ 0.35
+ true
+ 5
+ false
+ A/A
+ Chickenbeater
+
+
+
+
+
@@ -331,6 +482,27 @@
SNOWY1
+
+
+ Aircraft/fleet/Nasal/fdm.nas
+
+
+ Aircraft/fleet/Nasal/damage.nas
+
+
+ Aircraft/fleet/Nasal/radar-logic.nas
+
+
+ Aircraft/fleet/Nasal/vector.nas
+
+
+ Aircraft/fleet/Nasal/guided-missiles.nas
+
+
+ Aircraft/fleet/Nasal/fire-control.nas
+
+
+
diff --git a/gci-radar/Nasal/damage.nas b/gci-radar/Nasal/damage.nas
index ad8f6b5..a4ea122 100644
--- a/gci-radar/Nasal/damage.nas
+++ b/gci-radar/Nasal/damage.nas
@@ -29,10 +29,13 @@ var warhead_lbs = {
"AGM-84": 488.00,
"AGM-88": 146.00,
"AGM65": 200.00,
+ "AGM-154A": 493.00,
+ "AGM-158": 1000.00,
"ALARM": 450.00,
"AM39-Exocet": 364.00,
"AS-37-Martel": 330.00,
"AS30L": 529.00,
+ "CBU-87": 128.00,
"Exocet": 364.00,
"FAB-100": 92.59,
"FAB-250": 202.85,
@@ -212,12 +215,12 @@ var incoming_listener = func {
var probability = cannon_types[last_vector[1]];
for (var i = 1; i <= hit_count; i = i + 1) {
var failed = fail_systems(probability);
- damaged_sys = damaged_sys + failed;
+ #damaged_sys = damaged_sys + failed;
}
# that someone is me!
#print("hitting me");
- printf("Took %.1f%% damage from cannon! %s systems was hit.", probability*hit_count*100, damaged_sys);
+ #printf("Took %.1f%% damage from cannon! %s systems was hit.", probability*hit_count*100, damaged_sys);
}
}
}
diff --git a/gci-radar/gci-set.xml b/gci-radar/gci-set.xml
index d92b5d2..5efe416 100644
--- a/gci-radar/gci-set.xml
+++ b/gci-radar/gci-set.xml
@@ -93,8 +93,9 @@
0
+ 0
- 500
+
diff --git a/groundtarget/Nasal/damage.nas b/groundtarget/Nasal/damage.nas
index d740cee..adb1e89 100644
--- a/groundtarget/Nasal/damage.nas
+++ b/groundtarget/Nasal/damage.nas
@@ -3,7 +3,7 @@ var clamp = func(v, min, max) { v < min ? min : v > max ? max : v }
var TRUE = 1;
var FALSE = 0;
-var hp = 2500;
+var hp = 5;
var hp_max = hp;
var cannon_types = {
@@ -28,10 +28,13 @@ var warhead_lbs = {
"AGM-84": 488.00,
"AGM-88": 146.00,
"AGM65": 200.00,
+ "AGM-154A": 493.00,
+ "AGM-158": 1000.00,
"ALARM": 450.00,
"AM39-Exocet": 364.00,
"AS-37-Martel": 330.00,
"AS30L": 529.00,
+ "CBU-87": 128.00,
"Exocet": 364.00,
"FAB-100": 92.59,
"FAB-250": 202.85,
@@ -73,7 +76,6 @@ var warhead_lbs = {
"ZB-500": 473.99,
};
-
var incoming_listener = func {
var history = getprop("/sim/multiplay/chat-history");
var hist_vector = split("\n", history);
@@ -82,6 +84,7 @@ var incoming_listener = func {
var last_vector = split(":", last);
var author = last_vector[0];
var callsign = getprop("sim/multiplay/callsign");
+ callsign = size(callsign) < 8 ? callsign : left(callsign,7);
if (size(last_vector) > 1 and author != callsign) {
# not myself
#print("not me");
@@ -176,11 +179,11 @@ var incoming_listener = func {
return;
}
+ var prob = 1;
if (type == "M90" and distance < 300) {
var failed = fail_systems(warhead_lbs[type]/2);
return;
} elsif (distance < 150) {
- var prob = 1;
if ( distance > 50 ) {
distance = distance - 50;
prob = 1 - (distance/100);
@@ -188,7 +191,7 @@ var incoming_listener = func {
}
- var failed = fail_systems(warhead_lbs[type] * prob);
+ fail_systems(warhead_lbs[type] * prob);
#ar percent = 100 * probability;
#printf("Took %.1f%% damage from %s missile at %0.1f meters. %s systems was hit", percent,type,dist,failed);
}
@@ -198,6 +201,11 @@ var incoming_listener = func {
print("cannon");
if (size(last_vector) > 2 and last_vector[2] == " "~callsign) {
print("cannon hit us");
+ if (size(last_vector) < 4) {
+ # msg is either missing number of hits, or has no trailing dots from spam filter.
+ print('"'~last~'" is not a legal hit message, tell the shooter to upgrade his OPRF plane :)');
+ return;
+ }
var last3 = split(" ", last_vector[3]);
#print("last3[2]: " ~ last3[2]);
#print("last3[1]: " ~ last3[1]);
@@ -211,8 +219,7 @@ var incoming_listener = func {
var damaged_sys = 0;
var probability = cannon_types[last_vector[1]];
for (var i = 1; i <= hit_count; i = i + 1) {
- var failed = fail_systems(probability);
- damaged_sys = damaged_sys + failed;
+ fail_systems(probability);
}
# that someone is me!
#print("hitting me");
diff --git a/groundtarget/Nasal/fdm.nas b/groundtarget/Nasal/fdm.nas
index 1471021..cf95a8e 100644
--- a/groundtarget/Nasal/fdm.nas
+++ b/groundtarget/Nasal/fdm.nas
@@ -33,12 +33,19 @@ setprop("/carrier/pitch-offset",0);
setprop("/carrier/roll-deg",0);
setprop("/carrier/roll-offset",0);
setprop("/carrier/sunk",0);
-
+var arrived = 0;
var PositionUpdater = func () {
settimer( PositionUpdater, 1/frequency );
var position = geo.aircraft_position();
+
+ if ( arrived == 0 and getprop("/carrier/sunk") == 0 and getprop("/autopilot/route-manager/wp-last/dist") != nil and getprop("/autopilot/route-manager/wp-last/dist") < 1 ) {
+ setprop("/sim/multiplay/chat",getprop("sim/multiplay/callsign") ~ " has arrived safely!");
+ print("arrived");
+ arrived = 1;
+ #return;
+ }
var time_now = getprop("/sim/time/elapsed-sec");
var dt = (time_now - time_last) * sim_speed;
@@ -53,7 +60,7 @@ var PositionUpdater = func () {
if ( getprop("/carrier/sunk") == 0 and getprop("/autopilot/route-manager/active") == 1 ) {
#for event
- var speed = 50;
+ var speed = 25;
var cur_waypoint = getprop("/autopilot/route-manager/current-wp");
var cur_wp_lon = getprop("/autopilot/route-manager/route/wp[" ~ cur_waypoint ~ "]/longitude-deg");
var cur_wp_lat = getprop("/autopilot/route-manager/route/wp[" ~ cur_waypoint ~ "]/latitude-deg");
@@ -68,7 +75,7 @@ var PositionUpdater = func () {
# Set new position
setprop("/position/latitude-deg", position.lat());
setprop("/position/longitude-deg", position.lon());
- var g_alt = getprop("/position/ground-elev-ft");
+ var g_alt = getprop("/position/ground-elev-ft")+1;
setprop("/position/altitude-ft",g_alt);
diff --git a/missile-frigate/Hud/hud.xml b/missile-frigate/Hud/hud.xml
index 2632408..2f2f716 100644
--- a/missile-frigate/Hud/hud.xml
+++ b/missile-frigate/Hud/hud.xml
@@ -37,53 +37,6 @@
variable
-->
-
- Ladder
- pitch
- -60
- -90
- 120
- 180
-
-
-
- /sim/current-view/name
- Approach View
-
-
-
-
- /orientation/roll-deg
- -1.0
-
-
-
- /orientation/pitch-deg
- -1.0
-
-
- 30
- 8
- 1.0
- 100
- 0
- 0.0
- false
- false
- true
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
- false
-
-
Wind Angle Runway
-300
@@ -100,170 +53,6 @@
-
- Height
- -300
- 80
- 200
- 25
-
-
-
-
- /sim/current-view/name
- Landing Signal Officer View
-
-
- /sim/current-view/name
- Approach View
-
-
-
-
- false
- HEIGHT:
- left
-
-
- /sim/current-view/height
-
-
-
- 0.25
-
-
-
- /sim/current-view/height
- VERY LOW
-
-
- /sim/current-view/distance
- 1
-
-
-
-
-
-
-
- Gear
- -300
- 60
- 200
- 25
-
-
-
-
- /sim/current-view/name
- Landing Signal Officer View
-
-
- /sim/current-view/name
- Approach View
-
-
-
-
- false
- GEAR:
- left
-
-
- /sim/current-view/gear
-
-
-
- 0.25
-
-
-
- /sim/current-view/gear
- 1
-
-
- /sim/current-view/distance
- 1
-
-
-
-
-
-
-
- Flap
- -300
- 40
- 200
- 25
-
-
-
-
- /sim/current-view/name
- Landing Signal Officer View
-
-
- /sim/current-view/name
- Approach View
-
-
-
-
- false
- FLAPS:
- left
-
-
- /sim/current-view/flap
-
-
-
- 0.25
-
-
-
- /sim/current-view/flap
- 1
-
-
- /sim/current-view/distance
- 1
-
-
-
-
-
-
-
- Hook
- -300
- 20
- 200
- 25
-
-
-
-
- /sim/current-view/name
- Landing Signal Officer View
-
-
- /sim/current-view/name
- Approach View
-
-
-
-
- false
- HOOK:
- left
-
-
- /sim/current-view/hook
-
-
-
Magnetic Heading
-300
diff --git a/missile-frigate/Nasal/damage.nas b/missile-frigate/Nasal/damage.nas
index cb831e3..7add889 100644
--- a/missile-frigate/Nasal/damage.nas
+++ b/missile-frigate/Nasal/damage.nas
@@ -28,10 +28,13 @@ var warhead_lbs = {
"AGM-84": 488.00,
"AGM-88": 146.00,
"AGM65": 200.00,
+ "AGM-154A": 493.00,
+ "AGM-158": 1000.00,
"ALARM": 450.00,
"AM39-Exocet": 364.00,
"AS-37-Martel": 330.00,
"AS30L": 529.00,
+ "CBU-87": 128.00,
"Exocet": 364.00,
"FAB-100": 92.59,
"FAB-250": 202.85,
@@ -81,6 +84,7 @@ var incoming_listener = func {
var last_vector = split(":", last);
var author = last_vector[0];
var callsign = getprop("sim/multiplay/callsign");
+ callsign = size(callsign) < 8 ? callsign : left(callsign,7);
if (size(last_vector) > 1 and author != callsign) {
# not myself
#print("not me");
@@ -175,11 +179,11 @@ var incoming_listener = func {
return;
}
+ var prob = 1;
if (type == "M90" and distance < 300) {
var failed = fail_systems(warhead_lbs[type]/2);
return;
} elsif (distance < 150) {
- var prob = 1;
if ( distance > 50 ) {
distance = distance - 50;
prob = 1 - (distance/100);
@@ -197,6 +201,11 @@ var incoming_listener = func {
print("cannon");
if (size(last_vector) > 2 and last_vector[2] == " "~callsign) {
print("cannon hit us");
+ if (size(last_vector) < 4) {
+ # msg is either missing number of hits, or has no trailing dots from spam filter.
+ print('"'~last~'" is not a legal hit message, tell the shooter to upgrade his OPRF plane :)');
+ return;
+ }
var last3 = split(" ", last_vector[3]);
#print("last3[2]: " ~ last3[2]);
#print("last3[1]: " ~ last3[1]);
@@ -211,12 +220,12 @@ var incoming_listener = func {
var probability = cannon_types[last_vector[1]];
for (var i = 1; i <= hit_count; i = i + 1) {
var failed = fail_systems(probability);
- damaged_sys = damaged_sys + failed;
+ #damaged_sys = damaged_sys + failed;
}
# that someone is me!
#print("hitting me");
- printf("Took %.1f%% damage from cannon! %s systems was hit.", probability*hit_count*100, damaged_sys);
+ #printf("Took %.1f%% damage from cannon! %s systems was hit.", probability*hit_count*100, damaged_sys);
}
}
}
@@ -236,8 +245,8 @@ var fail_systems = func (damage) {
print("HP: " ~ hp ~ "/" ~ hp_max);
if ( hp < 0 ) {
+ setprop("/sim/multiplay/generic/int[2]",1);
setprop("/carrier/sunk/",1);
- setprop("/sim/multiplay/generic/int[0]",1);
}
};
diff --git a/missile-frigate/Nasal/fdm.nas b/missile-frigate/Nasal/fdm.nas
index b66e145..ea98b4f 100644
--- a/missile-frigate/Nasal/fdm.nas
+++ b/missile-frigate/Nasal/fdm.nas
@@ -30,11 +30,14 @@ sink_rate = .025;
pitch_rate = .007;
roll_rate = .007;
+var last_speed = 4;
+
setprop("/carrier/pitch-deg",0);
setprop("/carrier/pitch-offset",0);
setprop("/carrier/roll-deg",0);
setprop("/carrier/roll-offset",0);
setprop("/carrier/sunk",0);
+setprop("/carrier/aground",0);
var PositionUpdater = func () {
@@ -48,34 +51,67 @@ var PositionUpdater = func () {
time_last = time_now;
+ var heading = getprop("/orientation/heading-deg");
+ var speed = getprop("/velocities/groundspeed-kt");
var rudder = getprop("/surface-positions/rudder-pos-norm");
-
- if ( getprop("/carrier/sunk") == 0 and getprop("/autopilot/route-manager/active") == 1 ) {
+ var aground_pos = geo.Coord.new().set_latlon(position.lat(),position.lon());
+ aground_pos.apply_course_distance(heading,25);
+ var aground = geodinfo(aground_pos.lat(), aground_pos.lon())[1].solid;
+ if ( aground == 0 ) {
+ aground_pos.apply_course_distance(heading,-50);
+ aground = geodinfo(aground_pos.lat(), aground_pos.lon())[1].solid;
+ }
+ if ( aground == 1 ) {
+ setprop("/carrier/aground",1);
+ setprop("/carrier/sunk",1);
+ }
- #for event
- var speed = 15;
- var cur_waypoint = getprop("/autopilot/route-manager/current-wp");
- var cur_wp_lon = getprop("/autopilot/route-manager/route/wp[" ~ cur_waypoint ~ "]/longitude-deg");
- var cur_wp_lat = getprop("/autopilot/route-manager/route/wp[" ~ cur_waypoint ~ "]/latitude-deg");
- var rm_destination = geo.Coord.new().set_latlon(cur_wp_lat,cur_wp_lon);
-
-
- var heading = position.course_to(rm_destination);
-
+ if ( aground == 1 ) {
+ speed = 0;
+ }
+ #print(speed);
var distance = speed * globals.KT2MPS * dt;
position.apply_course_distance(heading, distance);
+ # check if we've ran aground
+
# Set new position
setprop("/position/latitude-deg", position.lat());
setprop("/position/longitude-deg", position.lon());
- var g_alt = getprop("/position/ground-elev-ft");
- setprop("/position/altitude-ft",g_alt);
-
- # Update heading
- var course = heading + rudder * heading_ps * dt;
- setprop("/orientation/heading-deg", course);
+ if ( getprop("/carrier/sunk") == 0 ) {
+
+ # Update heading
+ var course = heading + rudder * heading_ps * dt;
+ setprop("/orientation/heading-deg", course);
+ setprop("/position/altitude-ft",getprop("/position/ground-elev-ft"));
+
+# } elsif ( getprop("/carrier/sunk") == 0 and getprop("/autopilot/route-manager/active") == 1 ) {
+#
+# #for event
+# var speed = 15;
+# var cur_waypoint = getprop("/autopilot/route-manager/current-wp");
+# var cur_wp_lon = getprop("/autopilot/route-manager/route/wp[" ~ cur_waypoint ~ "]/longitude-deg");
+# var cur_wp_lat = getprop("/autopilot/route-manager/route/wp[" ~ cur_waypoint ~ "]/latitude-deg");
+# var rm_destination = geo.Coord.new().set_latlon(cur_wp_lat,cur_wp_lon);
+#
+#
+# var heading = position.course_to(rm_destination);
+#
+# var distance = speed * globals.KT2MPS * dt;
+# position.apply_course_distance(heading, distance);
+#
+# # Set new position
+# setprop("/position/latitude-deg", position.lat());
+# setprop("/position/longitude-deg", position.lon());
+# var g_alt = getprop("/position/ground-elev-ft");
+# setprop("/position/altitude-ft",g_alt);
+#
+# # Update heading
+# var course = heading + rudder * heading_ps * dt;
+# setprop("/orientation/heading-deg", course);
+#
} elsif ( getprop("/carrier/sunk") == 1 ) {
setprop("/carrier/fbw/target/groundspeed-kt",0);
setprop("/controls/engines/engine/throttle",0);
@@ -85,9 +121,11 @@ var PositionUpdater = func () {
setprop("/position/longitude-deg", position.lon());
#calculate sinking.
- setprop("/position/altitude-ft",getprop("/position/altitude-ft") - ( sink_rate ));
- setprop("/carrier/pitch-offset",getprop("/carrier/pitch-offset") + ( pitch_rate ));
- setprop("/carrier/roll-offset",getprop("/carrier/roll-offset") + ( roll_rate ));
+ if ( getprop("carrier/aground") != 1 ) {
+ setprop("/position/altitude-ft",getprop("/position/altitude-ft") - ( sink_rate ));
+ setprop("/carrier/pitch-offset",getprop("/carrier/pitch-offset") + ( pitch_rate ));
+ setprop("/carrier/roll-offset",getprop("/carrier/roll-offset") + ( roll_rate ));
+ }
}
#set pitch
diff --git a/missile-frigate/Sim/views.xml b/missile-frigate/Sim/views.xml
index 42ecc06..a0b2ce8 100644
--- a/missile-frigate/Sim/views.xml
+++ b/missile-frigate/Sim/views.xml
@@ -121,50 +121,6 @@
-
- Landing Signal Officer View
- lookfrom
- false
-
- true
- 0
-
- 180
- -19.7208
- 21.925
- 100.307
- 2.5
- 60
- 0.1f
-
-
-
-
- Approach View
- lookfrom
- false
-
-
- /position/latitude-deg
- /position/longitude-deg
- /position/altitude-ft
- /orientation/heading-runway-deg
- /orientation/pitch-deg
- /orientation/roll-deg
-
- -15.4979
- 21.9
- -8.315
-
- 180
- 3
- 25
- 0.1f
-
-
-
Flight Deck Aft View
lookfrom
@@ -259,22 +215,4 @@
-
- Bridge View
- lookfrom
- true
-
- true
- 0
-
- 29.2083
- 33.235233
- 19.45
-
- -2
- 45
- 0.1f
-
-
-
diff --git a/missile-frigate/Systems/fbw.xml b/missile-frigate/Systems/fbw.xml
index 42678fb..7fde0fe 100644
--- a/missile-frigate/Systems/fbw.xml
+++ b/missile-frigate/Systems/fbw.xml
@@ -31,24 +31,4 @@
-
- Flight Deck Antennas Position
- noise-spike
-
-
- /carrier/antennas/enabled
-
- 0.0
-
-
- 1.0
-
-
-
-
- 0.2
-
-
diff --git a/missile-frigate/missile-frigate-set.xml b/missile-frigate/missile-frigate-set.xml
index 03ac6ef..579f1af 100644
--- a/missile-frigate/missile-frigate-set.xml
+++ b/missile-frigate/missile-frigate-set.xml
@@ -55,6 +55,7 @@
true
+ manual
@@ -75,10 +76,6 @@
true
-
- Sounds/sound.xml
-
-
true
@@ -113,6 +110,9 @@
Systems/fdm.xml
+
+ Aircraft/missile-frigate/autopilot.xml
+
Systems/views.xml
@@ -120,7 +120,8 @@
- 0
+
+ 0
@@ -137,9 +138,34 @@
+ -
+ Targets
+ enemies
+
+ dialog-show
+ enemies
+
+
+
+
+
+ enemies/e1
+ enemies/e2
+ enemies/e3
+ enemies/e4
+ enemies/e5
+ enemies/e6
+ enemies/e7
+ enemies/e8
+ enemies/e9
+ enemies/e10
+ enemies/e11
+ enemies/e12
+
+
@@ -229,41 +255,51 @@
Aircraft/missile-frigate/Models/Armament/Weapons/
+ true
+ true
+ rotors/main/blade[0]/flap-deg
+ rotors/main/blade[1]/flap-deg
+ rotors/main/blade[2]/flap-deg
+ true
+ 1
+ controls/armament
+ station
true
true
- false
- 0.0
0.00
- 0.15
- 0.1
+ 0.15
+ 0.1
radar
- APN
+ APN
true
85
360
- 360
+ 220
22
- 100000
- 80000
+ 90000
+ 77000
0.25
- 12.0
+ 8.0
3920
315
- 2800
- 0.15
- 2.11349
+ 2800
+ 0.20
+ 2.11349
2
0.25
160
+ true
3000
75000
0.85
- 200
+ 200
true
7.5
false
90
+ 0.95
+ 3
A
Bird away
@@ -271,6 +307,7 @@
false
0.0
+ false
0.00
radar
true
@@ -344,6 +381,21 @@
+
+
+ Leto
+ swamp
+ pinto
+ fb237
+ Wilco-1
+ Kokos
+ J-Mav16
+ S
+ Raider1
+ Slobb
+ 5H1N0B1
+ SNOWY1
+
@@ -352,6 +404,18 @@
Aircraft/missile-frigate/Nasal/damage.nas
+
+ Aircraft/missile-frigate/Nasal/radar-logic.nas
+
+
+ Aircraft/missile-frigate/Nasal/vector.nas
+
+
+ Aircraft/missile-frigate/Nasal/guided-missiles.nas
+
+
+ Aircraft/missile-frigate/Nasal/fire-control.nas
+