[SNC] Implemented Rumor Gatherer

This commit is contained in:
Evan Kranzler 2022-04-07 20:25:44 -04:00
parent d383cb4ff1
commit 4e24b2832d
2 changed files with 58 additions and 0 deletions

View file

@ -0,0 +1,57 @@
package mage.cards.r;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AllianceAbility;
import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.keyword.ScryEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.Game;
import mage.watchers.common.AbilityResolvedWatcher;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class RumorGatherer extends CardImpl {
public RumorGatherer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}");
this.subtype.add(SubType.ELF);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
// Alliance Whenever another creature enters the battlefield under your control, scry 1. If this is the second time this ability has resolved this turn, draw a card instead.
this.addAbility(new AllianceAbility(new ConditionalOneShotEffect(
new DrawCardSourceControllerEffect(1), new ScryEffect(1),
RumorGathererCondition.instance, "scry 1. If this is the second time " +
"this ability has resolved this turn, draw a card instead"
)), new AbilityResolvedWatcher());
}
private RumorGatherer(final RumorGatherer card) {
super(card);
}
@Override
public RumorGatherer copy() {
return new RumorGatherer(this);
}
}
enum RumorGathererCondition implements Condition {
instance;
@Override
public boolean apply(Game game, Ability source) {
return AbilityResolvedWatcher.getResolutionCount(game, source) == 2;
}
}

View file

@ -44,6 +44,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet {
cards.add(new SetCardInfo("Raffine's Tower", 254, Rarity.RARE, mage.cards.r.RaffinesTower.class));
cards.add(new SetCardInfo("Raffine, Scheming Seer", 213, Rarity.MYTHIC, mage.cards.r.RaffineSchemingSeer.class));
cards.add(new SetCardInfo("Riveteers Charm", 217, Rarity.UNCOMMON, mage.cards.r.RiveteersCharm.class));
cards.add(new SetCardInfo("Rumor Gatherer", 29, Rarity.UNCOMMON, mage.cards.r.RumorGatherer.class));
cards.add(new SetCardInfo("Skybridge Towers", 256, Rarity.COMMON, mage.cards.s.SkybridgeTowers.class));
cards.add(new SetCardInfo("Spara's Headquarters", 257, Rarity.RARE, mage.cards.s.SparasHeadquarters.class));
cards.add(new SetCardInfo("Strangle", 125, Rarity.COMMON, mage.cards.s.Strangle.class));