[40K] Implemented Tyrant Guard

This commit is contained in:
Evan Kranzler 2022-09-14 21:45:50 -04:00
parent d00a82b85e
commit 46b6edde0b
2 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,63 @@
package mage.cards.t;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.keyword.IndestructibleAbility;
import mage.abilities.keyword.RavenousAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.permanent.CounterAnyPredicate;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class TyrantGuard extends CardImpl {
private static final FilterPermanent filter = new FilterControlledCreaturePermanent();
static {
filter.add(CounterAnyPredicate.instance);
}
public TyrantGuard(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{X}{2}{G}");
this.subtype.add(SubType.TYRANID);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// Ravenous
this.addAbility(new RavenousAbility());
// Shieldwall -- Sacrifice Tyrant Guard: Creatures you control with counters on them gain hexproof and indestructible until end of turn.
Ability ability = new SimpleActivatedAbility(new GainAbilityAllEffect(
HexproofAbility.getInstance(), Duration.EndOfTurn, filter,
"creatures you control with counters on them gain hexproof"
), new SacrificeSourceCost());
ability.addEffect(new GainAbilityAllEffect(
IndestructibleAbility.getInstance(), Duration.EndOfTurn,
filter, "and indestructible until end of turn"
));
this.addAbility(ability.withFlavorWord("Shieldwall"));
}
private TyrantGuard(final TyrantGuard card) {
super(card);
}
@Override
public TyrantGuard copy() {
return new TyrantGuard(this);
}
}

View file

@ -75,6 +75,7 @@ public final class Warhammer40000 extends ExpansionSet {
cards.add(new SetCardInfo("Thornwood Falls", 302, Rarity.COMMON, mage.cards.t.ThornwoodFalls.class));
cards.add(new SetCardInfo("Trygon Prime", 143, Rarity.UNCOMMON, mage.cards.t.TrygonPrime.class));
cards.add(new SetCardInfo("Tyranid Prime", 145, Rarity.RARE, mage.cards.t.TyranidPrime.class));
cards.add(new SetCardInfo("Tyrant Guard", 103, Rarity.RARE, mage.cards.t.TyrantGuard.class));
cards.add(new SetCardInfo("Unclaimed Territory", 304, Rarity.UNCOMMON, mage.cards.u.UnclaimedTerritory.class));
cards.add(new SetCardInfo("Venomthrope", 147, Rarity.UNCOMMON, mage.cards.v.Venomthrope.class));
cards.add(new SetCardInfo("Winged Hive Tyrant", 148, Rarity.RARE, mage.cards.w.WingedHiveTyrant.class));