diff --git a/.gitattributes b/.gitattributes
index a7dea4bf709..939d79812c8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1028,6 +1028,7 @@ res/cardsfolder/b/broken_ambitions.txt svneol=native#text/plain
res/cardsfolder/b/broken_dam.txt svneol=native#text/plain
res/cardsfolder/b/broken_fall.txt svneol=native#text/plain
res/cardsfolder/b/broken_visage.txt svneol=native#text/plain
+res/cardsfolder/b/bronze_bombshell.txt -text
res/cardsfolder/b/brood_birthing.txt svneol=native#text/plain
res/cardsfolder/b/brood_of_cockroaches.txt svneol=native#text/plain
res/cardsfolder/b/brood_sliver.txt svneol=native#text/plain
@@ -1840,6 +1841,7 @@ res/cardsfolder/d/death_of_a_thousand_stings.txt svneol=native#text/plain
res/cardsfolder/d/death_pit_offering.txt svneol=native#text/plain
res/cardsfolder/d/death_pits_of_rath.txt svneol=native#text/plain
res/cardsfolder/d/death_pulse.txt svneol=native#text/plain
+res/cardsfolder/d/death_rattle.txt -text
res/cardsfolder/d/death_spark.txt svneol=native#text/plain
res/cardsfolder/d/death_speakers.txt svneol=native#text/plain
res/cardsfolder/d/death_stroke.txt svneol=native#text/plain
@@ -8337,6 +8339,7 @@ res/cardsfolder/t/tolarian_serpent.txt svneol=native#text/plain
res/cardsfolder/t/tolsimir_wolfblood.txt svneol=native#text/plain
res/cardsfolder/t/tomb_hex.txt svneol=native#text/plain
res/cardsfolder/t/tomb_of_urami.txt svneol=native#text/plain
+res/cardsfolder/t/tombstalker.txt -text
res/cardsfolder/t/tome_scour.txt svneol=native#text/plain
res/cardsfolder/t/tonic_peddler.txt svneol=native#text/plain
res/cardsfolder/t/tooth_and_nail.txt svneol=native#text/plain
diff --git a/res/cardsfolder/b/bronze_bombshell.txt b/res/cardsfolder/b/bronze_bombshell.txt
new file mode 100644
index 00000000000..4d560653a0f
--- /dev/null
+++ b/res/cardsfolder/b/bronze_bombshell.txt
@@ -0,0 +1,14 @@
+Name:Bronze Bombshell
+ManaCost:4
+Types:Artifact Creature Construct
+Text:no text
+PT:4/1
+T:Mode$ Always | IsPresent$ Card.Self+OwnerDoesntControl | Execute$ TrigSac | TriggerDescription$ When a player other than CARDNAME's owner controls it, that player sacrifices it. If the player does, CARDNAME deals 7 damage to him or her.
+SVar:TrigSac:AB$SacrificeAll | Cost$ 0 | Defined$ Self | RememberSacrificed$ True | SubAbility$ DBDmg
+SVar:DBDmg:DB$DealDamage | Defined$ You | NumDmg$ 7 | CheckSVar$ X | SVarCompare$ GE1
+SVar:X:Remembered$Amount
+SVar:RemAIDeck:True
+SVar:Rarity:Rare
+SetInfo:DIS|Rare|http://magiccards.info/scans/en/di/160.jpg
+Oracle:When a player other than Bronze Bombshell's owner controls it, that player sacrifices it. If the player does, Bronze Bombshell deals 7 damage to him or her.
+End
\ No newline at end of file
diff --git a/res/cardsfolder/d/death_rattle.txt b/res/cardsfolder/d/death_rattle.txt
new file mode 100644
index 00000000000..3e1f181c333
--- /dev/null
+++ b/res/cardsfolder/d/death_rattle.txt
@@ -0,0 +1,9 @@
+Name:Death Rattle
+ManaCost:5 B
+Types:Instant
+Text:no text
+K:Delve
+A:SP$Destroy | Cost$ 5 B | ValidTgts$ Creature.nonGreen | TgtPrompt$ Select target non-green creature. | NoRegen$ True | SpellDescription$ Destroy target non-green creature. It can't be regenerated.
+SetInfo:FUT|Common|http://magiccards.info/scans/en/fut/82.jpg
+Oracle:Delve (You may exile any number of cards from your graveyard as you cast this spell. It costs {1} less to cast for each card exiled this way.)\nDestroy target nongreen creature. It can't be regenerated.
+End
\ No newline at end of file
diff --git a/res/cardsfolder/g/goblin_recruiter.txt b/res/cardsfolder/g/goblin_recruiter.txt
index 3b68a5b06db..7e3a9449623 100644
--- a/res/cardsfolder/g/goblin_recruiter.txt
+++ b/res/cardsfolder/g/goblin_recruiter.txt
@@ -8,4 +8,7 @@ SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeNum$ X | ChangeType$ Goblin
SVar:X:Count$InYourLibrary.Goblin
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_recruiter.jpg
+SetInfo:VIS|Uncommon|http://magiccards.info/scans/en/vi/80.jpg
+SetInfo:6ED|Uncommon|http://magiccards.info/scans/en/6e/186.jpg
+Oracle:When Goblin Recruiter enters the battlefield, search your library for any number of Goblin cards and reveal those cards. Shuffle your library, then put them on top of it in any order.
End
\ No newline at end of file
diff --git a/res/cardsfolder/i/inquisition.txt b/res/cardsfolder/i/inquisition.txt
index a0e2f3af64c..bbceca08890 100644
--- a/res/cardsfolder/i/inquisition.txt
+++ b/res/cardsfolder/i/inquisition.txt
@@ -1,11 +1,13 @@
-Name:Inquisition
-ManaCost:2 B
-Types:Sorcery
-Text:no text
-A:SP$ RevealHand | Cost$ 2 B | ValidTgts$ Player | TgtPrompt$ Select target player | RememberRevealed$ True | SubAbility$ Damage | SpellDescription$ Target player reveals his or her hand. CARDNAME deals damage to that player equal to the number of white cards in his or her hand.
-SVar:Damage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X
-SVar:X:Remembered$Valid Card.White
-SVar:RemRandomDeck:True
-SVar:Rarity:Common
-SVar:Picture:http://www.wizards.com/global/images/magic/general/inquisition.jpg
+Name:Inquisition
+ManaCost:2 B
+Types:Sorcery
+Text:no text
+A:SP$ RevealHand | Cost$ 2 B | ValidTgts$ Player | TgtPrompt$ Select target player | RememberRevealed$ True | SubAbility$ Damage | SpellDescription$ Target player reveals his or her hand. CARDNAME deals damage to that player equal to the number of white cards in his or her hand.
+SVar:Damage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X
+SVar:X:Remembered$Valid Card.White
+SVar:RemRandomDeck:True
+SVar:Rarity:Common
+SVar:Picture:http://www.wizards.com/global/images/magic/general/inquisition.jpg
+SetInfo:DRK|Common|http://magiccards.info/scans/en/dk/9.jpg
+Oracle:Target player reveals his or her hand. Inquisition deals damage to that player equal to the number of white cards in his or her hand.
End
\ No newline at end of file
diff --git a/res/cardsfolder/m/martyr_of_sands.txt b/res/cardsfolder/m/martyr_of_sands.txt
index 2ba6e690a71..3f1b0c7e5d7 100644
--- a/res/cardsfolder/m/martyr_of_sands.txt
+++ b/res/cardsfolder/m/martyr_of_sands.txt
@@ -9,4 +9,6 @@ SVar:Y:Number$3/Times.ChosenX
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/martyr_of_sands.jpg
+SetInfo:CSP|Common|http://magiccards.info/scans/en/cs/15.jpg
+Oracle:{1}, Reveal X white cards from your hand, Sacrifice Martyr of Sands: You gain three times X life.
End
\ No newline at end of file
diff --git a/res/cardsfolder/m/martyr_of_spores.txt b/res/cardsfolder/m/martyr_of_spores.txt
index 1c87b22dbca..0af98baf573 100644
--- a/res/cardsfolder/m/martyr_of_spores.txt
+++ b/res/cardsfolder/m/martyr_of_spores.txt
@@ -8,4 +8,6 @@ SVar:X:XChoice
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/martyr_of_spores.jpg
+SetInfo:CSP|Common|http://magiccards.info/scans/en/cs/113.jpg
+Oracle:{1}, Reveal X green cards from your hand, Sacrifice Martyr of Spores: Target creature gets +X/+X until end of turn.
End
\ No newline at end of file
diff --git a/res/cardsfolder/m/mob_mentality.txt b/res/cardsfolder/m/mob_mentality.txt
index 68cece03722..25b18dc2bd9 100644
--- a/res/cardsfolder/m/mob_mentality.txt
+++ b/res/cardsfolder/m/mob_mentality.txt
@@ -10,4 +10,6 @@ SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Enchanted | NumAtt$ X
SVar:X:Count$Valid Creature.YouCtrl+nonWall
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/mob_mentality.jpg
+SetInfo:VIS|Uncommon|http://magiccards.info/scans/en/vi/88.jpg
+Oracle:Enchant creature\nEnchanted creature has trample.\nWhenever all non-Wall creatures you control attack, enchanted creature gets +X/+0 until end of turn, where X is the number of attacking creatures.
End
\ No newline at end of file
diff --git a/res/cardsfolder/p/phyrexian_etchings.txt b/res/cardsfolder/p/phyrexian_etchings.txt
index f57428e43a8..f98463f9861 100644
--- a/res/cardsfolder/p/phyrexian_etchings.txt
+++ b/res/cardsfolder/p/phyrexian_etchings.txt
@@ -12,4 +12,6 @@ SVar:Y:TriggeredCard$CardCounters.AGE/Times.2
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_etchings.jpg
+SetInfo:CSP|Rare|http://magiccards.info/scans/en/cs/67.jpg
+Oracle:Cumulative upkeep {B} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)\nAt the beginning of your end step, draw a card for each age counter on Phyrexian Etchings.\nWhen Phyrexian Etchings is put into a graveyard from the battlefield, you lose 2 life for each age counter on it.
End
\ No newline at end of file
diff --git a/res/cardsfolder/p/prismatic_strands.txt b/res/cardsfolder/p/prismatic_strands.txt
index 49f786eddcb..5bd9067a46a 100644
--- a/res/cardsfolder/p/prismatic_strands.txt
+++ b/res/cardsfolder/p/prismatic_strands.txt
@@ -8,4 +8,6 @@ SVar:STPrevent:Mode$ PreventDamage | Target$ Creature,Player | Source$ Card.Chos
A:SP$ ChooseColor | Cost$ tapXType<1/Creature.YouCtrl+White+untapped> | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBEffect | Flashback$ True | CostDesc$ Flashback - Tap an untapped white creature you control. | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.)
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/prismatic_strands.jpg
+SetInfo:JUD|Common|http://magiccards.info/scans/en/ju/18.jpg
+Oracle:Prevent all damage that sources of the color of your choice would deal this turn.\nFlashback-Tap an untapped white creature you control. (You may cast this card from your graveyard for its flashback cost. Then exile it.)
End
\ No newline at end of file
diff --git a/res/cardsfolder/r/rag_man.txt b/res/cardsfolder/r/rag_man.txt
index 9e701dac56b..33d15522109 100644
--- a/res/cardsfolder/r/rag_man.txt
+++ b/res/cardsfolder/r/rag_man.txt
@@ -1,10 +1,16 @@
-Name:Rag Man
-ManaCost:2 B B
-Types:Creature Human Minion
-Text:no text
-PT:2/1
-A:AB$ RevealHand | Cost$ B B B T | ValidTgts$ Player | TgtPrompt$ Select target player | PlayerTurn$ True | SubAbility$ DBDiscard | SpellDescription$ Target opponent reveals his or her hand and discards a creature card at random. Activate this ability only during your turn.
-SVar:DBDiscard:DB$ Discard | Defined$ Targeted | NumCards$ 1 | Mode$ Random | DiscardValid$ Creature
-SVar:Rarity:Rare
-SVar:Picture:http://www.wizards.com/global/images/magic/general/rag_man.jpg
+Name:Rag Man
+ManaCost:2 B B
+Types:Creature Human Minion
+Text:no text
+PT:2/1
+A:AB$ RevealHand | Cost$ B B B T | ValidTgts$ Player | TgtPrompt$ Select target player | PlayerTurn$ True | SubAbility$ DBDiscard | SpellDescription$ Target opponent reveals his or her hand and discards a creature card at random. Activate this ability only during your turn.
+SVar:DBDiscard:DB$ Discard | Defined$ Targeted | NumCards$ 1 | Mode$ Random | DiscardValid$ Creature
+SVar:Rarity:Rare
+SVar:Picture:http://www.wizards.com/global/images/magic/general/rag_man.jpg
+SetInfo:5ED|Rare|http://magiccards.info/scans/en/5e/52.jpg
+SetInfo:DRK|Rare|http://magiccards.info/scans/en/dk/13.jpg
+SetInfo:4ED|Rare|http://magiccards.info/scans/en/4e/39.jpg
+SetInfo:6ED|Rare|http://magiccards.info/scans/en/6e/151.jpg
+SetInfo:7ED|Rare|http://magiccards.info/scans/en/7e/156.jpg
+Oracle:{B}{B}{B}, {T}: Target opponent reveals his or her hand and discards a creature card at random. Activate this ability only during your turn.
End
\ No newline at end of file
diff --git a/res/cardsfolder/r/rune_snag.txt b/res/cardsfolder/r/rune_snag.txt
index 09be2318269..a1257e5a966 100644
--- a/res/cardsfolder/r/rune_snag.txt
+++ b/res/cardsfolder/r/rune_snag.txt
@@ -7,4 +7,6 @@ SVar:Y:Count$NamedInAllYards.Rune Snag/Times.2
SVar:X:Number$2/Plus.Y
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/rune_snag.jpg
+SetInfo:CSP|Common|http://magiccards.info/scans/en/cs/46.jpg
+Oracle:Counter target spell unless its controller pays {2} plus an additional {2} for each card named Rune Snag in each graveyard.
End
\ No newline at end of file
diff --git a/res/cardsfolder/t/tangle_angler.txt b/res/cardsfolder/t/tangle_angler.txt
index f8d7c7af847..e06e13ac652 100644
--- a/res/cardsfolder/t/tangle_angler.txt
+++ b/res/cardsfolder/t/tangle_angler.txt
@@ -1,11 +1,13 @@
-Name:Tangle Angler
-ManaCost:3 G
-Types:Creature Horror
-Text:no text
-PT:1/5
-K:Infect
-A:AB$ MustBlock | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature blocks CARDNAME this turn if able.
-SVar:RemAIDeck:True
-SVar:Rarity:Uncommon
-SVar:Picture:http://www.wizards.com/global/images/magic/general/tangle_angler.jpg
+Name:Tangle Angler
+ManaCost:3 G
+Types:Creature Horror
+Text:no text
+PT:1/5
+K:Infect
+A:AB$ MustBlock | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature blocks CARDNAME this turn if able.
+SVar:RemAIDeck:True
+SVar:Rarity:Uncommon
+SVar:Picture:http://www.wizards.com/global/images/magic/general/tangle_angler.jpg
+SetInfo:SOM|Uncommon|http://magiccards.info/scans/en/som/128.jpg
+Oracle:Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)\n{G}: Target creature blocks Tangle Angler this turn if able.
End
\ No newline at end of file
diff --git a/res/cardsfolder/t/tombstalker.txt b/res/cardsfolder/t/tombstalker.txt
new file mode 100644
index 00000000000..0b029267e74
--- /dev/null
+++ b/res/cardsfolder/t/tombstalker.txt
@@ -0,0 +1,10 @@
+Name:Tombstalker
+ManaCost:6 B B
+Types:Creature Demon
+Text:no text
+PT:5/5
+K:Flying
+K:Delve
+SetInfo:FUT|Rare|http://magiccards.info/scans/en/fut/91.jpg
+Oracle:Flying\nDelve (You may exile any number of cards from your graveyard as you cast this spell. It costs {1} less to cast for each card exiled this way.)
+End
\ No newline at end of file
diff --git a/res/cardsfolder/v/vanish_into_memory.txt b/res/cardsfolder/v/vanish_into_memory.txt
index 8b0bec70511..5b3e2b9d433 100644
--- a/res/cardsfolder/v/vanish_into_memory.txt
+++ b/res/cardsfolder/v/vanish_into_memory.txt
@@ -13,4 +13,6 @@ SVar:Y:Remembered$CardToughness
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/vanish_into_memory.jpg
+SetInfo:CSP|Uncommon|http://magiccards.info/scans/en/cs/133.jpg
+Oracle:Exile target creature. You draw cards equal to that creature's power. At the beginning of your next upkeep, return that card to the battlefield under its owner's control. If you do, discard cards equal to its toughness.
End
\ No newline at end of file
diff --git a/res/cardsfolder/w/woolly_razorback.txt b/res/cardsfolder/w/woolly_razorback.txt
index d0a3eeba919..bd3f678fb7d 100644
--- a/res/cardsfolder/w/woolly_razorback.txt
+++ b/res/cardsfolder/w/woolly_razorback.txt
@@ -9,4 +9,6 @@ T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigRemoveCounter | TriggerZone
SVar:TrigRemoveCounter:AB$ RemoveCounter | Cost$ 0 | CounterType$ ICE | CounterNum$ 1 | Defined$ TriggeredBlocker
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/woolly_razorback.jpg
+SetInfo:CSP|Rare|http://magiccards.info/scans/en/cs/25.jpg
+Oracle:Woolly Razorback enters the battlefield with three ice counters on it.\nAs long as Woolly Razorback has an ice counter on it, prevent all combat damage it would deal and it has defender.\nWhenever Woolly Razorback blocks, remove an ice counter from it.
End
\ No newline at end of file
diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java
index 6fda9f51216..73e8ddd617c 100644
--- a/src/main/java/forge/Card.java
+++ b/src/main/java/forge/Card.java
@@ -5109,6 +5109,8 @@ public class Card extends GameEntity implements Comparable
getColorlessManaAmount
+ * Returns how much colorless mana must be paid to pay the cost.Used by Delve AI. + * @return an int. + */ + public int getColorlessManaAmount() { + for(Object m : manaPart) { + if(m instanceof Mana_PartColorless) { + return ((Mana_PartColorless) m).getManaNeeded(); + } + } + return 0; + } /** *addMana.
diff --git a/src/main/java/forge/card/spellability/SpellAbility.java b/src/main/java/forge/card/spellability/SpellAbility.java index 45e23ff9094..0006c99d4e2 100644 --- a/src/main/java/forge/card/spellability/SpellAbility.java +++ b/src/main/java/forge/card/spellability/SpellAbility.java @@ -62,6 +62,7 @@ public abstract class SpellAbility { private boolean kothThirdAbility = false; private boolean cycling = false; private boolean isCharm = false; + private boolean isDelve = false; private int charmNumber; private ArrayList