diff --git a/.gitattributes b/.gitattributes index 995e9861d63..0193a743f93 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4890,6 +4890,7 @@ res/cardsfolder/h/halcyon_glaze.txt svneol=native#text/plain res/cardsfolder/h/halimar_depths.txt svneol=native#text/plain res/cardsfolder/h/halimar_excavator.txt svneol=native#text/plain res/cardsfolder/h/halimar_wavewatch.txt svneol=native#text/plain +res/cardsfolder/h/hall_of_the_bandit_lord.txt -text res/cardsfolder/h/hallow.txt -text res/cardsfolder/h/hallowed_burial.txt svneol=native#text/plain res/cardsfolder/h/hallowed_fountain.txt svneol=native#text/plain diff --git a/res/cardsfolder/h/hall_of_the_bandit_lord.txt b/res/cardsfolder/h/hall_of_the_bandit_lord.txt new file mode 100644 index 00000000000..ad122d6990d --- /dev/null +++ b/res/cardsfolder/h/hall_of_the_bandit_lord.txt @@ -0,0 +1,7 @@ +Name:Hall of the Bandit Lord +ManaCost:no cost +Types:Legendary Land +K:CARDNAME enters the battlefield tapped. +A:AB$ Mana | Cost$ T PayLife<3> | Produced$ 1 | AddsKeywords$ Haste | SpellDescription$ Add 1 to your mana pool. If that mana is spent on a creature spell, it gains haste. +SVar:Picture:http://www.wizards.com/global/images/magic/general/hall_of_the_bandit_lord.jpg +Oracle:Hall of the Bandit Lord enters the battlefield tapped.\n{T}, Pay 3 life: Add {1} to your mana pool. If that mana is spent on a creature spell, it gains haste. diff --git a/src/main/java/forge/card/mana/Mana.java b/src/main/java/forge/card/mana/Mana.java index 3b5f496aca8..b20a9eee662 100644 --- a/src/main/java/forge/card/mana/Mana.java +++ b/src/main/java/forge/card/mana/Mana.java @@ -144,6 +144,27 @@ public class Mana { return this.manaAbility != null && manaAbility.cannotCounterPaidWith(saBeingPaid); } + /** + *
+ * addsKeywords. + *
+ * + * @return a boolean. + */ + public final boolean addsKeywords(SpellAbility saBeingPaid) { + return this.manaAbility != null && manaAbility.addKeywords(saBeingPaid); + } + + /** + *+ * getAddedKeywords. + *
+ * @return a String. + */ + public final String getAddedKeywords() { + return this.manaAbility.getKeywords(); + } + /** *
* isColor.
diff --git a/src/main/java/forge/card/mana/ManaPool.java b/src/main/java/forge/card/mana/ManaPool.java
index 85443e1a057..ad89e4ac480 100644
--- a/src/main/java/forge/card/mana/ManaPool.java
+++ b/src/main/java/forge/card/mana/ManaPool.java
@@ -18,6 +18,7 @@
package forge.card.mana;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.List;
@@ -299,6 +300,11 @@ public class ManaPool {
if (mana.addsNoCounterMagic(sa) && sa.getSourceCard() != null) {
sa.getSourceCard().setCanCounter(false);
}
+ if (sa.isSpell() && sa.getSourceCard() != null
+ && sa.getSourceCard().isCreature() && mana.addsKeywords(sa)) {
+ final long timestamp = sa.getSourceCard().getGame().getNextTimestamp();
+ sa.getSourceCard().addChangedCardKeywords(Arrays.asList(mana.getAddedKeywords().split(" & ")), new ArrayList
+ * addKeywords.
+ *
+ * getKeywords.
+ *
* getManaRestrictions.
@@ -452,5 +477,6 @@ public class AbilityManaPart implements java.io.Serializable {
return this.persistentMana;
}
+
} // end class AbilityMana