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 - - - - - - - - - -
+ + + 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 +