From 5cfded2883310f1a949c08eae3a57b47c9cca882 Mon Sep 17 00:00:00 2001 From: swordshine Date: Mon, 18 Feb 2013 00:26:13 +0000 Subject: [PATCH] - Added four cards --- .gitattributes | 4 ++++ res/cardsfolder/b/barrins_spite.txt | 14 ++++++++++++++ res/cardsfolder/c/cryptic_gateway.txt | 11 +++++++++++ res/cardsfolder/d/deepwood_elder.txt | 16 ++++++++++++++++ res/cardsfolder/k/knollspine_invocation.txt | 11 +++++++++++ src/main/java/forge/Card.java | 9 +++++++++ .../java/forge/card/ability/AbilityUtils.java | 5 +++++ 7 files changed, 70 insertions(+) create mode 100644 res/cardsfolder/b/barrins_spite.txt create mode 100644 res/cardsfolder/c/cryptic_gateway.txt create mode 100644 res/cardsfolder/d/deepwood_elder.txt create mode 100644 res/cardsfolder/k/knollspine_invocation.txt diff --git a/.gitattributes b/.gitattributes index 4960b45461f..40b8fd997d7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -786,6 +786,7 @@ res/cardsfolder/b/barrenton_medic.txt svneol=native#text/plain res/cardsfolder/b/barrin.txt -text res/cardsfolder/b/barrin_master_wizard.txt svneol=native#text/plain res/cardsfolder/b/barrins_codex.txt svneol=native#text/plain +res/cardsfolder/b/barrins_spite.txt -text res/cardsfolder/b/barrins_unmaking.txt -text res/cardsfolder/b/barrow_ghoul.txt -text res/cardsfolder/b/bartel_runeaxe.txt svneol=native#text/plain @@ -2158,6 +2159,7 @@ res/cardsfolder/c/crypt_sliver.txt svneol=native#text/plain res/cardsfolder/c/cryptborn_horror.txt -text res/cardsfolder/c/cryptic_annelid.txt svneol=native#text/plain res/cardsfolder/c/cryptic_command.txt svneol=native#text/plain +res/cardsfolder/c/cryptic_gateway.txt -text res/cardsfolder/c/cryptoplasm.txt -text res/cardsfolder/c/cryptwailing.txt svneol=native#text/plain res/cardsfolder/c/crystal_ball.txt svneol=native#text/plain @@ -2442,6 +2444,7 @@ res/cardsfolder/d/deepchannel_mentor.txt svneol=native#text/plain res/cardsfolder/d/deepfire_elemental.txt -text res/cardsfolder/d/deeptread_merrow.txt svneol=native#text/plain res/cardsfolder/d/deepwood_drummer.txt svneol=native#text/plain +res/cardsfolder/d/deepwood_elder.txt -text res/cardsfolder/d/deepwood_ghoul.txt svneol=native#text/plain res/cardsfolder/d/deepwood_legate.txt -text res/cardsfolder/d/deepwood_tantiv.txt svneol=native#text/plain @@ -5674,6 +5677,7 @@ res/cardsfolder/k/knight_watch.txt -text res/cardsfolder/k/knighthood.txt svneol=native#text/plain res/cardsfolder/k/knightly_valor.txt -text res/cardsfolder/k/knollspine_dragon.txt -text +res/cardsfolder/k/knollspine_invocation.txt -text res/cardsfolder/k/knotvine_mystic.txt svneol=native#text/plain res/cardsfolder/k/knotvine_paladin.txt svneol=native#text/plain res/cardsfolder/k/know_naught_but_fire.txt -text diff --git a/res/cardsfolder/b/barrins_spite.txt b/res/cardsfolder/b/barrins_spite.txt new file mode 100644 index 00000000000..e90cc353479 --- /dev/null +++ b/res/cardsfolder/b/barrins_spite.txt @@ -0,0 +1,14 @@ +Name:Barrin's Spite +ManaCost:2 U B +Types:Sorcery +Text:no text +A:SP$ Pump | Cost$ 2 U B | ValidTgts$ Creature | TgtPrompt$ Choose two target creatures controlled by the same player | TargetMin$ 2 | TargetMax$ 2 | TargetUnique$ True | TargetsFromSingleZone$ True | RememberTargets$ True | SubAbility$ DBChooseSac | StackDescription$ SpellDescription | SpellDescription$ Choose two target creatures controlled by the same player. Their controller chooses and sacrifices one of them. Return the other to its owner's hand. +SVar:DBChooseSac:DB$ ChooseCard | Choices$ Card.IsRemembered | Defined$ TargetedController | ChoiceTitle$ Choose one to sacrifice | ForgetChosen$ True | SubAbility$ DBSac | StackDescription$ None | AILogic$ WorstCard +SVar:DBSac:DB$ Destroy | Defined$ ChosenCard | Sacrifice$ True | SubAbility$ DBBounce | StackDescription$ None +SVar:DBBounce:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCleanup | StackDescription$ None +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/barrins_spite.jpg +SetInfo:INV|Rare|http://magiccards.info/scans/en/in/235.jpg +Oracle:Choose two target creatures controlled by the same player. Their controller chooses and sacrifices one of them. Return the other to its owner's hand. +End \ No newline at end of file diff --git a/res/cardsfolder/c/cryptic_gateway.txt b/res/cardsfolder/c/cryptic_gateway.txt new file mode 100644 index 00000000000..b6b7cdccb5c --- /dev/null +++ b/res/cardsfolder/c/cryptic_gateway.txt @@ -0,0 +1,11 @@ +Name:Cryptic Gateway +ManaCost:5 +Types:Artifact +Text:no text +A:AB$ ChangeZone | Cost$ tapXType<2/Creature> | RememberCostCards$ True | ChangeType$ Creature.sharesCreatureTypeWith AllRemembered | Origin$ Hand | Destination$ Battlefield | ChangeNum$ 1 | Optional$ True | SpellDescription$ You may put a creature card from your hand that shares a creature type with each creature tapped this way onto the battlefield. | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/cryptic_gateway.jpg +SetInfo:ONS|Rare|http://magiccards.info/scans/en/on/306.jpg +Oracle:Tap two untapped creatures you control: You may put a creature card from your hand that shares a creature type with each creature tapped this way onto the battlefield. +End \ No newline at end of file diff --git a/res/cardsfolder/d/deepwood_elder.txt b/res/cardsfolder/d/deepwood_elder.txt new file mode 100644 index 00000000000..35175a1a246 --- /dev/null +++ b/res/cardsfolder/d/deepwood_elder.txt @@ -0,0 +1,16 @@ +Name:Deepwood Elder +ManaCost:G G +Types:Creature Dryad Spellshaper +Text:no text +PT:2/2 +A:AB$ Animate | Cost$ X G G T Discard<1/Card> | TargetMin$ 0 | TargetMax$ Maxtgt | ValidTgts$ Land | TgtPrompt$ Select target land to become forest | Types$ Forest | OverwriteTypes$ True | KeepSupertypes$ True | KeepCardTypes$ True | RemoveAllAbilities$ True | References$ MaxTgt | SpellDescription$ X target lands become Forests until end of turn. +SVar:X:TargetedObjects$Amount +SVar:RemAIDeck:True +SVar:Maxtgt:Count$Valid Land +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/deepwood_elder.jpg +SetInfo:MMQ|Rare|http://magiccards.info/scans/en/mm/240.jpg +Oracle:{X}{G}{G}, {T}, Discard a card: X target lands become Forests until end of turn. +End \ No newline at end of file diff --git a/res/cardsfolder/k/knollspine_invocation.txt b/res/cardsfolder/k/knollspine_invocation.txt new file mode 100644 index 00000000000..815520220e7 --- /dev/null +++ b/res/cardsfolder/k/knollspine_invocation.txt @@ -0,0 +1,11 @@ +Name:Knollspine Invocation +ManaCost:1 R R +Types:Enchantment +Text:no text +A:AB$ DealDamage | Announce$ X | Cost$ X Discard<1/Card.cmcEQX/card with converted mana cost X> | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +SVar:X:Count$xPaid +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/knollspine_invocation.jpg +SetInfo:SHM|Rare|http://magiccards.info/scans/en/shm/99.jpg +Oracle:{X}, Discard a card with converted mana cost X: Knollspine Invocation deals X damage to target creature or player. +End \ No newline at end of file diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 07dc16404ee..7a889812a2b 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -6773,6 +6773,15 @@ public class Card extends GameEntity implements Comparable { } } return false; + } if (restriction.equals("AllRemembered")) { + for (final Object rem : source.getRemembered()) { + if (rem instanceof Card) { + final Card card = (Card) rem; + if (!this.sharesCreatureTypeWith(card)) { + return false; + } + } + } } else { boolean shares = false; for (final Card card : sourceController.getCardsIn(ZoneType.Battlefield)) { diff --git a/src/main/java/forge/card/ability/AbilityUtils.java b/src/main/java/forge/card/ability/AbilityUtils.java index 7501b56c3a7..19cc1f1fb9d 100644 --- a/src/main/java/forge/card/ability/AbilityUtils.java +++ b/src/main/java/forge/card/ability/AbilityUtils.java @@ -1143,6 +1143,11 @@ public class AbilityUtils { for (final Card SacrificedAsCost : paidListSacrificed) { host.addRemembered(SacrificedAsCost); } + } else if (sa.getParam("Cost").contains("tapXType")) { + final List paidListTapped = sa.getPaidList("Tapped"); + for (final Card tappedAsCost : paidListTapped) { + host.addRemembered(tappedAsCost); + } } } }