hey Pobunjenik, sta ima? Alright, I am not sure I understand exactly what it is you are having problems with, but I think I found another bug in your code. This method:
public Player addPlayer(String soldierName) {
this.allPlayers = new ArrayList<>();
Player P = new Player();
P.setName(this.name + soldierName);
allPlayers.add(P);
return P;
}
initializes your allPlayers list everytime it is invoked. Therefore, at any time it only has one player - not more.