var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
if (me.life_time - me.last_noti > me.noti_time and getprop("payload/armament/msg")) {
# notify in flight using Emesary.
me.last_noti = me.life_time;
thread.lock(mutexTimer);
lockMutex(mutexTimer);
var rdr = me.guidance=="radar";
var semiRdr = (me.guidance=="semi-radar" and !me.semiLostLock) or (me.guidance=="command" and me.guiding);# Continous wave illuminator active on the target
append(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
thread.unlock(mutexTimer);
appendTimer(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
unlockMutex(mutexTimer);
}
me.last_dt = me.dt;
@ -2685,9 +2696,9 @@ var AIM = {
if (me.counter > -1 and !me.ai.getNode("valid").getBoolValue()) {
# TODO: Why is this placed so late? Don't remember.
var phrase = sprintf("%s %s: %.1f meters from: %s", me.type,event, min_distance, cs);# if we mention ourself then we need to explicit add ourself as author.
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
if (me.life_time - me.last_noti > me.noti_time and getprop("payload/armament/msg")) {
# notify in flight using Emesary.
me.last_noti = me.life_time;
thread.lock(mutexTimer);
lockMutex(mutexTimer);
var rdr = me.guidance=="radar";
var semiRdr = (me.guidance=="semi-radar" and !me.semiLostLock) or (me.guidance=="command" and me.guiding);# Continous wave illuminator active on the target
append(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
thread.unlock(mutexTimer);
appendTimer(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
unlockMutex(mutexTimer);
}
me.last_dt = me.dt;
@ -2685,9 +2696,9 @@ var AIM = {
if (me.counter > -1 and !me.ai.getNode("valid").getBoolValue()) {
# TODO: Why is this placed so late? Don't remember.
var phrase = sprintf("%s %s: %.1f meters from: %s", me.type,event, min_distance, cs);# if we mention ourself then we need to explicit add ourself as author.
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
if (me.life_time - me.last_noti > me.noti_time and getprop("payload/armament/msg")) {
# notify in flight using Emesary.
me.last_noti = me.life_time;
thread.lock(mutexTimer);
lockMutex(mutexTimer);
var rdr = me.guidance=="radar";
var semiRdr = (me.guidance=="semi-radar" and !me.semiLostLock) or (me.guidance=="command" and me.guiding);# Continous wave illuminator active on the target
append(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
thread.unlock(mutexTimer);
appendTimer(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
unlockMutex(mutexTimer);
}
me.last_dt = me.dt;
@ -2685,9 +2696,9 @@ var AIM = {
if (me.counter > -1 and !me.ai.getNode("valid").getBoolValue()) {
# TODO: Why is this placed so late? Don't remember.
var phrase = sprintf("%s %s: %.1f meters from: %s", me.type,event, min_distance, cs);# if we mention ourself then we need to explicit add ourself as author.
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
if (me.life_time - me.last_noti > me.noti_time and getprop("payload/armament/msg")) {
# notify in flight using Emesary.
me.last_noti = me.life_time;
thread.lock(mutexTimer);
lockMutex(mutexTimer);
var rdr = me.guidance=="radar";
var semiRdr = (me.guidance=="semi-radar" and !me.semiLostLock) or (me.guidance=="command" and me.guiding);# Continous wave illuminator active on the target
append(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
thread.unlock(mutexTimer);
appendTimer(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
unlockMutex(mutexTimer);
}
me.last_dt = me.dt;
@ -2685,9 +2696,9 @@ var AIM = {
if (me.counter > -1 and !me.ai.getNode("valid").getBoolValue()) {
# TODO: Why is this placed so late? Don't remember.
var phrase = sprintf("%s %s: %.1f meters from: %s", me.type,event, min_distance, cs);# if we mention ourself then we need to explicit add ourself as author.
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
if (me.life_time - me.last_noti > me.noti_time and getprop("payload/armament/msg")) {
# notify in flight using Emesary.
me.last_noti = me.life_time;
thread.lock(mutexTimer);
lockMutex(mutexTimer);
var rdr = me.guidance=="radar";
var semiRdr = (me.guidance=="semi-radar" and !me.semiLostLock) or (me.guidance=="command" and me.guiding);# Continous wave illuminator active on the target
append(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
thread.unlock(mutexTimer);
appendTimer(AIM.timerQueue, [AIM, AIM.notifyInFlight, [me.latN.getValue(), me.lonN.getValue(), me.altN.getValue()*FT2M,rdr,semiRdr,me.typeID,me.type,me.unique_id,me.thrust_lbf>0,(me.free or me.lostLOS or me.tooLowSpeed or me.flareLock or me.chaffLock)?"":me.callsign, me.hdg, me.pitch, me.new_speed_fps, 0], -1]);
unlockMutex(mutexTimer);
}
me.last_dt = me.dt;
@ -2685,9 +2696,9 @@ var AIM = {
if (me.counter > -1 and !me.ai.getNode("valid").getBoolValue()) {
# TODO: Why is this placed so late? Don't remember.
var phrase = sprintf("%s %s: %.1f meters from: %s", me.type,event, min_distance, cs);# if we mention ourself then we need to explicit add ourself as author.
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));
var tacID = left(md5(notification.Callsign~notification.UniqueIdentity~wh),6);
var elapsed = getprop("sim/time/elapsed-sec");
lastSeenTacObject[tacID] = elapsed;
if (notification.Kind == 2) {
if (notification.Kind == MOVE) {
var target = ",Color=Red";
if (wh=="Flare") wh=wh~",Type=Flare";
var content = sprintf("%s,T=%.6f|%.6f|%.2f|0|%.1f|%.1f,TAS=%.2f,AOA=0,Visible=1,Name=%s,%s\n",tacID,notification.Position.lon(),notification.Position.lat(),notification.Position.alt(),0,0,0,wh,target);
@ -346,13 +346,13 @@ var DamageRecipient =
}
if (notification.Kind == MOVE) {
if (thrustOn or index == 93 or index == 95) {
if (thrustOn or index == warheads["pilot"][0] or index == warheads["Flare"][0]) {
# visualize missile smoke trail
var smoke = 1;
if (index == 93) {
if (index == warheads["pilot"][0]) {
smoke = 0;
} elsif (index == 95) {
} elsif (index == warheads["Flare"][0]) {
smoke = 3;
if (notification.Position.distance_to(ownPos)*M2NM > 5) {
# Don't bother to show flares further than 5 nm
@ -406,7 +406,7 @@ var DamageRecipient =
return emesary.Transmitter.ReceiptStatus_OK;
}
if (index == 95 or index == 93) {
if (index == warheads["Flare"][0] or index == warheads["pilot"][0]) {
return emesary.Transmitter.ReceiptStatus_OK;
}
@ -979,15 +979,10 @@ var animate_flare = func {
flare_list = sort(flare_list, flare_sorter);
foreach(flare; flare_list) {
if (stime-flare[1] > flare_duration) {
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, 21+95);
msg.Flags = 0;
var msg = notifications.ObjectInFlightNotification.new("ffly", flare[6], DESTROY, DamageRecipient.typeID2emesaryID(warheads["Flare"][0]));