[CLB] Implemented Cultist of the Absolute

This commit is contained in:
Evan Kranzler 2022-05-18 09:15:38 -04:00
parent 998bb75242
commit e5d30baf31
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.c;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.effects.common.SacrificeControllerEffect;
import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.WardAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class CultistOfTheAbsolute extends CardImpl {
public CultistOfTheAbsolute(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.BACKGROUND);
// Commander creatures you own get +3/+3 and have flying, deathtouch, "Ward—Pay 3 life," and "At the beginning of your upkeep, sacrifice a creature."
Ability ability = new SimpleStaticAbility(new BoostAllEffect(
3, 3, Duration.WhileOnBattlefield,
StaticFilters.FILTER_CREATURES_OWNED_COMMANDER, false
));
ability.addEffect(new GainAbilityAllEffect(
FlyingAbility.getInstance(), Duration.WhileOnBattlefield,
StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
).setText("and have flying"));
ability.addEffect(new GainAbilityAllEffect(
DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield,
StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
).setText(", deathtouch"));
ability.addEffect(new GainAbilityAllEffect(
new WardAbility(new PayLifeCost(3)), Duration.WhileOnBattlefield,
StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
).setText(", \"Ward—Pay 3 life,\""));
ability.addEffect(new GainAbilityAllEffect(
new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(
StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT, 1, null
), TargetController.YOU, false),
Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
).setText("and \"At the beginning of your upkeep, sacrifice a creature.\""));
this.addAbility(ability);
}
private CultistOfTheAbsolute(final CultistOfTheAbsolute card) {
super(card);
}
@Override
public CultistOfTheAbsolute copy() {
return new CultistOfTheAbsolute(this);
}
}

View file

@ -31,6 +31,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet {
cards.add(new SetCardInfo("Bramble Sovereign", 218, Rarity.MYTHIC, mage.cards.b.BrambleSovereign.class));
cards.add(new SetCardInfo("Charcoal Diamond", 305, Rarity.COMMON, mage.cards.c.CharcoalDiamond.class));
cards.add(new SetCardInfo("Command Tower", 351, Rarity.COMMON, mage.cards.c.CommandTower.class));
cards.add(new SetCardInfo("Cultist of the Absolute", 123, Rarity.RARE, mage.cards.c.CultistOfTheAbsolute.class));
cards.add(new SetCardInfo("Dungeoneer's Pack", 312, Rarity.UNCOMMON, mage.cards.d.DungeoneersPack.class));
cards.add(new SetCardInfo("Elder Brain", 125, Rarity.RARE, mage.cards.e.ElderBrain.class));
cards.add(new SetCardInfo("Elminster's Simulacrum", 561, Rarity.MYTHIC, mage.cards.e.ElminstersSimulacrum.class));