diff --git a/.gitattributes b/.gitattributes index 3b38c99c192..a9c4e40f84b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1681,6 +1681,7 @@ res/cardsfolder/c/claws_of_wirewood.txt svneol=native#text/plain res/cardsfolder/c/clay_statue.txt svneol=native#text/plain res/cardsfolder/c/cleanfall.txt svneol=native#text/plain res/cardsfolder/c/cleanse.txt svneol=native#text/plain +res/cardsfolder/c/cleansing.txt -text res/cardsfolder/c/cleansing_beam.txt svneol=native#text/plain res/cardsfolder/c/clear.txt svneol=native#text/plain res/cardsfolder/c/clear_the_land.txt -text diff --git a/res/cardsfolder/c/cleansing.txt b/res/cardsfolder/c/cleansing.txt new file mode 100644 index 00000000000..266a13b4267 --- /dev/null +++ b/res/cardsfolder/c/cleansing.txt @@ -0,0 +1,11 @@ +Name:Cleansing +ManaCost:W W W +Types:Sorcery +A:SP$ RepeatEach | Cost$ W W W | RepeatSubAbility$ DBSac | RepeatCards$ Land | SpellDescription$ For each land, destroy that land unless any player pays 1 life. +SVar:DBSac:DB$ Destroy | UnlessCost$ PayLife<1> | UnlessPayer$ RememberedController | Defined$ Remembered +SVar:RemAIDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/cleansing.jpg +SetInfo:DRK|Rare|http://magiccards.info/scans/en/dk/77.jpg +Oracle:For each land, destroy that land unless any player pays 1 life. +End \ No newline at end of file diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index fffb742808a..accbc56ce22 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -377,8 +377,12 @@ public final class GameActionUtil { if (!parts.isEmpty()) { costPart = parts.get(0); } + String orString = ""; + if (sourceAbility != null) { + orString = " (or: " + sourceAbility.getStackDescription() + ")"; + } if (parts.isEmpty() || costPart.getAmount().equals("0")) { - if (showYesNoDialog(source, "Do you want to pay 0?")) { + if (showYesNoDialog(source, "Do you want to pay 0?" + orString)) { paid.execute(); } else { unpaid.execute(); @@ -394,7 +398,7 @@ public final class GameActionUtil { final int amount = amountString.matches("[0-9][0-9]?") ? Integer.parseInt(amountString) : AbilityFactory.calculateAmount(source, amountString, sourceAbility); Player p = Singletons.getControl().getPlayer(); - if (p.canPayLife(amount) && showYesNoDialog(source, "Do you want to pay " + amount + " life?")) { + if (p.canPayLife(amount) && showYesNoDialog(source, "Do you want to pay " + amount + " life?" + orString)) { p.payLife(amount, null); } else { hasPaid = false;