mirror of
https://github.com/magefree/mage.git
synced 2025-12-26 13:32:06 -08:00
Fix Vapor Snare effect (#10188)
* Fix Vapor Snare and refactor "unless you return a land" effects to use correct static filter * Fix capitalization of return to hand cost * Fix capitalization of sacrifice unless pays effect
This commit is contained in:
parent
639106ad19
commit
68b3fc80e9
5 changed files with 28 additions and 84 deletions
|
|
@ -26,7 +26,7 @@ public class ReturnToHandChosenControlledPermanentCost extends CostImpl {
|
|||
target.setNotTarget(true);
|
||||
this.addTarget(target);
|
||||
if (target.getMaxNumberOfTargets() > 1 && target.getMaxNumberOfTargets() == target.getNumberOfTargets()) {
|
||||
this.text = "Return " + CardUtil.numberToText(target.getMaxNumberOfTargets()) + ' '
|
||||
this.text = "return " + CardUtil.numberToText(target.getMaxNumberOfTargets()) + ' '
|
||||
+ target.getTargetName()
|
||||
+ (target.getTargetName().endsWith(" you control") ? "" : " you control")
|
||||
+ " to their owner's hand";
|
||||
|
|
|
|||
|
|
@ -57,20 +57,26 @@ public class SacrificeSourceUnlessPaysEffect extends OneShotEffect {
|
|||
costValueMessage = "{" + genericMana.calculate(game, source, this) + "}";
|
||||
}
|
||||
String message = "";
|
||||
String logMessage = "";
|
||||
if (costToPay instanceof ManaCost) {
|
||||
message += "Pay ";
|
||||
message += "Pay " + costValueMessage;
|
||||
logMessage += "pay " + costValueMessage;
|
||||
}
|
||||
message += costValueMessage + '?';
|
||||
else if (costValueMessage.length() > 1) {
|
||||
message += costValueMessage.substring(0,1).toUpperCase() + costValueMessage.substring(1);
|
||||
logMessage += costValueMessage;
|
||||
}
|
||||
message += '?';
|
||||
|
||||
costToPay.clearPaid();
|
||||
if (costToPay.canPay(source, source, source.getControllerId(), game)
|
||||
&& player.chooseUse(Outcome.Benefit, message, source, game)
|
||||
&& costToPay.pay(source, game, source, source.getControllerId(), false, null)) {
|
||||
game.informPlayers(player.getLogName() + " chooses to pay " + costValueMessage + " to prevent sacrifice effect");
|
||||
game.informPlayers(player.getLogName() + " chooses to " + logMessage + " to prevent sacrifice effect");
|
||||
return true;
|
||||
}
|
||||
|
||||
game.informPlayers(player.getLogName() + " chooses not to pay " + costValueMessage + " to prevent sacrifice effect");
|
||||
game.informPlayers(player.getLogName() + " chooses not to " + logMessage + " to prevent sacrifice effect");
|
||||
if (source.getSourceObjectZoneChangeCounter() == game.getState().getZoneChangeCounter(source.getSourceId())
|
||||
&& game.getState().getZone(source.getSourceId()) == Zone.BATTLEFIELD) {
|
||||
sourcePermanent.sacrifice(source, game);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue