[MID] Implemented Ritual Guardian

This commit is contained in:
Evan Kranzler 2021-09-06 18:55:05 -04:00
parent b0ed7a2e18
commit a38a09fcde
5 changed files with 58 additions and 10 deletions

View file

@ -32,10 +32,9 @@ public final class CandlelitCavalry extends CardImpl {
new GainAbilitySourceEffect(
TrampleAbility.getInstance(), Duration.EndOfTurn
), TargetController.YOU, false
), CovenCondition.instance, AbilityWord.COVEN.formatWord() +
"At the beginning of combat on your turn, if you control three or more creatures " +
"with different powers, {this} gains trample until end of turn."
).addHint(CovenHint.instance));
), CovenCondition.instance, "At the beginning of combat on your turn, if you control " +
"three or more creatures with different powers, {this} gains trample until end of turn."
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
}
private CandlelitCavalry(final CandlelitCavalry card) {

View file

@ -0,0 +1,48 @@
package mage.cards.r;
import mage.MageInt;
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
import mage.abilities.condition.common.CovenCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.hint.common.CovenHint;
import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class RitualGuardian extends CardImpl {
public RitualGuardian(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(3);
this.toughness = new MageInt(2);
// Coven At the beginning of combat on your turn, if you control three or more creatures with different powers, Ritual Guardian gains lifelink until end of turn.
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
new BeginningOfCombatTriggeredAbility(
new GainAbilitySourceEffect(
LifelinkAbility.getInstance(), Duration.EndOfTurn
), TargetController.YOU, false
), CovenCondition.instance, "At the beginning of combat on your turn, if you control three " +
"or more creatures with different powers, {this} gains lifelink until end of turn."
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
}
private RitualGuardian(final RitualGuardian card) {
super(card);
}
@Override
public RitualGuardian copy() {
return new RitualGuardian(this);
}
}

View file

@ -56,11 +56,11 @@ public final class SigardaChampionOfLight extends CardImpl {
new AttacksTriggeredAbility(new LookLibraryAndPickControllerEffect(
StaticValue.get(5), false, StaticValue.get(1), filter2,
Zone.LIBRARY, false, true, false, Zone.HAND, true
).setBackInRandomOrder(true)), CovenCondition.instance, AbilityWord.COVEN.formatWord() +
"Whenever {this} attacks, if you control three or more creatures with different powers, " +
"look at the top five cards of your library. You may reveal a Human creature card from among them " +
"and put it into your hand. Put the rest on the bottom of your library in a random order."
).addHint(CovenHint.instance));
).setBackInRandomOrder(true)), CovenCondition.instance, "Whenever {this} attacks, " +
"if you control three or more creatures with different powers, look at the top five cards " +
"of your library. You may reveal a Human creature card from among them and put it into your hand. " +
"Put the rest on the bottom of your library in a random order."
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
}
private SigardaChampionOfLight(final SigardaChampionOfLight card) {

View file

@ -74,6 +74,7 @@ public final class InnistradMidnightHunt extends ExpansionSet {
cards.add(new SetCardInfo("Poppet Factory", 71, Rarity.MYTHIC, mage.cards.p.PoppetFactory.class));
cards.add(new SetCardInfo("Poppet Stitcher", 71, Rarity.MYTHIC, mage.cards.p.PoppetStitcher.class));
cards.add(new SetCardInfo("Rite of Harmony", 236, Rarity.RARE, mage.cards.r.RiteOfHarmony.class));
cards.add(new SetCardInfo("Ritual Guardian", 30, Rarity.COMMON, mage.cards.r.RitualGuardian.class));
cards.add(new SetCardInfo("Rockfall Vale", 266, Rarity.RARE, mage.cards.r.RockfallVale.class));
cards.add(new SetCardInfo("Saryth, the Viper's Fang", 197, Rarity.RARE, mage.cards.s.SarythTheVipersFang.class));
cards.add(new SetCardInfo("Secrets of the Key", 73, Rarity.COMMON, mage.cards.s.SecretsOfTheKey.class));

View file

@ -78,7 +78,7 @@ public class ConditionalInterveningIfTriggeredAbility extends TriggeredAbilityIm
if (abilityText == null || abilityText.isEmpty()) {
return ability.getRule();
}
return abilityText;
return (abilityWord != null ? abilityWord.formatWord() : "") + abilityText;
}
@Override