@@ -381,12 +381,12 @@ private void RunDefenderAssignment()
381381 foreach ( var squad in squadsForPlanet )
382382 {
383383 var count = Math . Min ( squad . TeamSize , defenders . Count - idx ) ;
384- if ( count == squad . TeamSize )
384+ if ( count > 0 )
385385 {
386386 squad . Defenders = defenders . Skip ( idx ) . Take ( count ) . ToList ( ) ;
387387 idx += count ;
388388 }
389- // else: squad gets no defenders (concede) - Defenders stays empty
389+ // else: no defenders at all for this squad (concede)
390390 }
391391 }
392392 }
@@ -409,9 +409,9 @@ private async Task LaunchAllBattles()
409409 squad . Attackers = squad . Attackers . Where ( x => server . ConnectedUsers . ContainsKey ( x ) ) . ToList ( ) ;
410410 squad . Defenders = squad . Defenders . Where ( x => server . ConnectedUsers . ContainsKey ( x ) ) . ToList ( ) ;
411411
412- if ( squad . Defenders . Count == squad . TeamSize && squad . Attackers . Count == squad . TeamSize )
412+ if ( squad . Defenders . Count > 0 && squad . Attackers . Count > 0 )
413413 {
414- // full battle
414+ // battle (may be uneven)
415415 try
416416 {
417417 var battle = new PlanetWarsServerBattle ( server , squad ) ;
@@ -437,12 +437,12 @@ private async Task LaunchAllBattles()
437437 Trace . TraceError ( "PlanetWars LaunchBattle error: {0}" , ex ) ;
438438 }
439439 }
440- else if ( squad . Attackers . Count == squad . TeamSize )
440+ else if ( squad . Attackers . Count > 0 )
441441 {
442- // concede - not enough defenders
442+ // concede - zero defenders
443443 RecordPlanetwarsLoss ( squad ) ;
444444 }
445- // else: attackers also disconnected , skip entirely
445+ // else: no attackers left , skip entirely
446446 }
447447
448448 FormedSquads . Clear ( ) ;
0 commit comments