Some minor changes to game classes.

This commit is contained in:
LevelX2 2013-04-15 17:56:06 +02:00
parent 0be107359d
commit 8b2c3e75e1
2 changed files with 16 additions and 3 deletions

View file

@ -28,7 +28,6 @@
package mage.game;
import mage.game.match.MatchType;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@ -36,6 +35,7 @@ import java.util.Set;
import java.util.UUID;
import mage.Constants.MultiplayerAttackOption;
import mage.Constants.RangeOfInfluence;
import mage.game.match.MatchType;
import mage.players.Player;
/**
@ -82,8 +82,9 @@ public class FreeForAll extends GameImpl<FreeForAll> {
public Set<UUID> getOpponents(UUID playerId) {
Set<UUID> opponents = new HashSet<UUID>();
for (UUID opponentId: this.getPlayer(playerId).getInRange()) {
if (!opponentId.equals(playerId))
if (!opponentId.equals(playerId)) {
opponents.add(opponentId);
}
}
return opponents;
}
@ -100,8 +101,8 @@ public class FreeForAll extends GameImpl<FreeForAll> {
player.getLibrary().addAll(player.getHand().getCards(this), this);
player.getHand().clear();
player.shuffleLibrary(this);
player.drawCards(numCards - 1, this);
fireInformEvent(player.getName() + " mulligans down to " + Integer.toString(numCards - 1) + " cards");
player.drawCards(numCards - 1, this);
}
@Override

View file

@ -1486,6 +1486,18 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
return getActivePlayerId().equals(playerId) && getStack().isEmpty() && isMainPhase();
}
/**
* 800.4a When a player leaves the game, all objects (see rule 109) owned by that player leave
* the game and any effects which give that player control of any objects or players end. Then,
* if that player controlled any objects on the stack not represented by cards, those objects
* cease to exist. Then, if there are any objects still controlled by that player, those objects
* are exiled. This is not a state-based action. It happens as soon as the player leaves the game.
* If the player who left the game had priority at the time he or she left, priority passes to
* the next player in turn order who's still in the game. #
*
* @param playerId
*/
@Override
public void leave(UUID playerId) {
Player player = getPlayer(playerId);