Считает и в оффлайне, сам видел после сбития пишется Самолет противника уничтожен(Групповая победа) а в очках пол звезды рисуется и пишется сбито 2 самолета и 1/2 как то так.
- - - Добавлено - - -
private void checkCollisionForAircraft() {
List list = Engine.targets();
int i = list.size();
for (int i_17_ = 0; i_17_ < i; i_17_++) {
Actor actor = (Actor) list.get(i_17_);
if (actor instanceof Aircraft) {
FlightModel flightmodel = ((Aircraft) actor).FM;
if (flightmodel != null && flightmodel.isTick(4, 0)) {
for (int i_18_ = i_17_ + 1; i_18_ < i; i_18_++) {
Actor actor_19_ = (Actor) list.get(i_18_);
if (i_17_ != i_18_ && actor_19_ instanceof Aircraft) {
FlightModel flightmodel_20_
= ((Aircraft) actor_19_).FM;
if (flightmodel instanceof Pilot
&& flightmodel_20_ instanceof Pilot) {
float f
= (float) (flightmodel.Loc.distanceSquared
(flightmodel_20_.Loc));
if (!(f > 1.0E7F)) {
if (flightmodel.actor.getArmy()
!= flightmodel_20_.actor.getArmy()) {
if (flightmodel
instanceof RealFlightModel)
testAsDanger(flightmodel,
flightmodel_20_);
if (flightmodel_20_
instanceof RealFlightModel)
testAsDanger(flightmodel_20_,
flightmodel);
}
Ve.sub(flightmodel.Loc,
flightmodel_20_.Loc);
float f_21_ = (float) Ve.length();
Ve.normalize();
if (flightmodel.actor.getArmy()
== flightmodel_20_.actor.getArmy()) {
tmpV.set(Ve);
flightmodel_20_.Or.transformInv(tmpV);
if (tmpV.x > 0.0 && tmpV.y > -0.1
&& tmpV.y < 0.1 && tmpV.z > -0.1
&& tmpV.z < 0.1)
((Maneuver) flightmodel_20_)
.setShotAtFriend(f_21_);
tmpV.set(Ve);
tmpV.scale(-1.0);
flightmodel.Or.transformInv(tmpV);
if (tmpV.x > 0.0 && tmpV.y > -0.1
&& tmpV.y < 0.1 && tmpV.z > -0.1
&& tmpV.z < 0.1)
((Maneuver) flightmodel)
.setShotAtFriend(f_21_);
}
if (!(f > 20000.0F)) {
float f_22_
= ((flightmodel.actor.collisionR()
+ flightmodel_20_.actor
.collisionR())
* 1.5F);
f_21_ -= f_22_;
Vtarg.sub(flightmodel_20_.Vwld,
flightmodel.Vwld);
Vtarg.scale(1.5);
float f_23_ = (float) Vtarg.length();
if (!(f_23_ < f_21_)) {
Vtarg.normalize();
Vtarg.scale((double) f_21_);
Ve.scale(Vtarg.dot(Ve));
Vtarg.sub(Ve);
if (Vtarg.length() < (double) f_22_
|| f_21_ < 0.0F) {
if (((Aircraft) actor).FM
instanceof Pilot)
((Maneuver)
((Aircraft) actor).FM)
.setStrikeEmer
(flightmodel_20_);
if (((Aircraft) actor_19_).FM
instanceof Pilot)
((Maneuver)
((Aircraft) actor_19_).FM)
.setStrikeEmer
(flightmodel);
}
}
}
}
}
}
}
}
}
}
} Вот метод.