fix bug where player always discards down to 7

master
melvin 2013-03-30 18:13:31 +08:00
parent 6f84a5c8ea
commit c8df9144cb
2 changed files with 6 additions and 6 deletions

View File

@ -243,8 +243,8 @@ public class MagicPlayer implements MagicTarget {
return hand.size(); return hand.size();
} }
public boolean handSizeExceedMax() { public int getNumExcessCards() {
return getHandSize() > maxHandSize; return Math.max(0, getHandSize() - maxHandSize);
} }
public void noMaxHandSize() { public void noMaxHandSize() {

View File

@ -33,9 +33,9 @@ public class MagicCleanupPhase extends MagicPhase {
private static void nextTurn(final MagicGame game) { private static void nextTurn(final MagicGame game) {
MagicPlayer turnPlayer=game.getTurnPlayer(); MagicPlayer turnPlayer=game.getTurnPlayer();
// discard down to 7 cards // discard excess cards
if (turnPlayer.handSizeExceedMax()) { if (turnPlayer.getNumExcessCards() > 0) {
final int amount = turnPlayer.getHandSize() - 7; final int amount = turnPlayer.getNumExcessCards();
game.addEvent(new MagicDiscardEvent(MagicEvent.NO_SOURCE,turnPlayer,amount,false)); game.addEvent(new MagicDiscardEvent(MagicEvent.NO_SOURCE,turnPlayer,amount,false));
} }
if (turnPlayer.getExtraTurns()>0) { if (turnPlayer.getExtraTurns()>0) {