diff --git a/Mage/src/main/java/mage/abilities/condition/common/OpponentsLostLifeCondition.java b/Mage/src/main/java/mage/abilities/condition/common/OpponentsLostLifeCondition.java new file mode 100644 index 00000000000..84ae6a03764 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/condition/common/OpponentsLostLifeCondition.java @@ -0,0 +1,24 @@ +package mage.abilities.condition.common; + +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.abilities.dynamicvalue.common.OpponentsLostLifeCount; +import mage.game.Game; + +/** + * @author JayDi85 + */ +public enum OpponentsLostLifeCondition implements Condition { + + instance; + + @Override + public boolean apply(Game game, Ability source) { + return OpponentsLostLifeCount.instance.calculate(game, source.getControllerId()) > 0; + } + + @Override + public String toString() { + return "opponents lost life"; + } +} diff --git a/Mage/src/main/java/mage/abilities/hint/common/SpectacleHint.java b/Mage/src/main/java/mage/abilities/hint/common/SpectacleHint.java new file mode 100644 index 00000000000..81d7d3afa65 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/hint/common/SpectacleHint.java @@ -0,0 +1,26 @@ +package mage.abilities.hint.common; + +import mage.abilities.Ability; +import mage.abilities.condition.common.OpponentsLostLifeCondition; +import mage.abilities.hint.ConditionHint; +import mage.abilities.hint.Hint; +import mage.game.Game; + +/** + * @author JayDi85 + */ +public enum SpectacleHint implements Hint { + + instance; + private static final ConditionHint hint = new ConditionHint(OpponentsLostLifeCondition.instance, "Opponents lost life this turn"); + + @Override + public String getText(Game game, Ability ability) { + return hint.getText(game, ability); + } + + @Override + public Hint copy() { + return instance; + } +} diff --git a/Mage/src/main/java/mage/abilities/keyword/SpectacleAbility.java b/Mage/src/main/java/mage/abilities/keyword/SpectacleAbility.java index d0254f70d63..5845fdeeb65 100644 --- a/Mage/src/main/java/mage/abilities/keyword/SpectacleAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/SpectacleAbility.java @@ -3,6 +3,7 @@ package mage.abilities.keyword; import mage.abilities.SpellAbility; import mage.abilities.costs.mana.ManaCost; import mage.abilities.dynamicvalue.common.OpponentsLostLifeCount; +import mage.abilities.hint.common.SpectacleHint; import mage.cards.Card; import mage.constants.SpellAbilityType; import mage.constants.Zone; @@ -30,6 +31,7 @@ public class SpectacleAbility extends SpellAbility { this.setRuleAtTheTop(true); this.rule = "Spectacle " + spectacleCosts.getText() + " (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.)"; + this.addHint(SpectacleHint.instance); } public SpectacleAbility(final SpectacleAbility ability) {