forked from External/mage
[DSK] Implement Dazzling Theater // Prop Room
This commit is contained in:
parent
cbf70893a8
commit
7e0fdcbe64
2 changed files with 55 additions and 0 deletions
53
Mage.Sets/src/mage/cards/d/DazzlingTheaterPropRoom.java
Normal file
53
Mage.Sets/src/mage/cards/d/DazzlingTheaterPropRoom.java
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
package mage.cards.d;
|
||||||
|
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.common.continuous.GainAbilityControlledSpellsEffect;
|
||||||
|
import mage.abilities.effects.common.continuous.UntapAllDuringEachOtherPlayersUntapStepEffect;
|
||||||
|
import mage.abilities.keyword.ConvokeAbility;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.cards.RoomCard;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SpellAbilityType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.filter.StaticFilters;
|
||||||
|
import mage.filter.common.FilterNonlandCard;
|
||||||
|
import mage.filter.predicate.Predicates;
|
||||||
|
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author PurpleCrowbar
|
||||||
|
*/
|
||||||
|
public final class DazzlingTheaterPropRoom extends RoomCard {
|
||||||
|
|
||||||
|
private static final FilterNonlandCard filter = new FilterNonlandCard("creature spells you cast");
|
||||||
|
|
||||||
|
static {
|
||||||
|
filter.add(CardType.CREATURE.getPredicate());
|
||||||
|
filter.add(Predicates.not(new AbilityPredicate(ConvokeAbility.class)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public DazzlingTheaterPropRoom(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}", "{2}{W}", SpellAbilityType.SPLIT);
|
||||||
|
this.subtype.add(SubType.ROOM);
|
||||||
|
|
||||||
|
// Dazzling Theater: Creature spells you cast have convoke.
|
||||||
|
Ability left = new SimpleStaticAbility(new GainAbilityControlledSpellsEffect(new ConvokeAbility(), filter));
|
||||||
|
|
||||||
|
// Prop Room: Untap each creature you control during each other player's untap step.
|
||||||
|
Ability right = new SimpleStaticAbility(new UntapAllDuringEachOtherPlayersUntapStepEffect(StaticFilters.FILTER_CONTROLLED_CREATURES));
|
||||||
|
|
||||||
|
this.addRoomAbilities(left, right);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DazzlingTheaterPropRoom(final DazzlingTheaterPropRoom card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DazzlingTheaterPropRoom copy() {
|
||||||
|
return new DazzlingTheaterPropRoom(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -70,6 +70,8 @@ public final class DuskmournHouseOfHorror extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Cynical Loner", 89, Rarity.UNCOMMON, mage.cards.c.CynicalLoner.class));
|
cards.add(new SetCardInfo("Cynical Loner", 89, Rarity.UNCOMMON, mage.cards.c.CynicalLoner.class));
|
||||||
cards.add(new SetCardInfo("Daggermaw Megalodon", 48, Rarity.COMMON, mage.cards.d.DaggermawMegalodon.class));
|
cards.add(new SetCardInfo("Daggermaw Megalodon", 48, Rarity.COMMON, mage.cards.d.DaggermawMegalodon.class));
|
||||||
cards.add(new SetCardInfo("Dashing Bloodsucker", 90, Rarity.UNCOMMON, mage.cards.d.DashingBloodsucker.class));
|
cards.add(new SetCardInfo("Dashing Bloodsucker", 90, Rarity.UNCOMMON, mage.cards.d.DashingBloodsucker.class));
|
||||||
|
cards.add(new SetCardInfo("Dazzling Theater // Prop Room", 3, Rarity.RARE, mage.cards.d.DazzlingTheaterPropRoom.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Dazzling Theater // Prop Room", 334, Rarity.RARE, mage.cards.d.DazzlingTheaterPropRoom.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Defiant Survivor", 175, Rarity.UNCOMMON, mage.cards.d.DefiantSurvivor.class));
|
cards.add(new SetCardInfo("Defiant Survivor", 175, Rarity.UNCOMMON, mage.cards.d.DefiantSurvivor.class));
|
||||||
cards.add(new SetCardInfo("Demonic Counsel", 310, Rarity.RARE, mage.cards.d.DemonicCounsel.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Demonic Counsel", 310, Rarity.RARE, mage.cards.d.DemonicCounsel.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Demonic Counsel", 92, Rarity.RARE, mage.cards.d.DemonicCounsel.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Demonic Counsel", 92, Rarity.RARE, mage.cards.d.DemonicCounsel.class, NON_FULL_USE_VARIOUS));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue