Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Mage.Sets/src/mage/cards/b/BloodMoney.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ public boolean apply(Game game, Ability source) {
}
}
if (count > 0) {
game.processAction();
new TreasureToken().putOntoBattlefield(count, game, source, source.getControllerId(), true, false);
}
return true;
Expand Down
76 changes: 76 additions & 0 deletions Mage.Sets/src/mage/cards/c/CeaselessConflict.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package mage.cards.c;

import java.util.UUID;

import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.PermanentToken;
import mage.game.permanent.token.Spirit32Token;

/**
*
* @author muz
*/
public final class CeaselessConflict extends CardImpl {

public CeaselessConflict(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{W}{W}");

// Destroy all creatures. Then create a 3/2 red and white Spirit creature token for each nontoken creature you controlled that was destroyed this way.
this.getSpellAbility().addEffect(new CeaselessConflictEffect());
}

private CeaselessConflict(final CeaselessConflict card) {
super(card);
}

@Override
public CeaselessConflict copy() {
return new CeaselessConflict(this);
}
}

class CeaselessConflictEffect extends OneShotEffect {

public CeaselessConflictEffect() {
super(Outcome.DestroyPermanent);
this.staticText = "destroy all creatures. Then create a 3/2 red and white Spirit creature token for each nontoken creature you controlled that was destroyed this way";
}

private CeaselessConflictEffect(final CeaselessConflictEffect effect) {
super(effect);
}

@Override
public CeaselessConflictEffect copy() {
return new CeaselessConflictEffect(this);
}

@Override
public boolean apply(Game game, Ability source) {
int count = 0;
for (Permanent permanent : game.getBattlefield().getActivePermanents(
StaticFilters.FILTER_PERMANENT_CREATURE,
source.getControllerId(), source, game
)) {
if (permanent.destroy(source, game) &&
permanent.isControlledBy(source.getControllerId()) &&
!(permanent instanceof PermanentToken)
) {
count++;
}
}
if (count > 0) {
Comment thread
muz marked this conversation as resolved.
game.processAction();
new Spirit32Token().putOntoBattlefield(count, game, source, source.getControllerId(), true, false);
}
return true;
}
}
2 changes: 2 additions & 0 deletions Mage.Sets/src/mage/sets/SecretsOfStrixhavenCommander.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ private SecretsOfStrixhavenCommander() {
cards.add(new SetCardInfo("Cascade Bluffs", 364, Rarity.RARE, mage.cards.c.CascadeBluffs.class));
cards.add(new SetCardInfo("Casualties of War", 300, Rarity.RARE, mage.cards.c.CasualtiesOfWar.class));
cards.add(new SetCardInfo("Caves of Koilos", 365, Rarity.RARE, mage.cards.c.CavesOfKoilos.class));
cards.add(new SetCardInfo("Ceaseless Conflict", 12, Rarity.RARE, mage.cards.c.CeaselessConflict.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Ceaseless Conflict", 62, Rarity.RARE, mage.cards.c.CeaselessConflict.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Chain Reaction", 121, Rarity.RARE, mage.cards.c.ChainReaction.class));
cards.add(new SetCardInfo("Chains of Custody", 139, Rarity.COMMON, mage.cards.c.ChainsOfCustody.class));
cards.add(new SetCardInfo("Changing Loyalty", 23, Rarity.RARE, mage.cards.c.ChangingLoyalty.class, NON_FULL_USE_VARIOUS));
Expand Down
Loading