mirror of
https://github.com/l0k1/oprf_assets.git
synced 2026-08-03 10:19:18 +00:00
Updates damage.nas
This commit is contained in:
@@ -123,6 +123,24 @@
|
||||
<int n="0" type="int">0</int>
|
||||
</generic>
|
||||
</multiplay>
|
||||
|
||||
<menubar>
|
||||
<default>
|
||||
<menu n="100">
|
||||
<label>BUK-M2</label>
|
||||
<enabled type="bool">true</enabled>
|
||||
<item>
|
||||
<label>Reload</label>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
fire_control.reload();
|
||||
</script>
|
||||
</binding>
|
||||
</item>
|
||||
</menu>
|
||||
</default>
|
||||
</menubar>
|
||||
</sim>
|
||||
|
||||
<controls>
|
||||
@@ -200,23 +218,38 @@
|
||||
<weight-launch-lbs>1576</weight-launch-lbs>
|
||||
<weight-warhead-lbs>145</weight-warhead-lbs>
|
||||
<weight-fuel-lbs>900</weight-fuel-lbs> <!-- new -->
|
||||
<drag-coeff type="double">0.025</drag-coeff> <!-- changed -->
|
||||
<drag-coeff type="double">0.15</drag-coeff> <!-- changed -->
|
||||
<drag-area type="double">1.312336</drag-area> <!-- changed -->
|
||||
<arming-time-sec type="double">2</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.35</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">120</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">3000</seeker-angular-speed-dps>
|
||||
<loft-altitude type="int">15000</loft-altitude>
|
||||
<loft-altitude type="int">0</loft-altitude>
|
||||
<min-fire-range-nm type="double">2.0</min-fire-range-nm>
|
||||
<max-report-distance type="double">200</max-report-distance> <!-- new -->
|
||||
<rail type="bool">true</rail> <!-- changed -->
|
||||
<rail-length-m type="double">5.5</rail-length-m> <!-- changed -->
|
||||
<rail-point-forward type="bool">false</rail-point-forward>
|
||||
<rail-pitch-deg type="double">30</rail-pitch-deg> <!-- new -->
|
||||
<class type="string">A</class>
|
||||
<fire-msg>Grumble</fire-msg>
|
||||
<fire-msg>Bird away</fire-msg>
|
||||
</m317>
|
||||
</armament>
|
||||
</payload>
|
||||
|
||||
<rotors>
|
||||
<main>
|
||||
<blade n="0">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
<blade n="1">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
<blade n="2">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
</main>
|
||||
</rotors>
|
||||
|
||||
<nasal>
|
||||
<carrier>
|
||||
@@ -225,6 +258,15 @@
|
||||
<damage>
|
||||
<file>Aircraft/BUK-M2/Nasal/damage.nas</file>
|
||||
</damage>
|
||||
<radar_logic>
|
||||
<file>Aircraft/BUK-M2/Nasal/radar-logic.nas</file>
|
||||
</radar_logic>
|
||||
<armament>
|
||||
<file>Aircraft/BUK-M2/Nasal/guided-missiles.nas</file>
|
||||
</armament>
|
||||
<fire_control>
|
||||
<file>Aircraft/BUK-M2/Nasal/fire-control.nas</file>
|
||||
</fire_control>
|
||||
</nasal>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
@@ -7,14 +7,15 @@ var hp = 80;
|
||||
var hp_max = hp;
|
||||
|
||||
var cannon_types = {
|
||||
" M70 rocket hit": 40.00, #Viggen rocket
|
||||
" M55 cannon shell hit": 3.50, #Viggen gun
|
||||
" KCA cannon shell hit": 7.00, #Viggen gunpod
|
||||
" Gun Splash On ": 3.0, #Mirage
|
||||
" M61A1 shell hit": 2.50, #f-14/15
|
||||
" GAU-8/A hit": 10.00, #a-10
|
||||
" BK27 cannon hit": 3.50, #typhoon
|
||||
" GSh-30 hit": 3.00, #mig-21
|
||||
" M70 rocket hit": 0.30,
|
||||
" M55 cannon shell hit": 0.20,
|
||||
" KCA cannon shell hit": 0.20,
|
||||
" Gun Splash On ": 0.30,
|
||||
" M61A1 shell hit": 0.20,
|
||||
" GAU-8/A hit": 0.30,
|
||||
" BK27 cannon hit": 0.20,
|
||||
" GSh-30 hit": 0.20,
|
||||
" 7.62 hit": 2.50, #UH-1
|
||||
" 50 BMG hit": 3.00, #p-47
|
||||
};
|
||||
|
||||
@@ -60,7 +61,8 @@ var warhead_lbs = {
|
||||
"R-60": 6.60,
|
||||
"R-27R1": 85.98,
|
||||
"R-27T1": 85.98,
|
||||
"FAB-500": 564.00,
|
||||
"FAB-500": 564.00,
|
||||
"M71R": 200.00,
|
||||
};
|
||||
|
||||
var incoming_listener = func {
|
||||
|
||||
245
BUK-M2/Nasal/fire-control.nas
Normal file
245
BUK-M2/Nasal/fire-control.nas
Normal file
@@ -0,0 +1,245 @@
|
||||
################### GLOBALS
|
||||
|
||||
var false = 0;
|
||||
var true = 1;
|
||||
|
||||
var radar_update_time = 2;
|
||||
var launch_update_time = 0.3;
|
||||
|
||||
var missile_delay_time = 0;
|
||||
var ciws_delay_time = 0;
|
||||
|
||||
var AIR = 0;
|
||||
var MARINE = 1;
|
||||
var SURFACE = 2;
|
||||
var ORDNANCE = 3;
|
||||
|
||||
var ACTIVE_MISSILE = 0;
|
||||
var NUM_MISSILES = 3; # total carried minus 1
|
||||
var ROUNDS = 30;
|
||||
var RELOAD_TIME = 600;
|
||||
|
||||
################### MISSILE INFO
|
||||
|
||||
var missile_name = "M317";
|
||||
var missile_brevity = "Grizzly";
|
||||
var missile_max_distance = 31; #max distance in nm
|
||||
var missile_min_distance = 2; #minimum distance in nm
|
||||
var lockon_time = 12; #time in seconds it takes to lock on to a target
|
||||
var launch_in_progress = 0;
|
||||
|
||||
################### IFF
|
||||
|
||||
var target = {
|
||||
new: func (callsign) {
|
||||
var m = { parents: [target] };
|
||||
m.callsign = callsign;
|
||||
m.fired = false;
|
||||
return m;
|
||||
},
|
||||
};
|
||||
|
||||
var targets = {
|
||||
"pinto": target.new("pinto"),
|
||||
"Leto": target.new("Leto"),
|
||||
"YV-187": target.new("YV-187"),
|
||||
"swamp": target.new("swamp"),
|
||||
"S": target.new("S"),
|
||||
"G-UNTER": target.new("G-UNTER"),
|
||||
"J-Mav16": target.new("J-Mav16"),
|
||||
"Raider1": target.new("Raider1"),
|
||||
"AF-MA13": target.new("AF-MA13"),
|
||||
"KOL24M": target.new("KOL24M"),
|
||||
"SNOWY1": target.new("SNOWY1"),
|
||||
"Evading-target": target.new("Evading-target"),# for testing with AI targets
|
||||
"Slow-evading-target": target.new("Slow-evading-target"),
|
||||
};
|
||||
|
||||
################### MAIN LOOP
|
||||
|
||||
var scan = func() {
|
||||
if ( getprop("/carrier/sunk") == 1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
#### ITERATE THROUGH MP LIST ####
|
||||
var my_pos = geo.aircraft_position();
|
||||
foreach(var mp; props.globals.getNode("/ai/models").getChildren("multiplayer")){#change to "aircraft" to shoot at scenario AI planes.
|
||||
#### DO WE HAVE FIRING SOLUTION... ####
|
||||
# is plane in range, do we still have missiles, and is a missile already inbound, and has it been 4 seconds since the last missile launch?
|
||||
var trigger = fire_control(mp, my_pos);
|
||||
#print("dist to target = " ~ dist_to_target);
|
||||
#### ... FOR THE MISSILE ####
|
||||
if ( launch_in_progress == 0 and trigger == true and targets[mp.getNode("callsign").getValue()].fired == false and ACTIVE_MISSILE <= NUM_MISSILES and ( systime() - missile_delay_time > 7 ) ) { #
|
||||
#print("callsign " ~ cs ~ " found at " ~ dist_to_target);
|
||||
missile_delay_time = systime();
|
||||
targets[mp.getNode("callsign").getValue()].fired = true;
|
||||
mp.getNode("unique",1).setValue(rand());
|
||||
armament.contact = radar_logic.Contact.new(mp, AIR);
|
||||
missile_launch(mp, systime(), my_pos);
|
||||
launch_in_progress = 1;
|
||||
#### ... FOR THE CIWS
|
||||
# disabled
|
||||
}
|
||||
}
|
||||
settimer(scan,radar_update_time);
|
||||
}
|
||||
|
||||
################## FIRE CONTROL
|
||||
################## ALL AI LOGIC RELATED TO FIGURING OUT IF A TARGET SHOULD BE SHOT AT SHOULD GO HERE.
|
||||
|
||||
var fire_control = func(mp, my_pos) {
|
||||
#gather some data about the target
|
||||
var ufo_pos = geo.Coord.new().set_latlon(mp.getNode("position/latitude-deg").getValue(),mp.getNode("position/longitude-deg").getValue(),(mp.getNode("position/altitude-ft").getValue() * 0.3048));
|
||||
var target_distance = my_pos.direct_distance_to(ufo_pos) * .000539957; #in nautical miles
|
||||
var target_heading = mp.getNode("orientation/true-heading-deg").getValue();
|
||||
var target_bearing = my_pos.course_to(ufo_pos);
|
||||
var relative_bearing = math.abs(ufo_pos.course_to(my_pos) - target_heading);
|
||||
var target_altitude = mp.getNode("position/altitude-ft").getValue();
|
||||
var target_airspeed = mp.getNode("velocities/true-airspeed-kt").getValue();
|
||||
|
||||
# can the radar see it?
|
||||
if ( mp.getNode("valid").getValue() == false ) { return false; }
|
||||
if ( radar_logic.isNotBehindTerrain(mp) == false ) { return false; }
|
||||
if ( target_airspeed < 40 ) { return false; }
|
||||
if ( target_altitude - props.globals.getNode("/position/altitude-ft").getValue() < 150 ) { return false; }
|
||||
if ( target_altitude > 70000 ) { return false; }
|
||||
if ( target_distance > missile_max_distance ) { return false; }
|
||||
# is this plane a friend or foe?
|
||||
if ( targets[mp.getNode("callsign").getValue()] == nil ) { return false; }
|
||||
|
||||
#should we shoot? using linear interpolation, with minimum probability of 0.01 to 0.10 and maximum probability of 1
|
||||
var distance_probability = 1 + (0.01 - 1) * (( target_distance - missile_min_distance ) / ( missile_max_distance - missile_min_distance ));
|
||||
var bearing_probability = 1 + (0.05 - 1) * (( relative_bearing ) / ( 180 ));
|
||||
var altitude_probability = 1 + (0.05 - 1) * (( target_altitude - 150 ) / ( 70000 - 150 ));
|
||||
var speed_probability = distance_probability / 2.5 + (1 - distance_probability / 2.5) * (( target_airspeed - 1000 ) / ( 40 - 1000 ));
|
||||
|
||||
var distance_weight = 0.4;
|
||||
var bearing_weight = 0.3;
|
||||
var altitude_weight = 0.2;
|
||||
var speed_weight = 0.1;
|
||||
|
||||
var fire_probability = (distance_probability * distance_weight) + (bearing_probability * bearing_weight) + (altitude_probability * altitude_weight) + (speed_probability * speed_weight);
|
||||
var the_dice = rand();
|
||||
|
||||
print("probability for " ~ mp.getNode("callsign").getValue() ~ ": "~fire_probability);
|
||||
|
||||
if ( fire_probability > 0.60 and fire_probability > the_dice ) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
################### MISSILE CONTROL
|
||||
|
||||
### missile reload
|
||||
|
||||
var reload = func() {
|
||||
#figure out how many to add
|
||||
for ( var i = 0; i <= NUM_MISSILES; i = i + 1 ) {
|
||||
if (armament.AIM.new(i,missile_name,missile_brevity) != -1) {
|
||||
#if statement just in case reload was called before all missiles were fired. Cause avoid calling search() on same missile twice.
|
||||
armament.AIM.active[i].status = 0;
|
||||
armament.AIM.active[i].search();
|
||||
}
|
||||
}
|
||||
ACTIVE_MISSILE = 0;
|
||||
print("SAM reloaded with "~(NUM_MISSILES+1)~" missiles.");
|
||||
}
|
||||
|
||||
### missile launch
|
||||
|
||||
var missile_launch = func(mp, launchtime, my_pos) {
|
||||
var ufo_pos = geo.Coord.new().set_latlon(mp.getNode("position/latitude-deg").getValue(),mp.getNode("position/longitude-deg").getValue(),(mp.getNode("position/altitude-ft").getValue() * 0.3048));
|
||||
var target_bearing = my_pos.course_to(ufo_pos);
|
||||
setprop("/orientation/heading-deg",target_bearing);
|
||||
if ( armament.AIM.active[ACTIVE_MISSILE].status == 1 and systime() - launchtime > lockon_time and radar_logic.isNotBehindTerrain(mp) == true ) {
|
||||
var brevity = armament.AIM.active[ACTIVE_MISSILE].brevity;
|
||||
armament.AIM.active[ACTIVE_MISSILE].release();
|
||||
defeatSpamFilter(brevity ~ " at: " ~ mp.getNode("callsign").getValue());
|
||||
ACTIVE_MISSILE = ACTIVE_MISSILE + 1;
|
||||
print("Fired "~missile_name~" #" ~ ACTIVE_MISSILE ~ " at: " ~ mp.getNode("callsign").getValue());
|
||||
launch_in_progress = 0;
|
||||
return;
|
||||
} elsif ((systime() - launchtime) > (lockon_time*3) or radar_logic.isNotBehindTerrain(mp) == false) {
|
||||
# launch cancelled so it dont forever goes in this loop and dont allow for other firings.
|
||||
launch_in_progress = 0;
|
||||
return;
|
||||
}
|
||||
settimer( func { missile_launch(mp, launchtime, my_pos); },launch_update_time);
|
||||
}
|
||||
|
||||
### missile set launched to false for target
|
||||
|
||||
var incoming_listener = func {
|
||||
var history = getprop("/sim/multiplay/chat-history");
|
||||
var hist_vector = split("\n", history);
|
||||
if (size(hist_vector) > 0) {
|
||||
var last = hist_vector[size(hist_vector)-1];
|
||||
var last_vector = split(":", last);
|
||||
var author = last_vector[0];
|
||||
var callsign = getprop("sim/multiplay/callsign");
|
||||
if (size(last_vector) > 1 and author == callsign) {
|
||||
var last1 = split(" ", last_vector[1]);
|
||||
print(last1);
|
||||
if(size(last1) > 2 and (last1[size(last1)-1] == "exploded" or last1[size(last1)-1] == "disarmed") ) {
|
||||
print("missile hit");
|
||||
if (size(last_vector) > 3) {
|
||||
#print("that someone is me!");
|
||||
var type = last1[1];
|
||||
#callsign = target, type = missile
|
||||
last_vector[3] = right(last_vector[3],size(last_vector[3]) - 1);
|
||||
if ( targets[last_vector[3]] != nil and type == missile_name ) {
|
||||
targets[last_vector[3]].fired = false;
|
||||
}
|
||||
}
|
||||
} elsif(size(last1) > 2 and last1[size(last1)-2] == "missed" ) {
|
||||
print("missile missed");
|
||||
var target = last1[size(last1)-1];
|
||||
var type = last1[1];
|
||||
#callsign = target, type = missile
|
||||
last_vector[3] = right(last_vector[3],size(last_vector[3]) - 1);
|
||||
if (targets[target] != nil and type == missile_name) {
|
||||
targets[target].fired = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
################### MISC
|
||||
|
||||
var spams = 0;
|
||||
var spamList = [];
|
||||
|
||||
var defeatSpamFilter = func (str) {
|
||||
spams += 1;
|
||||
if (spams == 15) {
|
||||
spams = 1;
|
||||
}
|
||||
str = str~":";
|
||||
for (var i = 1; i <= spams; i+=1) {
|
||||
str = str~".";
|
||||
}
|
||||
var newList = [str];
|
||||
for (var i = 0; i < size(spamList); i += 1) {
|
||||
append(newList, spamList[i]);
|
||||
}
|
||||
spamList = newList;
|
||||
}
|
||||
|
||||
var spamLoop = func {
|
||||
var spam = pop(spamList);
|
||||
if (spam != nil) {
|
||||
setprop("/sim/multiplay/chat", spam);
|
||||
}
|
||||
settimer(spamLoop, 1.20);
|
||||
}
|
||||
|
||||
spamLoop();
|
||||
|
||||
reload();
|
||||
scan();
|
||||
setlistener("/sim/multiplay/chat-history", incoming_listener, 0, 0);
|
||||
2222
BUK-M2/Nasal/guided-missiles.nas
Normal file
2222
BUK-M2/Nasal/guided-missiles.nas
Normal file
File diff suppressed because it is too large
Load Diff
403
BUK-M2/Nasal/radar-logic.nas
Normal file
403
BUK-M2/Nasal/radar-logic.nas
Normal file
@@ -0,0 +1,403 @@
|
||||
var clamp = func(v, min, max) { v < min ? min : v > max ? max : v }
|
||||
var encode3bits = func(first, second, third) {
|
||||
var integer = first;
|
||||
integer = integer + 2 * second;
|
||||
integer = integer + 4 * third;
|
||||
return integer;
|
||||
}
|
||||
|
||||
var FALSE = 0;
|
||||
var TRUE = 1;
|
||||
|
||||
var AIR = 0;
|
||||
var MARINE = 1;
|
||||
var SURFACE = 2;
|
||||
var ORDNANCE = 3;
|
||||
|
||||
var Contact = {
|
||||
# For now only used in guided missiles, to make it compatible with Mirage 2000-5.
|
||||
new: func(c, class) {
|
||||
var obj = { parents : [Contact]};
|
||||
#debug.benchmark("radar process1", func {
|
||||
obj.rdrProp = c.getNode("radar");
|
||||
obj.oriProp = c.getNode("orientation");
|
||||
obj.velProp = c.getNode("velocities");
|
||||
obj.posProp = c.getNode("position");
|
||||
obj.heading = obj.oriProp.getNode("true-heading-deg");
|
||||
#});
|
||||
#debug.benchmark("radar process2", func {
|
||||
obj.alt = obj.posProp.getNode("altitude-ft");
|
||||
obj.lat = obj.posProp.getNode("latitude-deg");
|
||||
obj.lon = obj.posProp.getNode("longitude-deg");
|
||||
#});
|
||||
#debug.benchmark("radar process3", func {
|
||||
#As it is a geo.Coord object, we have to update lat/lon/alt ->and alt is in meters
|
||||
obj.coord = geo.Coord.new();
|
||||
obj.coord.set_latlon(obj.lat.getValue(), obj.lon.getValue(), obj.alt.getValue() * FT2M);
|
||||
#});
|
||||
#debug.benchmark("radar process4", func {
|
||||
obj.pitch = obj.oriProp.getNode("pitch-deg");
|
||||
obj.speed = obj.velProp.getNode("true-airspeed-kt");
|
||||
obj.vSpeed = obj.velProp.getNode("vertical-speed-fps");
|
||||
obj.callsign = c.getNode("callsign", 1);
|
||||
obj.shorter = c.getNode("model-shorter");
|
||||
obj.orig_callsign = obj.callsign.getValue();
|
||||
obj.name = c.getNode("name");
|
||||
obj.sign = c.getNode("sign",1);
|
||||
obj.valid = c.getNode("valid");
|
||||
obj.painted = c.getNode("painted");
|
||||
obj.unique = c.getNode("unique");
|
||||
obj.validTree = 0;
|
||||
#});
|
||||
#debug.benchmark("radar process5", func {
|
||||
#obj.transponderID = c.getNode("instrumentation/transponder/transmitted-id");
|
||||
#});
|
||||
#debug.benchmark("radar process6", func {
|
||||
obj.acType = c.getNode("sim/model/ac-type");
|
||||
obj.type = c.getName();
|
||||
obj.index = c.getIndex();
|
||||
obj.string = "ai/models/" ~ obj.type ~ "[" ~ obj.index ~ "]";
|
||||
obj.shortString = obj.type ~ "[" ~ obj.index ~ "]";
|
||||
#});
|
||||
#debug.benchmark("radar process7", func {
|
||||
obj.range = obj.rdrProp.getNode("range-nm");
|
||||
obj.bearing = obj.rdrProp.getNode("bearing-deg");
|
||||
obj.elevation = obj.rdrProp.getNode("elevation-deg");
|
||||
#});
|
||||
obj.deviation = nil;
|
||||
|
||||
obj.node = c;
|
||||
obj.class = class;
|
||||
|
||||
obj.polar = [0,0];
|
||||
obj.cartesian = [0,0];
|
||||
|
||||
return obj;
|
||||
},
|
||||
|
||||
isValid: func () {
|
||||
var valid = me.valid.getValue();
|
||||
if (valid == nil) {
|
||||
valid = FALSE;
|
||||
}
|
||||
if (me.callsign.getValue() != me.orig_callsign) {
|
||||
valid = FALSE;
|
||||
}
|
||||
return valid;
|
||||
},
|
||||
|
||||
isPainted: func () {
|
||||
if (me.painted == nil) {
|
||||
me.painted = me.node.getNode("painted");
|
||||
}
|
||||
if (me.painted == nil) {
|
||||
return nil;
|
||||
}
|
||||
var p = me.painted.getValue();
|
||||
return p;
|
||||
},
|
||||
|
||||
getUnique: func () {
|
||||
if (me.unique == nil) {
|
||||
me.unique = me.node.getNode("unique");
|
||||
}
|
||||
if (me.unique == nil) {
|
||||
return nil;
|
||||
}
|
||||
var u = me.unique.getValue();
|
||||
return u;
|
||||
},
|
||||
|
||||
getElevation: func() {
|
||||
var e = 0;
|
||||
e = me.elevation.getValue();
|
||||
if(e == nil or e == 0) {
|
||||
# AI/MP has no radar properties
|
||||
var self = geo.aircraft_position();
|
||||
me.get_Coord();
|
||||
var angleInv = clamp(self.distance_to(me.coord)/self.direct_distance_to(me.coord), -1, 1);
|
||||
e = (self.alt()>me.coord.alt()?-1:1)*math.acos(angleInv)*R2D;
|
||||
}
|
||||
return e;
|
||||
},
|
||||
|
||||
getNode: func () {
|
||||
return me.node;
|
||||
},
|
||||
|
||||
getFlareNode: func () {
|
||||
return me.node.getNode("sim/multiplay/generic/string[10]");
|
||||
},
|
||||
|
||||
setPolar: func(dist, angle) {
|
||||
me.polar = [dist,angle];
|
||||
},
|
||||
|
||||
setCartesian: func(x, y) {
|
||||
me.cartesian = [x,y];
|
||||
},
|
||||
|
||||
remove: func(){
|
||||
if(me.validTree != 0){
|
||||
me.validTree.setValue(0);
|
||||
}
|
||||
},
|
||||
|
||||
get_Coord: func(){
|
||||
me.coord.set_latlon(me.lat.getValue(), me.lon.getValue(), me.alt.getValue() * FT2M);
|
||||
var TgTCoord = geo.Coord.new(me.coord);
|
||||
return TgTCoord;
|
||||
},
|
||||
|
||||
get_Callsign: func(){
|
||||
var n = me.callsign.getValue();
|
||||
if(n != "" and n != nil) {
|
||||
return n;
|
||||
}
|
||||
if (me.name == nil) {
|
||||
me.name = me.getNode().getNode("name");
|
||||
}
|
||||
if (me.name == nil) {
|
||||
n = "";
|
||||
} else {
|
||||
n = me.name.getValue();
|
||||
}
|
||||
if(n != "" and n != nil) {
|
||||
return n;
|
||||
}
|
||||
n = me.sign.getValue();
|
||||
if(n != "" and n != nil) {
|
||||
return n;
|
||||
}
|
||||
return "UFO";
|
||||
},
|
||||
|
||||
get_model: func(){
|
||||
var n = "";
|
||||
if (me.shorter == nil) {
|
||||
me.shorter = me.node.getNode("model-shorter");
|
||||
}
|
||||
if (me.shorter != nil) {
|
||||
n = me.shorter.getValue();
|
||||
}
|
||||
if(n != "" and n != nil) {
|
||||
return n;
|
||||
}
|
||||
n = me.sign.getValue();
|
||||
if(n != "" and n != nil) {
|
||||
return n;
|
||||
}
|
||||
if (me.name == nil) {
|
||||
me.name = me.getNode().getNode("name");
|
||||
}
|
||||
if (me.name == nil) {
|
||||
n = "";
|
||||
} else {
|
||||
n = me.name.getValue();
|
||||
}
|
||||
if(n != "" and n != nil) {
|
||||
return n;
|
||||
}
|
||||
return me.get_Callsign();
|
||||
},
|
||||
|
||||
get_Speed: func(){
|
||||
# return true airspeed
|
||||
var n = me.speed.getValue();
|
||||
return n;
|
||||
},
|
||||
|
||||
get_Longitude: func(){
|
||||
var n = me.lon.getValue();
|
||||
return n;
|
||||
},
|
||||
|
||||
get_Latitude: func(){
|
||||
var n = me.lat.getValue();
|
||||
return n;
|
||||
},
|
||||
|
||||
get_Pitch: func(){
|
||||
var n = me.pitch.getValue();
|
||||
return n;
|
||||
},
|
||||
|
||||
get_heading : func(){
|
||||
var n = me.heading.getValue();
|
||||
if(n == nil)
|
||||
{
|
||||
n = 0;
|
||||
}
|
||||
return n;
|
||||
},
|
||||
|
||||
get_bearing: func(){
|
||||
var n = 0;
|
||||
n = me.bearing.getValue();
|
||||
if(n == nil or n == 0) {
|
||||
# AI/MP has no radar properties
|
||||
n = me.get_bearing_from_Coord(geo.aircraft_position());
|
||||
}
|
||||
return n;
|
||||
},
|
||||
|
||||
get_bearing_from_Coord: func(MyAircraftCoord){
|
||||
me.get_Coord();
|
||||
var myBearing = 0;
|
||||
if(me.coord.is_defined()) {
|
||||
myBearing = MyAircraftCoord.course_to(me.coord);
|
||||
}
|
||||
return myBearing;
|
||||
},
|
||||
|
||||
get_reciprocal_bearing: func(){
|
||||
return geo.normdeg(me.get_bearing() + 180);
|
||||
},
|
||||
|
||||
get_deviation: func(true_heading_ref, coord){
|
||||
me.deviation = - deviation_normdeg(true_heading_ref, me.get_bearing_from_Coord(coord));
|
||||
return me.deviation;
|
||||
},
|
||||
|
||||
get_altitude: func(){
|
||||
#Return Alt in feet
|
||||
return me.alt.getValue();
|
||||
},
|
||||
|
||||
get_Elevation_from_Coord: func(MyAircraftCoord) {
|
||||
me.get_Coord();
|
||||
var value = (me.coord.alt() - MyAircraftCoord.alt()) / me.coord.direct_distance_to(MyAircraftCoord);
|
||||
if (math.abs(value) > 1) {
|
||||
# warning this else will fail if logged in as observer and see aircraft on other side of globe
|
||||
return 0;
|
||||
}
|
||||
var myPitch = math.asin(value) * R2D;
|
||||
return myPitch;
|
||||
},
|
||||
|
||||
get_total_elevation_from_Coord: func(own_pitch, MyAircraftCoord){
|
||||
var myTotalElevation = - deviation_normdeg(own_pitch, me.get_Elevation_from_Coord(MyAircraftCoord));
|
||||
return myTotalElevation;
|
||||
},
|
||||
|
||||
get_total_elevation: func(own_pitch) {
|
||||
me.deviation = - deviation_normdeg(own_pitch, me.getElevation());
|
||||
return me.deviation;
|
||||
},
|
||||
|
||||
get_range: func() {
|
||||
var r = 0;
|
||||
if(me.range == nil or me.range.getValue() == nil or me.range.getValue() == 0) {
|
||||
# AI/MP has no radar properties
|
||||
me.get_Coord();
|
||||
r = me.coord.direct_distance_to(geo.aircraft_position()) * M2NM;
|
||||
} else {
|
||||
r = me.range.getValue();
|
||||
}
|
||||
return r;
|
||||
},
|
||||
|
||||
get_range_from_Coord: func(MyAircraftCoord) {
|
||||
var myCoord = me.get_Coord();
|
||||
var myDistance = 0;
|
||||
if(myCoord.is_defined()) {
|
||||
myDistance = MyAircraftCoord.direct_distance_to(myCoord) * M2NM;
|
||||
}
|
||||
return myDistance;
|
||||
},
|
||||
|
||||
get_type: func () {
|
||||
return me.class;
|
||||
},
|
||||
|
||||
get_cartesian: func() {
|
||||
return me.cartesian;
|
||||
},
|
||||
|
||||
get_polar: func() {
|
||||
return me.polar;
|
||||
},
|
||||
};
|
||||
|
||||
var isNotBehindTerrain = func( mp ) {
|
||||
|
||||
###########
|
||||
var pos = mp.getNode("position");
|
||||
var alt = pos.getNode("altitude-ft").getValue();
|
||||
var lat = pos.getNode("latitude-deg").getValue();
|
||||
var lon = pos.getNode("longitude-deg").getValue();
|
||||
if(alt == nil or lat == nil or lon == nil) {
|
||||
return isVisible = 0;
|
||||
}
|
||||
var aircraftPos = geo.Coord.new().set_latlon(lat, lon, alt*0.3048);
|
||||
#################
|
||||
|
||||
|
||||
var isVisible = 0;
|
||||
var MyCoord = geo.aircraft_position();
|
||||
|
||||
# Because there is no terrain on earth that can be between these 2
|
||||
if(MyCoord.alt() < 8900 and aircraftPos.alt() < 8900)
|
||||
{
|
||||
# Temporary variable
|
||||
# A (our plane) coord in meters
|
||||
var a = MyCoord.x();
|
||||
var b = MyCoord.y();
|
||||
var c = MyCoord.z();
|
||||
# B (target) coord in meters
|
||||
var d = aircraftPos.x();
|
||||
var e = aircraftPos.y();
|
||||
var f = aircraftPos.z();
|
||||
var difa = d - a;
|
||||
var difb = e - b;
|
||||
var difc = f - c;
|
||||
# direct Distance in meters
|
||||
var myDistance = math.sqrt( math.pow((d-a),2) + math.pow((e-b),2) + math.pow((f-c),2)); #calculating distance ourselves to avoid another call to geo.nas (read: speed, probably).
|
||||
var Aprime = geo.Coord.new();
|
||||
|
||||
# Here is to limit FPS drop on very long distance
|
||||
var L = 500;
|
||||
if(myDistance > 50000)
|
||||
{
|
||||
L = myDistance / 15;
|
||||
}
|
||||
var step = L;
|
||||
var maxLoops = int(myDistance / L);
|
||||
|
||||
isVisible = 1;
|
||||
# This loop will make travel a point between us and the target and check if there is terrain
|
||||
for(var i = 1 ; i <= maxLoops ; i += 1)
|
||||
{
|
||||
#calculate intermediate step
|
||||
#basically dividing the line into maxLoops number of steps, and checking at each step
|
||||
#to ascii-art explain it:
|
||||
# |us|----------|step 1|-----------|step 2|--------|step 3|----------|them|
|
||||
#there will be as many steps as there is i
|
||||
#every step will be equidistant
|
||||
|
||||
#also, if i == 0 then the first step will be our plane
|
||||
|
||||
var x = ((difa/(maxLoops+1))*i)+a;
|
||||
var y = ((difb/(maxLoops+1))*i)+b;
|
||||
var z = ((difc/(maxLoops+1))*i)+c;
|
||||
#print("i:" ~ i ~ "|x,y,z | " ~ x ~ "," ~ y ~ "," ~ z);
|
||||
Aprime.set_xyz(x,y,z);
|
||||
var AprimeTerrainAlt = geo.elevation(Aprime.lat(), Aprime.lon());
|
||||
if(AprimeTerrainAlt == nil)
|
||||
{
|
||||
AprimeTerrainAlt = 0;
|
||||
}
|
||||
|
||||
if(AprimeTerrainAlt > Aprime.alt())
|
||||
{
|
||||
#print("behind terrain");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
isVisible = 1;
|
||||
}
|
||||
return isVisible;
|
||||
}
|
||||
@@ -7,14 +7,15 @@ var hp = 200;
|
||||
var hp_max = hp;
|
||||
|
||||
var cannon_types = {
|
||||
" M70 rocket hit": 40.00, #Viggen rocket
|
||||
" M55 cannon shell hit": 3.50, #Viggen gun
|
||||
" KCA cannon shell hit": 7.00, #Viggen gunpod
|
||||
" Gun Splash On ": 3.0, #Mirage
|
||||
" M61A1 shell hit": 2.50, #f-14/15
|
||||
" GAU-8/A hit": 10.00, #a-10
|
||||
" BK27 cannon hit": 3.50, #typhoon
|
||||
" GSh-30 hit": 3.00, #mig-21
|
||||
" M70 rocket hit": 0.30,
|
||||
" M55 cannon shell hit": 0.20,
|
||||
" KCA cannon shell hit": 0.20,
|
||||
" Gun Splash On ": 0.30,
|
||||
" M61A1 shell hit": 0.20,
|
||||
" GAU-8/A hit": 0.30,
|
||||
" BK27 cannon hit": 0.20,
|
||||
" GSh-30 hit": 0.20,
|
||||
" 7.62 hit": 2.50, #UH-1
|
||||
" 50 BMG hit": 3.00, #p-47
|
||||
};
|
||||
|
||||
@@ -60,7 +61,8 @@ var warhead_lbs = {
|
||||
"R-60": 6.60,
|
||||
"R-27R1": 85.98,
|
||||
"R-27T1": 85.98,
|
||||
"FAB-500": 564.00,
|
||||
"FAB-500": 564.00,
|
||||
"M71R": 200.00,
|
||||
};
|
||||
|
||||
var incoming_listener = func {
|
||||
|
||||
@@ -21,14 +21,15 @@ var FALSE = 0;
|
||||
|
||||
|
||||
var cannon_types = {
|
||||
" M70 rocket hit": 40.00, #Viggen rocket
|
||||
" M55 cannon shell hit": 3.50, #Viggen gun
|
||||
" KCA cannon shell hit": 7.00, #Viggen gunpod
|
||||
" Gun Splash On ": 3.0, #Mirage
|
||||
" M61A1 shell hit": 2.50, #f-14/15
|
||||
" GAU-8/A hit": 10.00, #a-10
|
||||
" BK27 cannon hit": 3.50, #typhoon
|
||||
" GSh-30 hit": 3.00, #mig-21
|
||||
" M70 rocket hit": 0.30,
|
||||
" M55 cannon shell hit": 0.20,
|
||||
" KCA cannon shell hit": 0.20,
|
||||
" Gun Splash On ": 0.30,
|
||||
" M61A1 shell hit": 0.20,
|
||||
" GAU-8/A hit": 0.30,
|
||||
" BK27 cannon hit": 0.20,
|
||||
" GSh-30 hit": 0.20,
|
||||
" 7.62 hit": 2.50, #UH-1
|
||||
" 50 BMG hit": 3.00, #p-47
|
||||
};
|
||||
|
||||
@@ -74,7 +75,8 @@ var warhead_lbs = {
|
||||
"R-60": 6.60,
|
||||
"R-27R1": 85.98,
|
||||
"R-27T1": 85.98,
|
||||
"FAB-500": 564.00,
|
||||
"FAB-500": 564.00,
|
||||
"M71R": 200.00,
|
||||
};
|
||||
|
||||
var incoming_listener = func {
|
||||
|
||||
@@ -7,14 +7,15 @@ var hp = 2500;
|
||||
var hp_max = hp;
|
||||
|
||||
var cannon_types = {
|
||||
" M70 rocket hit": 40.00, #Viggen rocket
|
||||
" M55 cannon shell hit": 3.50, #Viggen gun
|
||||
" KCA cannon shell hit": 7.00, #Viggen gunpod
|
||||
" Gun Splash On ": 3.0, #Mirage
|
||||
" M61A1 shell hit": 2.50, #f-14/15
|
||||
" GAU-8/A hit": 10.00, #a-10
|
||||
" BK27 cannon hit": 3.50, #typhoon
|
||||
" GSh-30 hit": 3.00, #mig-21
|
||||
" M70 rocket hit": 0.30,
|
||||
" M55 cannon shell hit": 0.20,
|
||||
" KCA cannon shell hit": 0.20,
|
||||
" Gun Splash On ": 0.30,
|
||||
" M61A1 shell hit": 0.20,
|
||||
" GAU-8/A hit": 0.30,
|
||||
" BK27 cannon hit": 0.20,
|
||||
" GSh-30 hit": 0.20,
|
||||
" 7.62 hit": 2.50, #UH-1
|
||||
" 50 BMG hit": 3.00, #p-47
|
||||
};
|
||||
|
||||
@@ -60,7 +61,8 @@ var warhead_lbs = {
|
||||
"R-60": 6.60,
|
||||
"R-27R1": 85.98,
|
||||
"R-27T1": 85.98,
|
||||
"FAB-500": 564.00,
|
||||
"FAB-500": 564.00,
|
||||
"M71R": 200.00,
|
||||
};
|
||||
|
||||
var incoming_listener = func {
|
||||
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-0.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-0.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-1.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-1.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-2.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-2.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-3.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-3.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-4.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-4.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -8,7 +8,7 @@
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/test/flags/explode-id-5</property>
|
||||
<property>payload/armament/kn-06/flags/explode-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
@@ -86,26 +86,6 @@
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<submodel>
|
||||
<name>RB-99 missile 1 explosion</name>
|
||||
<model>explosion-bounds.xml</model>
|
||||
<trigger>payload/armament/test/flags/explode-id-5</trigger>
|
||||
<speed>0.0</speed>
|
||||
<repeat>false</repeat>
|
||||
<delay>0.00</delay>
|
||||
<count>-1</count>
|
||||
<cd>0.00003</cd><!-- drag -->
|
||||
<eda>0.00136354</eda><!-- drag area -->
|
||||
<weight>0</weight>
|
||||
<collision>true</collision>
|
||||
<collision-report>sim/ai/aircraft/collision/bullet</collision-report>
|
||||
<impact>true</impact>
|
||||
<impact-report>sim/ai/aircraft/impact/bomb</impact-report>
|
||||
<wind>false</wind>
|
||||
<buoyancy>0</buoyancy>
|
||||
<life>0.5</life>
|
||||
</submodel>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
@@ -114,7 +94,7 @@
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/test/flags/explode-smoke-id-5</property>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-6.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-6.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-7.xml
Normal file
175
missile-frigate/Models/Armament/Weapons/KN-06/explosion-7.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/explode-smoke-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-0.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-0.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-0</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-0.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-0.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-1.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-1.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-1</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-1.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-1.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-2.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-2.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-2</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-2.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-2.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-3.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-3.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-3</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-4.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-4.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-4</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-4.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-4.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-5.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-5.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-5</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-5.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-5.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-6.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-6.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-6</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-6.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-6.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-7.xml
Normal file
42
missile-frigate/Models/Armament/Weapons/KN-06/kn-06-7.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/msl-id-7</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-7.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/missile-frigate/Models/Armament/Weapons/KN-06/explosion-7.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-0.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-0.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-1.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-1.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-2.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-2.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-3.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-3.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-4.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-4.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -8,7 +8,7 @@
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/test/flags/smoke-id-5</property>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
@@ -100,7 +100,7 @@
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/test/flags/smoke-id-5</property>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-6.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-6.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-7.xml
Normal file
187
missile-frigate/Models/Armament/Weapons/KN-06/motor-smoke-7.xml
Normal file
@@ -0,0 +1,187 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/flags/smoke-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -6,7 +6,7 @@
|
||||
<status>early-production</status>
|
||||
<path>LPD17.ac</path>
|
||||
<nasal>
|
||||
<load>
|
||||
<load><![CDATA[
|
||||
var wind_node = props.globals.getNode("/environment/wind-speed-kt");
|
||||
var time_node = props.globals.getNode("/sim/time/elapsed-sec");
|
||||
var roll_node = props.globals.getNode("/ai/models/LPD17-boats/roll");
|
||||
@@ -29,6 +29,89 @@
|
||||
settimer(func { loop(id); }, 0);
|
||||
}
|
||||
settimer(func { loop(loopid); }, 0);
|
||||
|
||||
var self = cmdarg();
|
||||
|
||||
|
||||
var skip = 0;
|
||||
var lat = self.getNode("rotors/main/blade[0]/flap-deg");
|
||||
var lon = self.getNode("rotors/main/blade[1]/flap-deg");
|
||||
var alt = self.getNode("rotors/main/blade[2]/flap-deg");
|
||||
if (alt == nil or alt.getValue() == nil) {
|
||||
skip = 1;
|
||||
}
|
||||
|
||||
var objs = {};
|
||||
|
||||
var loop = func () {
|
||||
|
||||
if(alt.getValue() != 0) {
|
||||
var objModel = objs["first"];
|
||||
if (objModel == nil) {
|
||||
# create model
|
||||
#print("creating missile");
|
||||
var n = props.globals.getNode("models", 1);
|
||||
var i = 0;
|
||||
for (i = 0; 1==1; i += 1) {
|
||||
if (n.getChild("model", i, 0) == nil) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
objModel = n.getChild("model", i, 1);
|
||||
|
||||
objModel.getNode("elevation",1).setDoubleValue(0);
|
||||
objModel.getNode("latitude",1).setDoubleValue(0);
|
||||
objModel.getNode("longitude",1).setDoubleValue(0);
|
||||
objModel.getNode("elevation-ft-prop",1).setValue(objModel.getPath()~"/elevation");
|
||||
objModel.getNode("latitude-deg-prop",1).setValue(objModel.getPath()~"/latitude");
|
||||
objModel.getNode("longitude-deg-prop",1).setValue(objModel.getPath()~"/longitude");
|
||||
objModel.getNode("heading-deg",1).setDoubleValue(0);
|
||||
objModel.getNode("pitch-deg",1).setDoubleValue(0);
|
||||
objModel.getNode("roll-deg",1).setDoubleValue(0);
|
||||
objModel.getNode("path",1).setValue("Aircraft/JA37/Models/Armament/Weapons/MP_missile/mp_missile.xml");
|
||||
|
||||
var loadNode = objModel.getNode("load", 1);
|
||||
loadNode.setBoolValue(1);
|
||||
|
||||
objs["first"] = objModel;
|
||||
loadNode.remove();
|
||||
}
|
||||
}
|
||||
var exist = 0;
|
||||
if(alt.getValue() != 0) {
|
||||
exist = 1;
|
||||
|
||||
var objModel = objs["first"];
|
||||
if (objModel == nil) {
|
||||
print("error: did not find mp missile.");
|
||||
return;
|
||||
}# else {
|
||||
# print("found a missile!");
|
||||
#}
|
||||
objModel.getNode("latitude").setDoubleValue(lat.getValue());
|
||||
objModel.getNode("longitude").setDoubleValue(lon.getValue());
|
||||
objModel.getNode("elevation").setDoubleValue(alt.getValue()*M2FT);
|
||||
|
||||
}
|
||||
if (exist == 0) {
|
||||
# remove model
|
||||
var objModel = objs["first"];
|
||||
if (objModel != nil) {
|
||||
objModel.remove();
|
||||
delete(objs, "first");
|
||||
}
|
||||
}
|
||||
|
||||
if (self.getNode("valid") == 0 or self.getNode("valid") == nil) {
|
||||
return;
|
||||
}
|
||||
settimer(loop, 0.05);
|
||||
}
|
||||
|
||||
if (skip == 0) {
|
||||
loop();
|
||||
}
|
||||
]]>
|
||||
</load>
|
||||
<unload>
|
||||
loopid += 1;
|
||||
|
||||
@@ -7,14 +7,15 @@ var hp = 200;
|
||||
var hp_max = hp;
|
||||
|
||||
var cannon_types = {
|
||||
" M70 rocket hit": 40.00, #Viggen rocket
|
||||
" M55 cannon shell hit": 3.50, #Viggen gun
|
||||
" KCA cannon shell hit": 7.00, #Viggen gunpod
|
||||
" Gun Splash On ": 3.0, #Mirage
|
||||
" M61A1 shell hit": 2.50, #f-14/15
|
||||
" GAU-8/A hit": 10.00, #a-10
|
||||
" BK27 cannon hit": 3.50, #typhoon
|
||||
" GSh-30 hit": 3.00, #mig-21
|
||||
" M70 rocket hit": 0.30,
|
||||
" M55 cannon shell hit": 0.20,
|
||||
" KCA cannon shell hit": 0.20,
|
||||
" Gun Splash On ": 0.30,
|
||||
" M61A1 shell hit": 0.20,
|
||||
" GAU-8/A hit": 0.30,
|
||||
" BK27 cannon hit": 0.20,
|
||||
" GSh-30 hit": 0.20,
|
||||
" 7.62 hit": 2.50, #UH-1
|
||||
" 50 BMG hit": 3.00, #p-47
|
||||
};
|
||||
|
||||
@@ -60,7 +61,8 @@ var warhead_lbs = {
|
||||
"R-60": 6.60,
|
||||
"R-27R1": 85.98,
|
||||
"R-27T1": 85.98,
|
||||
"FAB-500": 564.00,
|
||||
"FAB-500": 564.00,
|
||||
"M71R": 200.00,
|
||||
};
|
||||
|
||||
var incoming_listener = func {
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<aircraft-operator>KPN</aircraft-operator>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/missile-frigate/Models/missile-frigate.xml</path>
|
||||
<path>Aircraft/missile-frigate/Models/missile_frigate.xml</path>
|
||||
|
||||
<!-- Uncloak weather balloons visiting Earth -->
|
||||
<always-show-in-MP type="bool">true</always-show-in-MP>
|
||||
@@ -123,16 +123,227 @@
|
||||
<int n="0" type="int">0</int>
|
||||
</generic>
|
||||
</multiplay>
|
||||
<menubar>
|
||||
<default>
|
||||
<menu n="100">
|
||||
<label>Missile-frigate</label>
|
||||
<enabled type="bool">true</enabled>
|
||||
<item>
|
||||
<label>Reload</label>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
fire_control.reload();
|
||||
</script>
|
||||
</binding>
|
||||
</item>
|
||||
</menu>
|
||||
</default>
|
||||
</menubar>
|
||||
</sim>
|
||||
|
||||
<!-- need to adjust this (probably) -->
|
||||
|
||||
<controls>
|
||||
|
||||
<armament>
|
||||
<station-select type="int">0</station-select>
|
||||
<trigger type="bool">false</trigger>
|
||||
<station n="1">
|
||||
<offsets>
|
||||
<x-m type="double"> 4.15986</x-m>
|
||||
<y-m type="double"> -2.70311</y-m>
|
||||
<z-m type="double"> -0.67645</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="2">
|
||||
<offsets>
|
||||
<x-m type="double"> -0.02697</x-m>
|
||||
<y-m type="double"> -0.98148</y-m>
|
||||
<z-m type="double"> -0.94307</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="3">
|
||||
<offsets>
|
||||
<x-m type="double"> 4.15986</x-m>
|
||||
<y-m type="double"> 2.70311</y-m>
|
||||
<z-m type="double"> -0.67645</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="4">
|
||||
<offsets>
|
||||
<x-m type="double"> -0.02697</x-m>
|
||||
<y-m type="double"> 0.98148</y-m>
|
||||
<z-m type="double"> -0.94307</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="5"><!-- left outer wing -->
|
||||
<offsets>
|
||||
<x-m type="double"> 4.05216</x-m>
|
||||
<y-m type="double"> -3.94417</y-m>
|
||||
<z-m type="double"> -0.73722</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="6"><!-- right outer wing -->
|
||||
<offsets>
|
||||
<x-m type="double"> 4.05216</x-m>
|
||||
<y-m type="double"> 3.94417</y-m>
|
||||
<z-m type="double"> -0.73722</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="7"><!-- right outer wing -->
|
||||
<offsets>
|
||||
<x-m type="double"> 4.05216</x-m>
|
||||
<y-m type="double"> 3.94417</y-m>
|
||||
<z-m type="double"> -0.73722</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="8"><!-- right outer wing -->
|
||||
<offsets>
|
||||
<x-m type="double"> 4.05216</x-m>
|
||||
<y-m type="double"> 3.94417</y-m>
|
||||
<z-m type="double"> -0.73722</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
</armament>
|
||||
</controls>
|
||||
|
||||
|
||||
<payload>
|
||||
<weight n="0">
|
||||
<name>Main Store</name>
|
||||
<weight-lb alias="/fdm/jsbsim/inertia/pointmass-weight-lbs[1]"/>
|
||||
<selected>none</selected>
|
||||
<opt>
|
||||
<name>KN-06</name>
|
||||
<lbs>50</lbs>
|
||||
</opt>
|
||||
</weight>
|
||||
|
||||
<armament>
|
||||
<models type="string">Aircraft/missile-frigate/Models/Armament/Weapons/</models>
|
||||
<msg type="bool">true</msg>
|
||||
<damage type="bool">true</damage>
|
||||
<kn-06>
|
||||
<sound-on-off type="bool">false</sound-on-off>
|
||||
<sound-volume type="double">0.0</sound-volume>
|
||||
<vol-search type="double">0.00</vol-search>
|
||||
<vol-track type="double">0.15</vol-track> <!-- new -->
|
||||
<vol-track-weak type="double">0.1</vol-track-weak> <!-- new -->
|
||||
<guidance type="string">radar</guidance>
|
||||
<navigation type="string">APN</navigation> <!-- new -->
|
||||
<all-aspect type="bool">true</all-aspect>
|
||||
<max-fire-range-nm type="int">85</max-fire-range-nm>
|
||||
<FCS-field-deg type="int">360</FCS-field-deg>
|
||||
<seeker-field-deg type="int">360</seeker-field-deg>
|
||||
<max-g type="int">22</max-g>
|
||||
<thrust-lbf-stage-1 type="double">100000</thrust-lbf-stage-1>
|
||||
<thrust-lbf-stage-2 type="double">80000</thrust-lbf-stage-2>
|
||||
<stage-1-duration-sec type="double">0.25</stage-1-duration-sec>
|
||||
<stage-2-duration-sec type="double">12.0</stage-2-duration-sec>
|
||||
<weight-launch-lbs>3920</weight-launch-lbs>
|
||||
<weight-warhead-lbs>315</weight-warhead-lbs>
|
||||
<weight-fuel-lbs>2800</weight-fuel-lbs> <!-- new -->
|
||||
<drag-coeff type="double">0.15</drag-coeff>
|
||||
<drag-area type="double">2.11349</drag-area>
|
||||
<arming-time-sec type="double">2</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.25</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">160</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">3000</seeker-angular-speed-dps>
|
||||
<loft-altitude type="int">75000</loft-altitude>
|
||||
<min-fire-range-nm type="double">0.85</min-fire-range-nm>
|
||||
<max-report-distance type="double">200</max-report-distance> <!-- new -->
|
||||
<rail type="bool">true</rail>
|
||||
<rail-length-m type="double">7.5</rail-length-m>
|
||||
<rail-point-forward type="bool">false</rail-point-forward>
|
||||
<rail-pitch-deg type="double">90</rail-pitch-deg> <!-- new -->
|
||||
<class type="string">A</class>
|
||||
<fire-msg>Bird away</fire-msg>
|
||||
</kn-06>
|
||||
<!-- test: SAM -->
|
||||
<test>
|
||||
<sound-on-off type="bool">false</sound-on-off>
|
||||
<sound-volume type="double">0.0</sound-volume>
|
||||
<vol-search type="double">0.00</vol-search>
|
||||
<guidance type="string">radar</guidance>
|
||||
<all-aspect type="bool">true</all-aspect>
|
||||
<max-fire-range-nm type="int">38.8</max-fire-range-nm>
|
||||
<FCS-field-deg type="int">360</FCS-field-deg>
|
||||
<seeker-field-deg type="int">360</seeker-field-deg>
|
||||
<max-g type="int">30</max-g>
|
||||
<thrust-lbf-stage-1 type="double">9000</thrust-lbf-stage-1>
|
||||
<thrust-lbf-stage-2 type="double">1500</thrust-lbf-stage-2>
|
||||
<stage-1-duration-sec type="double">4.0</stage-1-duration-sec>
|
||||
<stage-2-duration-sec type="double">15.0</stage-2-duration-sec>
|
||||
<weight-launch-lbs>291</weight-launch-lbs>
|
||||
<weight-warhead-lbs>44</weight-warhead-lbs>
|
||||
<drag-coeff type="double">0.5</drag-coeff>
|
||||
<drag-area type="double">0.2739</drag-area>
|
||||
<searcher-beam-width type="double">3.0</searcher-beam-width>
|
||||
<arming-time-sec type="double">1.6</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.9</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">90</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">30</seeker-angular-speed-dps>
|
||||
<loft-altitude>0</loft-altitude>
|
||||
<min-fire-range-nm type="double">0.35</min-fire-range-nm>
|
||||
<rail type="bool">true</rail>
|
||||
<rail-length-m type="double">5</rail-length-m>
|
||||
<rail-point-forward type="bool">false</rail-point-forward>
|
||||
<class type="string">A/A</class>
|
||||
<fire-msg>Chickenbeater</fire-msg>
|
||||
</test>
|
||||
<!--<test>
|
||||
<sound-on-off type="bool">false</sound-on-off>
|
||||
<sound-volume type="double">0.0</sound-volume>
|
||||
<vol-search type="double">0.03</vol-search>
|
||||
<guidance type="string">radar</guidance>
|
||||
<all-aspect type="bool">true</all-aspect>
|
||||
<max-fire-range-nm type="double">100</max-fire-range-nm>
|
||||
<FCS-field-deg type="int">25</FCS-field-deg>
|
||||
<seeker-field-deg type="int">180</seeker-field-deg>
|
||||
<max-g type="int">20</max-g>
|
||||
<max-launch-g type="int">7</max-launch-g>
|
||||
<thrust-lbf-stage-1 type="double">150</thrust-lbf-stage-1>
|
||||
<thrust-lbf-stage-2 type="double">0.0</thrust-lbf-stage-2>
|
||||
<stage-1-duration-sec type="double">200.5</stage-1-duration-sec>
|
||||
<stage-2-duration-sec type="double">1.0</stage-2-duration-sec>
|
||||
<weight-launch-lbs type="double">179</weight-launch-lbs>
|
||||
<weight-warhead-lbs type="double">20.8</weight-warhead-lbs>
|
||||
<drag-coeff type="double">0.5</drag-coeff>
|
||||
<drag-area type="double">0.143</drag-area>
|
||||
<searcher-beam-width type="double">2.0</searcher-beam-width>
|
||||
<arming-time-sec type="double">1.4</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.4</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">250</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">50</seeker-angular-speed-dps>
|
||||
<loft-altitude>100</loft-altitude>
|
||||
<min-fire-range-nm type="double">0.2</min-fire-range-nm>
|
||||
<rail type="bool">false</rail>
|
||||
<class type="string">A/G</class>
|
||||
</test>-->
|
||||
</armament>
|
||||
</payload>
|
||||
|
||||
<rotors>
|
||||
<main>
|
||||
<blade n="0">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
<blade n="1">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
<blade n="2">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
</main>
|
||||
</rotors>
|
||||
|
||||
<nasal>
|
||||
<carrier>
|
||||
|
||||
Reference in New Issue
Block a user