mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +00:00
[AFR] Implemented Tasha's Hideous Laughter
This commit is contained in:
parent
60e74bb364
commit
7373009c94
3 changed files with 78 additions and 0 deletions
76
Mage.Sets/src/mage/cards/t/TashasHideousLaughter.java
Normal file
76
Mage.Sets/src/mage/cards/t/TashasHideousLaughter.java
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
package mage.cards.t;
|
||||||
|
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
import mage.cards.*;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.Zone;
|
||||||
|
import mage.game.Game;
|
||||||
|
import mage.players.Player;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class TashasHideousLaughter extends CardImpl {
|
||||||
|
|
||||||
|
public TashasHideousLaughter(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}{U}");
|
||||||
|
|
||||||
|
// Each opponent exiles cards from the top of their library until that player has exiled cards with total mana value 20 or more.
|
||||||
|
this.getSpellAbility().addEffect(new TashasHideousLaughterEffect());
|
||||||
|
}
|
||||||
|
|
||||||
|
private TashasHideousLaughter(final TashasHideousLaughter card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TashasHideousLaughter copy() {
|
||||||
|
return new TashasHideousLaughter(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class TashasHideousLaughterEffect extends OneShotEffect {
|
||||||
|
|
||||||
|
TashasHideousLaughterEffect() {
|
||||||
|
super(Outcome.Benefit);
|
||||||
|
staticText = "each opponent exiles cards from the top of their library " +
|
||||||
|
"until that player has exiled cards with total mana value 20 or more";
|
||||||
|
}
|
||||||
|
|
||||||
|
private TashasHideousLaughterEffect(final TashasHideousLaughterEffect effect) {
|
||||||
|
super(effect);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TashasHideousLaughterEffect copy() {
|
||||||
|
return new TashasHideousLaughterEffect(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean apply(Game game, Ability source) {
|
||||||
|
Player controller = game.getPlayer(source.getControllerId());
|
||||||
|
if (controller == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Cards cards = new CardsImpl();
|
||||||
|
for (UUID playerId : game.getOpponents(source.getControllerId())) {
|
||||||
|
Player player = game.getPlayer(playerId);
|
||||||
|
if (player == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int totalMV = 0;
|
||||||
|
for (Card card : player.getLibrary().getCards(game)) {
|
||||||
|
cards.add(card);
|
||||||
|
totalMV += card.getManaValue();
|
||||||
|
if (totalMV >= 20) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return controller.moveCards(cards, Zone.EXILED, source, game);
|
||||||
|
}
|
||||||
|
}
|
|
@ -34,6 +34,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Power Word Kill", 114, Rarity.UNCOMMON, mage.cards.p.PowerWordKill.class));
|
cards.add(new SetCardInfo("Power Word Kill", 114, Rarity.UNCOMMON, mage.cards.p.PowerWordKill.class));
|
||||||
cards.add(new SetCardInfo("Prosperous Innkeeper", 200, Rarity.UNCOMMON, mage.cards.p.ProsperousInnkeeper.class));
|
cards.add(new SetCardInfo("Prosperous Innkeeper", 200, Rarity.UNCOMMON, mage.cards.p.ProsperousInnkeeper.class));
|
||||||
cards.add(new SetCardInfo("Swamp", 273, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Swamp", 273, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Tasha's Hideous Laughter", 78, Rarity.RARE, mage.cards.t.TashasHideousLaughter.class));
|
||||||
cards.add(new SetCardInfo("Tiamat", 235, Rarity.MYTHIC, mage.cards.t.Tiamat.class));
|
cards.add(new SetCardInfo("Tiamat", 235, Rarity.MYTHIC, mage.cards.t.Tiamat.class));
|
||||||
cards.add(new SetCardInfo("Vorpal Sword", 124, Rarity.RARE, mage.cards.v.VorpalSword.class));
|
cards.add(new SetCardInfo("Vorpal Sword", 124, Rarity.RARE, mage.cards.v.VorpalSword.class));
|
||||||
}
|
}
|
||||||
|
|
|
@ -41322,6 +41322,7 @@ Tranquil Thicket|Commander 2021|408|C||Land|||Tranquil Thicket enters the battle
|
||||||
Yavimaya Coast|Commander 2021|409|R||Land|||{T}: Add {C}.${T}: Add {G} or {U}. Yavimaya Coast deals 1 damage to you.|
|
Yavimaya Coast|Commander 2021|409|R||Land|||{T}: Add {C}.${T}: Add {G} or {U}. Yavimaya Coast deals 1 damage to you.|
|
||||||
Flumph|Adventures in the Forgotten Realms|15|R|{1}{W}|Creature - Jellyfish|0|4|Defender, flying$Whenever Flumph is dealt damage, you and target opponent each draw a card.|
|
Flumph|Adventures in the Forgotten Realms|15|R|{1}{W}|Creature - Jellyfish|0|4|Defender, flying$Whenever Flumph is dealt damage, you and target opponent each draw a card.|
|
||||||
Portable Hole|Adventures in the Forgotten Realms|33|U|{W}|Artifact|||When Portable Hole enters the battlefield, exile target nonland permanent an opponent controls with mana value 2 or less until Portable Hole leaves the battlefield.|
|
Portable Hole|Adventures in the Forgotten Realms|33|U|{W}|Artifact|||When Portable Hole enters the battlefield, exile target nonland permanent an opponent controls with mana value 2 or less until Portable Hole leaves the battlefield.|
|
||||||
|
Tasha's Hideous Laughter|Adventures in the Forgotten Realms|78|R|{1}{U}{U}|Sorcery|||Each opponent exiles cards from the top of their library until that player has exiled cards with total mana value 20 or more.|
|
||||||
Lolth, Spider Queen|Adventures in the Forgotten Realms|112|M|{3}{B}{B}|Legendary Planeswalker - Lolth|4|Whenever a creature you control dies, put a loyalty counter on Lolth, Spider Queen.$0: You draw a card and you lose 1 life.$−3: Create two 2/1 black Spider creature tokens with menace and reach.$−8: You get an emblem with "Whenever an opponent is dealt combat damage by one or more creatures you control, if that player lost less than 8 life this turn, they lose life equal to the difference."|
|
Lolth, Spider Queen|Adventures in the Forgotten Realms|112|M|{3}{B}{B}|Legendary Planeswalker - Lolth|4|Whenever a creature you control dies, put a loyalty counter on Lolth, Spider Queen.$0: You draw a card and you lose 1 life.$−3: Create two 2/1 black Spider creature tokens with menace and reach.$−8: You get an emblem with "Whenever an opponent is dealt combat damage by one or more creatures you control, if that player lost less than 8 life this turn, they lose life equal to the difference."|
|
||||||
Power Word Kill|Adventures in the Forgotten Realms|114|U|{1}{B}|Instant|||Destroy target non-Angel, non-Demon, non-Devil, non-Dragon creature.|
|
Power Word Kill|Adventures in the Forgotten Realms|114|U|{1}{B}|Instant|||Destroy target non-Angel, non-Demon, non-Devil, non-Dragon creature.|
|
||||||
Vorpal Sword|Adventures in the Forgotten Realms|124|R|{B}|Artifact - Equipment|||Equipped creature gets +2/+0 and has deathtouch.${5}{B}{B}{B}: Until end of turn, Vorpal Sword gains "Whenever equipped creature deals combat damage to a player, that player loses the game."$Equip {B}{B}|
|
Vorpal Sword|Adventures in the Forgotten Realms|124|R|{B}|Artifact - Equipment|||Equipped creature gets +2/+0 and has deathtouch.${5}{B}{B}{B}: Until end of turn, Vorpal Sword gains "Whenever equipped creature deals combat damage to a player, that player loses the game."$Equip {B}{B}|
|
||||||
|
|
Loading…
Reference in a new issue