@@ -1277,7 +1277,7 @@ private static String toHitIsImpossible(Game game, Entity ae, int attackerId, Ta
1277
1277
boolean networkFiringSolution = false ;
1278
1278
//Check to see if the attacker has a firing solution. Naval C3 networks share targeting data
1279
1279
if (ae .hasNavalC3 () && te != null
1280
- && game .getC3NetworkMembers (ae ).stream ().anyMatch (en -> en .hasFiringSolutionFor (te .getId ())) {
1280
+ && game .getC3NetworkMembers (ae ).stream ().anyMatch (en -> en .hasFiringSolutionFor (te .getId ()))) {
1281
1281
networkFiringSolution = true ;
1282
1282
}
1283
1283
if (!networkFiringSolution ) {
@@ -1300,15 +1300,14 @@ private static String toHitIsImpossible(Game game, Entity ae, int attackerId, Ta
1300
1300
&& (te != null ) && te .hasSeenEntity (ae .getOwner ()))
1301
1301
&& !isArtilleryIndirect && !isIndirect && !isBearingsOnlyMissile ) {
1302
1302
boolean networkSee = false ;
1303
- if (ae .hasC3 () || ae .hasC3i () || ae .hasActiveNovaCEWS ()) {
1303
+ if (ae .hasC3 () || ae .hasC3i () || ae .hasActiveNovaCEWS ()
1304
+ && game .getEntitiesVector ().stream ().anyMatch (en ->
1305
+ !en .isEnemyOf (ae )
1306
+ && en .onSameC3NetworkAs (ae )
1307
+ && Compute .canSee (game , en , target ))) {
1304
1308
// c3 units can fire if any other unit in their network is in
1305
1309
// visual or sensor range
1306
- for (Entity en : game .getEntitiesVector ()) {
1307
- if (!en .isEnemyOf (ae ) && en .onSameC3NetworkAs (ae ) && Compute .canSee (game , en , target )) {
1308
- networkSee = true ;
1309
- break ;
1310
- }
1311
- }
1310
+ networkSee = true ;
1312
1311
}
1313
1312
if (!networkSee ) {
1314
1313
if (!Compute .inSensorRange (game , ae , target , null )) {
0 commit comments