refactor: removed useless getNumberOfTargets from Target (replaced with getMinNumberOfTargets)

This commit is contained in:
Oleg Agafonov 2025-05-06 23:05:39 +04:00
parent 264eb58644
commit 00dc6f4742
20 changed files with 55 additions and 63 deletions

View file

@ -47,7 +47,7 @@ public class DiscardTargetCost extends CostImpl {
if (player == null) {
return false;
}
int amount = this.getTargets().get(0).getNumberOfTargets();
int amount = this.getTargets().get(0).getMinNumberOfTargets();
if (randomDiscard) {
this.cards.addAll(player.discard(amount, true, true, source, game).getCards(game));
} else if (this.getTargets().choose(Outcome.Discard, controllerId, source.getSourceId(), source, game)) {

View file

@ -33,9 +33,9 @@ public class ExileFromGraveCost extends CostImpl {
this.addTarget(target);
if (target.getMaxNumberOfTargets() > 1) {
this.text = "exile "
+ (target.getNumberOfTargets() == 1
+ (target.getMinNumberOfTargets() == 1
&& target.getMaxNumberOfTargets() == Integer.MAX_VALUE ? "one or more"
: ((target.getNumberOfTargets() < target.getMaxNumberOfTargets() ? "up to " : ""))
: ((target.getMinNumberOfTargets() < target.getMaxNumberOfTargets() ? "up to " : ""))
+ CardUtil.numberToText(target.getMaxNumberOfTargets()))
+ ' ' + target.getTargetName();
} else {

View file

@ -25,7 +25,7 @@ public class ReturnToHandChosenControlledPermanentCost extends CostImpl {
public ReturnToHandChosenControlledPermanentCost(TargetControlledPermanent target) {
target.withNotTarget(true);
this.addTarget(target);
if (target.getMaxNumberOfTargets() > 1 && target.getMaxNumberOfTargets() == target.getNumberOfTargets()) {
if (target.getMaxNumberOfTargets() > 1 && target.getMaxNumberOfTargets() == target.getMinNumberOfTargets()) {
this.text = "return " + CardUtil.numberToText(target.getMaxNumberOfTargets()) + ' '
+ target.getTargetName()
+ (target.getTargetName().endsWith(" you control") ? "" : " you control")

View file

@ -29,7 +29,7 @@ public class RevealTargetFromHandCost extends CostImpl {
public RevealTargetFromHandCost(TargetCardInHand target) {
this.addTarget(target);
this.allowNoReveal = target.getNumberOfTargets() == 0;
this.allowNoReveal = target.getMinNumberOfTargets() == 0;
this.text = "reveal " + target.getDescription();
this.revealedCards = new ArrayList<>();
}
@ -62,7 +62,7 @@ public class RevealTargetFromHandCost extends CostImpl {
MageObject baseObject = game.getBaseObject(source.getSourceId());
player.revealCards(baseObject == null ? "card cost" : baseObject.getIdName(), cards, game);
}
if (this.getTargets().get(0).getNumberOfTargets() <= numberCardsRevealed) {
if (this.getTargets().get(0).getMinNumberOfTargets() <= numberCardsRevealed) {
paid = true; // e.g. for optional additional costs. example: Dragonlord's Prerogative also true if 0 cards shown
return paid;
}

View file

@ -67,7 +67,7 @@ public class SacrificeTargetCost extends CostImpl implements SacrificeCost {
addSacrificeTarget(game, permanent);
paid |= permanent.sacrifice(source, game);
}
if (!paid && this.getTargets().get(0).getNumberOfTargets() == 0) {
if (!paid && this.getTargets().get(0).getMinNumberOfTargets() == 0) {
paid = true; // e.g. for Devouring Rage
}
}
@ -88,7 +88,7 @@ public class SacrificeTargetCost extends CostImpl implements SacrificeCost {
return false;
}
int validTargets = 0;
int neededTargets = this.getTargets().get(0).getNumberOfTargets();
int neededTargets = this.getTargets().get(0).getMinNumberOfTargets();
for (Permanent permanent : game.getBattlefield().getActivePermanents(((TargetPermanent) this.getTargets().get(0)).getFilter(), controllerId, source, game)) {
if (controller.canPaySacrificeCost(permanent, source, controllerId, game)) {
validTargets++;
@ -114,11 +114,11 @@ public class SacrificeTargetCost extends CostImpl implements SacrificeCost {
if (target.getMinNumberOfTargets() != target.getMaxNumberOfTargets()) {
return target.getTargetName();
}
if (target.getNumberOfTargets() == 1
if (target.getMinNumberOfTargets() == 1
|| target.getTargetName().startsWith("a ")
|| target.getTargetName().startsWith("an ")) {
return CardUtil.addArticle(target.getTargetName());
}
return CardUtil.numberToText(target.getNumberOfTargets()) + ' ' + target.getTargetName();
return CardUtil.numberToText(target.getMinNumberOfTargets()) + ' ' + target.getTargetName();
}
}

View file

@ -24,7 +24,7 @@ public class TapTargetCost extends CostImpl {
this.target = target;
this.target.withNotTarget(true); // costs are never targeted
this.target.setRequired(false); // can be cancel by user
this.text = "tap " + (target.getNumberOfTargets() > 1
this.text = "tap " + (target.getMinNumberOfTargets() > 1
? CardUtil.numberToText(target.getMaxNumberOfTargets()) + ' ' + target.getTargetName()
: CardUtil.addArticle(target.getTargetName()));
}
@ -47,7 +47,7 @@ public class TapTargetCost extends CostImpl {
permanents.add(permanent);
}
}
if (target.getNumberOfTargets() == 0) {
if (target.getMinNumberOfTargets() == 0) {
paid = true; // e.g. Aryel with X = 0
}
source.getEffects().setValue("tappedPermanents", permanents);

View file

@ -132,8 +132,8 @@ public class PutOnLibraryTargetEffect extends OneShotEffect {
sb.append("put ");
if (target.getMaxNumberOfTargets() == 0 || target.getMaxNumberOfTargets() == Integer.MAX_VALUE) {
sb.append("any number of ");
} else if (target.getMaxNumberOfTargets() != 1 || target.getNumberOfTargets() != 1) {
if (target.getMaxNumberOfTargets() > target.getNumberOfTargets()) {
} else if (target.getMaxNumberOfTargets() != 1 || target.getMinNumberOfTargets() != 1) {
if (target.getMaxNumberOfTargets() > target.getMinNumberOfTargets()) {
sb.append("up to ");
}
sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(' ');

View file

@ -89,7 +89,7 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect
if (target.getMaxNumberOfTargets() == Integer.MAX_VALUE
&& target.getMinNumberOfTargets() == 0) {
sb.append("any number of ");
} else if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
} else if (target.getMaxNumberOfTargets() != target.getMinNumberOfTargets()) {
sb.append("up to ");
sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets()));
sb.append(' ');

View file

@ -87,7 +87,7 @@ public class SearchLibraryPutInHandOrOnBattlefieldEffect extends SearchEffect {
private void setText() {
StringBuilder sb = new StringBuilder();
sb.append("search your library for ");
if (target.getNumberOfTargets() == 0 && target.getMaxNumberOfTargets() > 0) {
if (target.getMinNumberOfTargets() == 0 && target.getMaxNumberOfTargets() > 0) {
sb.append("up to ").append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(' ');
sb.append(target.getTargetName()).append(revealCards ? ", reveal them," : "").append(" and put them into your hand");
} else {