foul-magics/Mage.Sets/src/mage/cards/s/SquirrelPoweredScheme.java

77 lines
2.1 KiB
Java

package mage.cards.s;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
/**
*
* @author spjspj
*/
public final class SquirrelPoweredScheme extends CardImpl {
public SquirrelPoweredScheme(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
// Increase the result of each die you roll by 2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SquirrelPoweredSchemeEffect()));
}
public SquirrelPoweredScheme(final SquirrelPoweredScheme card) {
super(card);
}
@Override
public SquirrelPoweredScheme copy() {
return new SquirrelPoweredScheme(this);
}
}
class SquirrelPoweredSchemeEffect extends ReplacementEffectImpl {
SquirrelPoweredSchemeEffect() {
super(Duration.WhileOnBattlefield, Outcome.Benefit);
staticText = "Increase the result of each die you roll by 2";
}
SquirrelPoweredSchemeEffect(final SquirrelPoweredSchemeEffect effect) {
super(effect);
}
@Override
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
event.setAmount(event.getAmount() + 2);
return false;
}
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.ROLL_DICE;
}
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
// ignore planar dies (dice roll amount of planar dies is equal to 0)
return event.getAmount() > 0 && source.isControlledBy(event.getPlayerId());
}
@Override
public boolean apply(Game game, Ability source) {
return false;
}
@Override
public SquirrelPoweredSchemeEffect copy() {
return new SquirrelPoweredSchemeEffect(this);
}
}