oprf_assets/SA-6/Nasal/fire-control-custom.nas

61 lines
2.9 KiB
Plaintext

################### SAM INFO ###################
var setupTime = 300;#minimum 'launcher_tilt_time' secs no matter what, due to anim and stuff.
var reload_time = 600;
var launcher_final_tilt_deg = 33;
var launcher_start_tilt_deg = 0;
var launcher_tilt_time = 15;
var sam_align_to_target = 0;
var launcher_align_to_target = 1;
var align_speed_dps = 20;
var radar_elevation_above_terrain_m = 10;#estimate
var radar_lowest_pitch = 0.1;# 0.5 degs = roughly 925 feet at 20 nm, 25 feet at half a nm. # 0.35 = roughly 925 feet at 20 nm, 25 feet at half a nm.
var radar_off_time_min = 0;# When turning off to lure enemies into engagement zone, and to not make the SAM too easy to find, minimum turn off this duration.
var radar_off_time_max = 0;# Bigger missile_max_distance give crew incentive to keep this a bit longer
var radar_on_time = 45;# Minimum the time it would take to scan whole sky
var radar_on_after_detect_time = 180;# Crew is alert after spotting an aircraft, how long should they stay that way?
var can_detect_anti_rad = 0.05;# 0.5 very good, 0 not at all.
#reaction tme for s-300p is 28 secs acording to http://www.astronautix.com/s/s-300p.html
# sounds a bit high for pmu, as its 4 secs for s-400
################### CIWS INFO ###################
var ciws_installed = 0;
var ciws_domain_nm = 1.50; #range where it can kill
var ciws_chance = 0.20; #chance to get a kill at 0nm distance
var ciws_burst_rounds = 60;#how many rounds in a burst
var ciws_shell = 15;#from lookup table in damage.nas
var ROUNDS_init = 30;
var ROUNDS = ROUNDS_init;#CIWS bursts remaining
################### MISSILE INFO - http://www.astronautix.com/k/kub.html ###################
var NUM_MISSILES = 2; # total carried minus 1
var missile_name = "m3m9";
var missile_brevity = damage.id2warhead[getprop("payload/armament/"~string.lc(missile_name)~"/type-id")][4];
var missile_max_distance = getprop("payload/armament/"~string.lc(missile_name)~"/max-fire-range-nm"); #max distance of target in nm when it will fire
var missile_min_distance = getprop("payload/armament/"~string.lc(missile_name)~"/min-fire-range-nm"); #minimum distance in nm when it will fire
var lockon_time = 24; #time in seconds it takes to lock on and get a firing solution on a target
var fire_minimum_interval = 7;# time since last track was initiated till a new can be initiated
var same_target_max_missiles = 2;# max number of missiles in air against same target
var isInEngagementEnvelope = func (target_radial_airspeed, target_ground_distance, target_relative_altitude) {
return 1;
}
var midflight = func (struct) {
if (struct.guidance == "semi-radar") {
# This makes the SAM system keep lock on target when missile in-flight and no longer tracking the target.
# Usage is to make the RWR lock sound go off in targets cockpit.
thread.lock(mutexLock);
semi_active_track = struct.callsign;
thread.unlock(mutexLock);
}
return {};
};