Added spectacle hints to cards (opponents lost life)

This commit is contained in:
Oleg Agafonov 2019-02-06 18:27:23 +04:00
parent 283b101a08
commit f0c76eb529
3 changed files with 52 additions and 0 deletions

View file

@ -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";
}
}

View file

@ -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;
}
}

View file

@ -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()
+ " <i>(You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.)</i>";
this.addHint(SpectacleHint.instance);
}
public SpectacleAbility(final SpectacleAbility ability) {