diff --git a/.gitattributes b/.gitattributes index 41d6c2a26fe..f148b98f0a2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5330,6 +5330,7 @@ res/cardsfolder/i/infernal_tutor.txt -text res/cardsfolder/i/inferno.txt svneol=native#text/plain res/cardsfolder/i/inferno_elemental.txt -text res/cardsfolder/i/inferno_titan.txt svneol=native#text/plain +res/cardsfolder/i/inferno_trap.txt -text res/cardsfolder/i/infest.txt svneol=native#text/plain res/cardsfolder/i/infested_roothold.txt svneol=native#text/plain res/cardsfolder/i/infiltrate.txt svneol=native#text/plain diff --git a/res/cardsfolder/i/inferno_trap.txt b/res/cardsfolder/i/inferno_trap.txt new file mode 100644 index 00000000000..d4342c79f1a --- /dev/null +++ b/res/cardsfolder/i/inferno_trap.txt @@ -0,0 +1,11 @@ +Name:Inferno Trap +ManaCost:3 R +Types:Instant Trap +A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target creature. +A:SP$ DealDamage | Cost$ R | CheckSVar$ CreaturesAttacked | SVarCompare$ GE2 | ValidTgts$ Creature | References$ CreaturesAttacked | TgtPrompt$ Select target creature | NumDmg$ 4 | SpellDescription$ (Pay only {R}) CARDNAME deals 4 damage to target creature. +SVar:CreaturesAttacked:Count$YourDamageSourcesThisTurn Creature +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/inferno_trap.jpg +Oracle:If you've been dealt damage by two or more creatures this turn, you may pay {R} rather than pay CARDNAME's mana cost.\nCARDNAME deals 4 damage to target creature. +SetInfo:ZEN Uncommon +SetInfo:ARC Uncommon \ No newline at end of file diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 53644d38847..16fb538b210 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -1298,6 +1298,12 @@ public class CardFactoryUtil { // Count$YourTypeDamageThisTurn Type if (sq[0].contains("YourTypeDamageThisTurn")) return doXMath(cc.getAssignedDamage(sq[0].split(" ")[1]), m, c); + if (sq[0].contains("YourDamageSourcesThisTurn")) { + Iterable allSrc = cc.getAssignedDamageSources(); + String restriction = sq[0].split(" ")[1]; + List filtered = CardLists.getValidCards(allSrc, restriction, cc, c); + return doXMath(filtered.size(), m, c); + } if (sq[0].contains("YourLandsPlayed")) return doXMath(cc.getNumLandsPlayed(), m, c); if (sq[0].contains("OppLandsPlayed")) return doXMath(ccOpp.getNumLandsPlayed(), m, c); diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index 816a6da81da..d092679e7c5 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -937,6 +937,10 @@ public abstract class Player extends GameEntity implements Comparable { } return num; } + + public final Iterable getAssignedDamageSources() { + return assignedDamage.keySet(); + } /** *