0937ac9e05
The old engine_voice returned early for flame == 0 with (DRONE_LANCET, 0.8, 1.6), so the later `P1sun => 1.7` match arm was unreachable. The catalog migration mistook that arm for the played value and stored 1.7, which changed the interceptor drone's flight sound. specs.json is back to 1.6 and specs_generated.rs is regenerated. Adds missile_engine_voices_keep_their_played_values, pinning P1-SUN to (DRONE_LANCET, 0.8, 1.6) and M48N6 to (MISSILE_FLIGHT, 1.0, 0.88). The continuation and handoff text now describe the early return instead of the dead arm, and tools/airdef_assets/catalog.py gets its final newline back. Verified: gen_catalog --check and test_gen_assets, core release 195 passed + 8 scenarios (7 ignored), adapter 64 unit + 1 boundary + 5 scenarios, WASM contract 27 steps.
852 lines
21 KiB
JSON
852 lines
21 KiB
JSON
{
|
||
"shared": {
|
||
"mobility": {
|
||
"drive_scale": 0.4,
|
||
"drive_ramp": 8.0,
|
||
"trainable": [0.12, 0.0],
|
||
"vertical": [0.15, 0.0],
|
||
"other": [0.05, 0.05]
|
||
},
|
||
"flight": {
|
||
"gravity": 0.05,
|
||
"block_split": 300.0
|
||
},
|
||
"logistics": {
|
||
"depot_reach": 60.0,
|
||
"handover": 10.0,
|
||
"truck_load": 2,
|
||
"stock_limit": 1000000
|
||
}
|
||
},
|
||
"drones": [
|
||
{
|
||
"kind": "Shahed",
|
||
"key": "shahed",
|
||
"name": "Шахед-136",
|
||
"model": "airdef:shahed",
|
||
"speed": 0.6,
|
||
"turn": 0.035,
|
||
"cruise": 45.0,
|
||
"clearance": 18.0,
|
||
"dive": 32.0,
|
||
"warhead": 3,
|
||
"scale": 1.3,
|
||
"engine": {"type": "prop", "back": 1.34, "size": 1.0},
|
||
"decoy": false,
|
||
"stealth": 1.0,
|
||
"sound": {"event": "drone.shahed", "pitch": 1.0, "interval": 48},
|
||
"class": "drone",
|
||
"ballistic": null,
|
||
"rcs": 0.3,
|
||
"launch_sound": "launch.s400_eject"
|
||
},
|
||
{
|
||
"kind": "Geran3",
|
||
"key": "geran3",
|
||
"name": "Герань-3",
|
||
"model": "airdef:geran3",
|
||
"speed": 1.6,
|
||
"turn": 0.03,
|
||
"cruise": 60.0,
|
||
"clearance": 18.0,
|
||
"dive": 50.0,
|
||
"warhead": 2,
|
||
"scale": 1.15,
|
||
"engine": {"type": "jet", "up": 0.34, "back": 1.55, "size": 1.0},
|
||
"decoy": false,
|
||
"stealth": 1.1,
|
||
"sound": {"event": "drone.geran3", "pitch": 1.0, "interval": 40},
|
||
"class": "jet",
|
||
"ballistic": null,
|
||
"rcs": 0.4,
|
||
"launch_sound": "launch.s400_eject"
|
||
},
|
||
{
|
||
"kind": "Lancet",
|
||
"key": "lancet",
|
||
"name": "Ланцет-3",
|
||
"model": "airdef:lancet",
|
||
"speed": 1.1,
|
||
"turn": 0.07,
|
||
"cruise": 25.0,
|
||
"clearance": 10.0,
|
||
"dive": 38.0,
|
||
"warhead": 1,
|
||
"scale": 0.9,
|
||
"engine": {"type": "prop", "back": 0.93, "size": 0.55},
|
||
"decoy": false,
|
||
"stealth": 1.4,
|
||
"sound": {"event": "drone.lancet", "pitch": 1.0, "interval": 32},
|
||
"class": "drone",
|
||
"ballistic": null,
|
||
"rcs": 0.08,
|
||
"launch_sound": "launch.s400_eject"
|
||
},
|
||
{
|
||
"kind": "Gerbera",
|
||
"key": "gerbera",
|
||
"name": "Гербера",
|
||
"model": "airdef:gerbera",
|
||
"speed": 0.5,
|
||
"turn": 0.04,
|
||
"cruise": 40.0,
|
||
"clearance": 15.0,
|
||
"dive": 30.0,
|
||
"warhead": 0,
|
||
"scale": 1.1,
|
||
"engine": {"type": "prop", "back": 1.03, "size": 0.9},
|
||
"decoy": true,
|
||
"stealth": 0.9,
|
||
"sound": {"event": "drone.shahed", "pitch": 1.3, "interval": 40},
|
||
"class": "drone",
|
||
"ballistic": null,
|
||
"rcs": 0.4,
|
||
"launch_sound": "launch.s400_eject"
|
||
},
|
||
{
|
||
"kind": "Kh101",
|
||
"key": "kh101",
|
||
"name": "Х-101",
|
||
"model": "airdef:kh101",
|
||
"speed": 2.4,
|
||
"turn": 0.025,
|
||
"cruise": 0.0,
|
||
"clearance": 12.0,
|
||
"dive": 26.0,
|
||
"warhead": 6,
|
||
"scale": 1.6,
|
||
"engine": {"type": "jet", "up": -0.27, "back": 1.4, "size": 0.6},
|
||
"decoy": false,
|
||
"stealth": 1.5,
|
||
"sound": {"event": "drone.cruise", "pitch": 1.0, "interval": 50},
|
||
"class": "cruise",
|
||
"ballistic": null,
|
||
"rcs": 0.05,
|
||
"launch_sound": "launch.patriot"
|
||
},
|
||
{
|
||
"kind": "Kalibr",
|
||
"key": "kalibr",
|
||
"name": "Калибр",
|
||
"model": "airdef:kalibr",
|
||
"speed": 2.1,
|
||
"turn": 0.025,
|
||
"cruise": 0.0,
|
||
"clearance": 15.0,
|
||
"dive": 26.0,
|
||
"warhead": 5,
|
||
"scale": 1.5,
|
||
"engine": {"type": "jet", "up": -0.2, "back": 1.5, "size": 0.6},
|
||
"decoy": false,
|
||
"stealth": 1.3,
|
||
"sound": {"event": "drone.cruise", "pitch": 1.2, "interval": 50},
|
||
"class": "cruise",
|
||
"ballistic": null,
|
||
"rcs": 0.15,
|
||
"launch_sound": "launch.patriot"
|
||
},
|
||
{
|
||
"kind": "Kh22",
|
||
"key": "kh22",
|
||
"name": "Х-22",
|
||
"model": "airdef:kh22",
|
||
"speed": 4.0,
|
||
"turn": 0.03,
|
||
"cruise": 140.0,
|
||
"clearance": 40.0,
|
||
"dive": 150.0,
|
||
"warhead": 7,
|
||
"scale": 1.8,
|
||
"engine": {"type": "rocket", "back": 1.5, "size": 1.3},
|
||
"decoy": false,
|
||
"stealth": 1.4,
|
||
"sound": {"event": "drone.rocket", "pitch": 0.8, "interval": 46},
|
||
"class": "supersonic",
|
||
"ballistic": null,
|
||
"rcs": 1.0,
|
||
"launch_sound": "launch.patriot"
|
||
},
|
||
{
|
||
"kind": "Zircon",
|
||
"key": "zircon",
|
||
"name": "Циркон",
|
||
"model": "airdef:zircon",
|
||
"speed": 5.5,
|
||
"turn": 0.025,
|
||
"cruise": 90.0,
|
||
"clearance": 30.0,
|
||
"dive": 110.0,
|
||
"warhead": 6,
|
||
"scale": 1.4,
|
||
"engine": {"type": "rocket", "back": 1.5, "size": 1.1},
|
||
"decoy": false,
|
||
"stealth": 2.0,
|
||
"sound": {"event": "drone.rocket", "pitch": 1.35, "interval": 46},
|
||
"class": "supersonic",
|
||
"ballistic": null,
|
||
"rcs": 0.4,
|
||
"launch_sound": "launch.s400"
|
||
},
|
||
{
|
||
"kind": "Iskander",
|
||
"key": "iskander",
|
||
"name": "Искандер-М",
|
||
"model": "airdef:iskander",
|
||
"speed": 5.0,
|
||
"turn": 0.04,
|
||
"cruise": 0.0,
|
||
"clearance": 0.0,
|
||
"dive": 0.0,
|
||
"warhead": 8,
|
||
"scale": 1.8,
|
||
"engine": {"type": "rocket", "back": 1.5, "size": 1.6},
|
||
"decoy": false,
|
||
"stealth": 1.6,
|
||
"sound": {"event": "drone.rocket", "pitch": 0.7, "interval": 46},
|
||
"class": "ballistic",
|
||
"ballistic": 1000.0,
|
||
"rcs": 0.6,
|
||
"launch_sound": "launch.s500"
|
||
},
|
||
{
|
||
"kind": "Kinzhal",
|
||
"key": "kinzhal",
|
||
"name": "Кинжал",
|
||
"model": "airdef:kinzhal",
|
||
"speed": 7.5,
|
||
"turn": 0.03,
|
||
"cruise": 0.0,
|
||
"clearance": 0.0,
|
||
"dive": 0.0,
|
||
"warhead": 8,
|
||
"scale": 1.7,
|
||
"engine": {"type": "rocket", "back": 1.5, "size": 1.5},
|
||
"decoy": false,
|
||
"stealth": 2.2,
|
||
"sound": {"event": "drone.rocket", "pitch": 0.6, "interval": 46},
|
||
"class": "ballistic",
|
||
"ballistic": 1500.0,
|
||
"rcs": 0.5,
|
||
"launch_sound": "launch.s500"
|
||
},
|
||
{
|
||
"kind": "Oreshnik",
|
||
"key": "oreshnik",
|
||
"name": "Орешник",
|
||
"model": "airdef:iskander",
|
||
"speed": 9.0,
|
||
"turn": 0.0,
|
||
"cruise": 0.0,
|
||
"clearance": 0.0,
|
||
"dive": 0.0,
|
||
"warhead": 0,
|
||
"scale": 2.6,
|
||
"engine": {"type": "rocket", "back": 1.5, "size": 2.4},
|
||
"decoy": false,
|
||
"stealth": 3.0,
|
||
"sound": {"event": "drone.rocket", "pitch": 0.5, "interval": 46},
|
||
"class": "ballistic",
|
||
"ballistic": 2600.0,
|
||
"rcs": 2.0,
|
||
"launch_sound": "launch.s500"
|
||
},
|
||
{
|
||
"kind": "OreshnikBlock",
|
||
"key": "oreshnik_block",
|
||
"name": "Орешник: блок",
|
||
"model": "airdef:reentry",
|
||
"speed": 9.0,
|
||
"turn": 0.0,
|
||
"cruise": 0.0,
|
||
"clearance": 0.0,
|
||
"dive": 0.0,
|
||
"warhead": 4,
|
||
"scale": 1.6,
|
||
"engine": {"type": "rocket", "back": 1.0, "size": 1.0},
|
||
"decoy": false,
|
||
"stealth": 3.5,
|
||
"sound": {"event": "drone.ballistic", "pitch": 0.8, "interval": 9999},
|
||
"class": "ballistic",
|
||
"ballistic": null,
|
||
"rcs": 0.4,
|
||
"launch_sound": "launch.s500"
|
||
},
|
||
{
|
||
"kind": "OreshnikSub",
|
||
"key": "oreshnik_sub",
|
||
"name": "Орешник: суббоеприпас",
|
||
"model": "airdef:reentry",
|
||
"speed": 9.0,
|
||
"turn": 0.05,
|
||
"cruise": 0.0,
|
||
"clearance": 0.0,
|
||
"dive": 0.0,
|
||
"warhead": 3,
|
||
"scale": 1.1,
|
||
"engine": {"type": "rocket", "back": 1.0, "size": 1.0},
|
||
"decoy": false,
|
||
"stealth": 4.0,
|
||
"sound": {"event": "drone.ballistic", "pitch": 1.0, "interval": 9999},
|
||
"class": "ballistic",
|
||
"ballistic": null,
|
||
"rcs": 0.08,
|
||
"launch_sound": "launch.s500"
|
||
}
|
||
],
|
||
"units": [
|
||
{
|
||
"kind": "Patriot",
|
||
"key": "patriot",
|
||
"name": "Patriot",
|
||
"missile": {"kind": "Pac3", "magazine": 4, "min": 10.0, "max": 450.0, "interval": 16},
|
||
"gun": null,
|
||
"reload": 220,
|
||
"scale": 1.3,
|
||
"rest_pitch": 0.66,
|
||
"roles": 30,
|
||
"family": "trainable",
|
||
"parts": {
|
||
"body": "airdef:patriot_trailer",
|
||
"launcher": "airdef:patriot_launcher",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [["airdef:patriot_truck", 0.0, -3.0], ["airdef:patriot_radar", 0.0, 3.6]],
|
||
"spinner": null
|
||
},
|
||
"mount": [0.69, 1.2],
|
||
"pivot": [0.0, -0.5, 1.375],
|
||
"muzzle": {"type": "patriot"},
|
||
"sensor": 585.0,
|
||
"mast": 5.0
|
||
},
|
||
{
|
||
"kind": "Gepard",
|
||
"key": "gepard",
|
||
"name": "Гепард",
|
||
"missile": null,
|
||
"gun": {"range": 135.0, "track": 195.0, "p": 0.3, "bursts": 160, "shell": 10.0, "slew": [0.22, 0.16]},
|
||
"reload": 160,
|
||
"scale": 1.25,
|
||
"rest_pitch": 0.0,
|
||
"roles": 7,
|
||
"family": "gun",
|
||
"parts": {
|
||
"body": "airdef:gepard_hull",
|
||
"launcher": "airdef:gepard_turret",
|
||
"pack": "airdef:gepard_guns",
|
||
"dish": ["airdef:gepard_dish", 0.95, 0.6, 0.0],
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [1.55, 0.25],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "none"},
|
||
"sensor": 255.0,
|
||
"mast": 3.0
|
||
},
|
||
{
|
||
"kind": "Pantsir",
|
||
"key": "pantsir",
|
||
"name": "Панцирь-С1",
|
||
"missile": {"kind": "M57e6", "magazine": 12, "min": 25.0, "max": 225.0, "interval": 14},
|
||
"gun": {"range": 90.0, "track": 135.0, "p": 0.25, "bursts": 140, "shell": 9.0, "slew": [0.25, 0.18]},
|
||
"reload": 280,
|
||
"scale": 1.3,
|
||
"rest_pitch": 0.0,
|
||
"roles": 15,
|
||
"family": "turret",
|
||
"parts": {
|
||
"body": "airdef:pantsir_truck",
|
||
"launcher": "airdef:pantsir_turret",
|
||
"pack": "airdef:pantsir_pack",
|
||
"dish": ["airdef:pantsir_dish", 0.85, 0.3, 0.3],
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [1.35, 0.69],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "pantsir"},
|
||
"sensor": 292.0,
|
||
"mast": 4.0
|
||
},
|
||
{
|
||
"kind": "S400",
|
||
"key": "s400",
|
||
"name": "С-400",
|
||
"missile": {"kind": "M48n6", "magazine": 4, "min": 30.0, "max": 720.0, "interval": 20},
|
||
"gun": null,
|
||
"reload": 420,
|
||
"scale": 1.5,
|
||
"rest_pitch": {"half_pi": -0.02},
|
||
"roles": 30,
|
||
"family": "vertical",
|
||
"parts": {
|
||
"body": "airdef:s400_chassis",
|
||
"launcher": "airdef:s400_tubes",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": {"ref": "battery_radar"},
|
||
"spinner": {"ref": "battery_spinner"}
|
||
},
|
||
"mount": [0.7, 1.45],
|
||
"pivot": {"ref": "tube_pivot"},
|
||
"muzzle": {"type": "grid", "cols": 2, "rows": 2, "size": 7.0},
|
||
"sensor": 936.0,
|
||
"mast": 5.0
|
||
},
|
||
{
|
||
"kind": "S500",
|
||
"key": "s500",
|
||
"name": "С-500",
|
||
"missile": {"kind": "M77n6", "magazine": 2, "min": 40.0, "max": 1050.0, "interval": 20},
|
||
"gun": null,
|
||
"reload": 520,
|
||
"scale": 1.6,
|
||
"rest_pitch": {"half_pi": -0.02},
|
||
"roles": 24,
|
||
"family": "vertical",
|
||
"parts": {
|
||
"body": "airdef:s500_chassis",
|
||
"launcher": "airdef:s500_tubes",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": {"ref": "battery_radar"},
|
||
"spinner": {"ref": "battery_spinner"}
|
||
},
|
||
"mount": [0.7, 1.45],
|
||
"pivot": {"ref": "tube_pivot"},
|
||
"muzzle": {"type": "grid", "cols": 2, "rows": 1, "size": 9.5},
|
||
"sensor": 1365.0,
|
||
"mast": 5.0
|
||
},
|
||
{
|
||
"kind": "IrisT",
|
||
"key": "irist",
|
||
"name": "IRIS-T SLM",
|
||
"missile": {"kind": "IrisT", "magazine": 8, "min": 15.0, "max": 600.0, "interval": 10},
|
||
"gun": null,
|
||
"reload": 300,
|
||
"scale": 1.4,
|
||
"rest_pitch": {"half_pi": -0.02},
|
||
"roles": 15,
|
||
"family": "vertical",
|
||
"parts": {
|
||
"body": "airdef:irist_chassis",
|
||
"launcher": "airdef:irist_tubes",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": {"ref": "battery_radar"},
|
||
"spinner": {"ref": "battery_spinner"}
|
||
},
|
||
"mount": [0.7, 1.45],
|
||
"pivot": {"ref": "tube_pivot"},
|
||
"muzzle": {"type": "grid", "cols": 4, "rows": 2, "size": 4.0},
|
||
"sensor": 780.0,
|
||
"mast": 5.0
|
||
},
|
||
{
|
||
"kind": "Nasams",
|
||
"key": "nasams",
|
||
"name": "NASAMS",
|
||
"missile": {"kind": "Amraam", "magazine": 6, "min": 10.0, "max": 450.0, "interval": 14},
|
||
"gun": null,
|
||
"reload": 260,
|
||
"scale": 1.3,
|
||
"rest_pitch": 0.5,
|
||
"roles": 14,
|
||
"family": "trainable",
|
||
"parts": {
|
||
"body": "airdef:nasams_trailer",
|
||
"launcher": "airdef:nasams_launcher",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [["airdef:radar_trailer", 0.0, 3.4]],
|
||
"spinner": ["airdef:radar_panel", 0.9, 3.4, 0.6, -0.3]
|
||
},
|
||
"mount": [0.62, 0.4],
|
||
"pivot": {"ref": "tube_pivot"},
|
||
"muzzle": {"type": "grid", "cols": 3, "rows": 2, "size": 4.0},
|
||
"sensor": 585.0,
|
||
"mast": 5.0
|
||
},
|
||
{
|
||
"kind": "Buk",
|
||
"key": "buk",
|
||
"name": "Бук-М2",
|
||
"missile": {"kind": "M9m317", "magazine": 4, "min": 20.0, "max": 675.0, "interval": 18},
|
||
"gun": null,
|
||
"reload": 400,
|
||
"scale": 1.4,
|
||
"rest_pitch": 0.0,
|
||
"roles": 14,
|
||
"family": "turret",
|
||
"parts": {
|
||
"body": "airdef:buk_chassis",
|
||
"launcher": "airdef:buk_turret",
|
||
"pack": "airdef:buk_rails",
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [1.55, 0.2],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "rails", "xs": [-9.0, -3.0, 13.0, 19.0]},
|
||
"sensor": 878.0,
|
||
"mast": 4.0
|
||
},
|
||
{
|
||
"kind": "Tor",
|
||
"key": "tor",
|
||
"name": "Тор-М2",
|
||
"missile": {"kind": "M9m338", "magazine": 8, "min": 8.0, "max": 240.0, "interval": 8},
|
||
"gun": null,
|
||
"reload": 300,
|
||
"scale": 1.3,
|
||
"rest_pitch": 0.0,
|
||
"roles": 15,
|
||
"family": "vertical",
|
||
"parts": {
|
||
"body": "airdef:tor_chassis",
|
||
"launcher": "airdef:tor_turret",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [1.5, 0.0],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "cells"},
|
||
"sensor": 315.0,
|
||
"mast": 3.5
|
||
},
|
||
{
|
||
"kind": "P1sun",
|
||
"key": "p1sun",
|
||
"name": "P1-SUN",
|
||
"missile": {"kind": "P1sun", "magazine": 8, "min": 5.0, "max": 675.0, "interval": 12},
|
||
"gun": null,
|
||
"reload": 240,
|
||
"scale": 1.1,
|
||
"rest_pitch": 0.35,
|
||
"roles": 1,
|
||
"family": "trainable",
|
||
"parts": {
|
||
"body": "airdef:nasams_trailer",
|
||
"launcher": "airdef:p1sun_launcher",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [0.6, 0.3],
|
||
"pivot": {"ref": "tube_pivot"},
|
||
"muzzle": {"type": "grid", "cols": 4, "rows": 2, "size": 3.0},
|
||
"sensor": 0.0,
|
||
"mast": 2.0
|
||
},
|
||
{
|
||
"kind": "Radar",
|
||
"key": "radar",
|
||
"name": "РЛС дальнего обнаружения",
|
||
"missile": null,
|
||
"gun": null,
|
||
"reload": 0,
|
||
"scale": 1.5,
|
||
"rest_pitch": 0.0,
|
||
"roles": 0,
|
||
"family": "static",
|
||
"parts": {
|
||
"body": "airdef:radar_truck",
|
||
"launcher": null,
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": ["airdef:radar_panel", 1.2, 1.2, 1.5, -0.25]
|
||
},
|
||
"mount": [0.0, 0.0],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "none"},
|
||
"sensor": 2550.0,
|
||
"mast": 16.0
|
||
},
|
||
{
|
||
"kind": "Depot",
|
||
"key": "depot",
|
||
"name": "Склад боеприпасов",
|
||
"missile": null,
|
||
"gun": null,
|
||
"reload": 0,
|
||
"scale": 1.5,
|
||
"rest_pitch": 0.0,
|
||
"roles": 0,
|
||
"family": "static",
|
||
"parts": {
|
||
"body": "airdef:depot",
|
||
"launcher": null,
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [0.0, 0.0],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "none"},
|
||
"sensor": 0.0,
|
||
"mast": 1.0
|
||
},
|
||
{
|
||
"kind": "Tzm",
|
||
"key": "tzm",
|
||
"name": "ТЗМ",
|
||
"missile": null,
|
||
"gun": null,
|
||
"reload": 0,
|
||
"scale": 1.3,
|
||
"rest_pitch": 0.0,
|
||
"roles": 0,
|
||
"family": "truck",
|
||
"parts": {
|
||
"body": "airdef:tzm_truck",
|
||
"launcher": null,
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [0.0, 0.0],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "none"},
|
||
"sensor": 0.0,
|
||
"mast": 2.0
|
||
},
|
||
{
|
||
"kind": "Ew",
|
||
"key": "ew",
|
||
"name": "Станция РЭБ",
|
||
"missile": null,
|
||
"gun": null,
|
||
"reload": 0,
|
||
"scale": 1.3,
|
||
"rest_pitch": 0.0,
|
||
"roles": 0,
|
||
"family": "static",
|
||
"parts": {
|
||
"body": "airdef:ew_truck",
|
||
"launcher": null,
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [0.0, 0.0],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "none"},
|
||
"sensor": 0.0,
|
||
"mast": 3.0
|
||
},
|
||
{
|
||
"kind": "Light",
|
||
"key": "light",
|
||
"name": "Прожектор",
|
||
"missile": null,
|
||
"gun": null,
|
||
"reload": 0,
|
||
"scale": 1.2,
|
||
"rest_pitch": 0.6,
|
||
"roles": 0,
|
||
"family": "light",
|
||
"parts": {
|
||
"body": "airdef:searchlight",
|
||
"launcher": "airdef:searchlight_head",
|
||
"pack": null,
|
||
"dish": null,
|
||
"fixed": [],
|
||
"spinner": null
|
||
},
|
||
"mount": [0.85, 0.0],
|
||
"pivot": [0.0, 0.0, 0.0],
|
||
"muzzle": {"type": "none"},
|
||
"sensor": 0.0,
|
||
"mast": 1.5
|
||
}
|
||
],
|
||
"missiles": [
|
||
{
|
||
"kind": "Pac3",
|
||
"model": "airdef:pac3",
|
||
"speed": 5.5,
|
||
"accel": 0.35,
|
||
"turn": 0.3,
|
||
"boost": 8,
|
||
"cold": 0,
|
||
"pk": 0.9,
|
||
"fuse": 4.0,
|
||
"life": 240,
|
||
"scale": 1.0,
|
||
"flame": 1.0,
|
||
"rear": 28.0,
|
||
"seeker": 110.0,
|
||
"launch_sound": "launch.patriot",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 1.0}
|
||
},
|
||
{
|
||
"kind": "M57e6",
|
||
"model": "airdef:m57e6",
|
||
"speed": 5.0,
|
||
"accel": 0.5,
|
||
"turn": 0.32,
|
||
"boost": 5,
|
||
"cold": 0,
|
||
"pk": 0.82,
|
||
"fuse": 3.0,
|
||
"life": 160,
|
||
"scale": 0.85,
|
||
"flame": 0.65,
|
||
"rear": 28.0,
|
||
"seeker": 0.0,
|
||
"launch_sound": "launch.pantsir",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 1.12}
|
||
},
|
||
{
|
||
"kind": "M48n6",
|
||
"model": "airdef:m48n6",
|
||
"speed": 7.0,
|
||
"accel": 0.5,
|
||
"turn": 0.22,
|
||
"boost": 8,
|
||
"cold": 5,
|
||
"pk": 0.9,
|
||
"fuse": 5.0,
|
||
"life": 300,
|
||
"scale": 1.5,
|
||
"flame": 1.4,
|
||
"rear": 30.0,
|
||
"seeker": 120.0,
|
||
"launch_sound": "launch.s400_eject",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 0.88}
|
||
},
|
||
{
|
||
"kind": "M77n6",
|
||
"model": "airdef:m77n6",
|
||
"speed": 9.0,
|
||
"accel": 0.6,
|
||
"turn": 0.22,
|
||
"boost": 8,
|
||
"cold": 5,
|
||
"pk": 0.95,
|
||
"fuse": 6.0,
|
||
"life": 320,
|
||
"scale": 1.7,
|
||
"flame": 1.6,
|
||
"rear": 32.0,
|
||
"seeker": 120.0,
|
||
"launch_sound": "launch.s500_eject",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 0.8}
|
||
},
|
||
{
|
||
"kind": "IrisT",
|
||
"model": "airdef:irist_missile",
|
||
"speed": 7.0,
|
||
"accel": 0.5,
|
||
"turn": 0.35,
|
||
"boost": 6,
|
||
"cold": 4,
|
||
"pk": 0.9,
|
||
"fuse": 4.0,
|
||
"life": 260,
|
||
"scale": 0.95,
|
||
"flame": 0.9,
|
||
"rear": 28.0,
|
||
"seeker": 90.0,
|
||
"launch_sound": "launch.s400_eject",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 1.05}
|
||
},
|
||
{
|
||
"kind": "Amraam",
|
||
"model": "airdef:amraam_missile",
|
||
"speed": 6.0,
|
||
"accel": 0.45,
|
||
"turn": 0.3,
|
||
"boost": 6,
|
||
"cold": 0,
|
||
"pk": 0.85,
|
||
"fuse": 4.0,
|
||
"life": 260,
|
||
"scale": 0.9,
|
||
"flame": 0.9,
|
||
"rear": 28.0,
|
||
"seeker": 130.0,
|
||
"launch_sound": "launch.patriot",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 1.05}
|
||
},
|
||
{
|
||
"kind": "M9m317",
|
||
"model": "airdef:m48n6",
|
||
"speed": 6.5,
|
||
"accel": 0.5,
|
||
"turn": 0.25,
|
||
"boost": 8,
|
||
"cold": 0,
|
||
"pk": 0.85,
|
||
"fuse": 5.0,
|
||
"life": 300,
|
||
"scale": 1.1,
|
||
"flame": 1.2,
|
||
"rear": 32.0,
|
||
"seeker": 90.0,
|
||
"launch_sound": "launch.patriot",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 0.9}
|
||
},
|
||
{
|
||
"kind": "M9m338",
|
||
"model": "airdef:m57e6",
|
||
"speed": 5.5,
|
||
"accel": 0.6,
|
||
"turn": 0.4,
|
||
"boost": 4,
|
||
"cold": 4,
|
||
"pk": 0.9,
|
||
"fuse": 3.0,
|
||
"life": 160,
|
||
"scale": 1.0,
|
||
"flame": 0.8,
|
||
"rear": 28.0,
|
||
"seeker": 70.0,
|
||
"launch_sound": "launch.s400_eject",
|
||
"voice": {"event": "missile.flight", "gain": 1.0, "pitch": 1.15}
|
||
},
|
||
{
|
||
"kind": "P1sun",
|
||
"model": "airdef:p1sun",
|
||
"speed": 2.8,
|
||
"accel": 0.12,
|
||
"turn": 0.3,
|
||
"boost": 4,
|
||
"cold": 0,
|
||
"pk": 0.8,
|
||
"fuse": 3.0,
|
||
"life": 900,
|
||
"scale": 0.8,
|
||
"flame": 0.0,
|
||
"rear": 10.0,
|
||
"seeker": 60.0,
|
||
"launch_sound": "drone.lancet",
|
||
"voice": {"event": "drone.lancet", "gain": 0.8, "pitch": 1.6}
|
||
}
|
||
],
|
||
"named": {
|
||
"battery_radar": {
|
||
"kind": "fixed",
|
||
"value": [["airdef:radar_trailer", 0.0, 4.2]]
|
||
},
|
||
"battery_spinner": {
|
||
"kind": "spinner",
|
||
"value": ["airdef:radar_panel", 0.9, 4.2, 0.9, -0.3]
|
||
},
|
||
"tube_pivot": {
|
||
"kind": "pivot",
|
||
"value": [0.0, -0.5, 1.5]
|
||
}
|
||
}
|
||
}
|