remove cards from deck sideboards properly when selling in spell shop

This commit is contained in:
myk
2013-03-04 10:15:19 +00:00
parent 79b9bcf5e1
commit c733b3e2d9

View File

@@ -350,11 +350,13 @@ public final class QuestUtilCards {
int nToRemoveFromThisDeck = cntInMain + cntInSb - leftInPool; int nToRemoveFromThisDeck = cntInMain + cntInSb - leftInPool;
if ( nToRemoveFromThisDeck <= 0 ) continue; // this is not the deck you are looking for if ( nToRemoveFromThisDeck <= 0 ) continue; // this is not the deck you are looking for
int nToRemoveFromSb = cntInSb - nToRemoveFromThisDeck; int nToRemoveFromSb = Math.min(cntInSb, nToRemoveFromThisDeck);
if (nToRemoveFromSb > 0) { if (nToRemoveFromSb > 0) {
deck.get(DeckSection.Sideboard).remove(card, nToRemoveFromSb); deck.get(DeckSection.Sideboard).remove(card, nToRemoveFromSb);
nToRemoveFromThisDeck -= cntInSb; // actual removed count should be, but I take upper bound here nToRemoveFromThisDeck -= nToRemoveFromSb;
if ( nToRemoveFromThisDeck <= 0 ) continue; // done here if (0 >= nToRemoveFromThisDeck) {
continue; // done here
}
} }
deck.getMain().remove(card, nToRemoveFromThisDeck); deck.getMain().remove(card, nToRemoveFromThisDeck);