diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index ab6cc67c67d..2e2b161a2f4 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -1722,6 +1722,9 @@ public class Card extends GameEntity implements Comparable { sbLong.append(" (This enters the battlefield with "); sbLong.append(numCounters); sbLong.append(" +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)"); + } else if (keyword.get(i).startsWith("Provoke")) { + sbLong.append(keyword.get(i)); + sbLong.append(" (When this attacks, you may have target creature defending player controls untap and block it if able.)"); } else if (keyword.get(i).startsWith("MayEffectFromOpeningHand")) { continue; } else if (keyword.get(i).contains("Haunt")) { diff --git a/src/main/java/forge/card/cardFactory/CardFactoryUtil.java b/src/main/java/forge/card/cardFactory/CardFactoryUtil.java index 893c6740a5c..7571251e43c 100644 --- a/src/main/java/forge/card/cardFactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardFactory/CardFactoryUtil.java @@ -4950,6 +4950,16 @@ public class CardFactoryUtil { card.addTrigger(hauntedDies); card.addTrigger(haunterUnExiled); } + + if(card.hasKeyword("Provoke")) { + String actualTrigger = "Mode$ Attacks | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ UntapAbility | Secondary$ True | TriggerDescription$ When this attacks, you may have target creature defending player controls untap and block it if able."; + String abString = "AB$ Untap | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature defending player controls | SubAbility$ DBProvoke"; + String dbString = "DB$ MustBlock | Defined$ Targeted"; + Trigger parsedTrigger = TriggerHandler.parseTrigger(actualTrigger, card, false); + card.addTrigger(parsedTrigger); + card.setSVar("UntapAbility", abString); + card.setSVar("DBProvoke", dbString); + } return card; }