forked from External/mage
* Create generic X MV adjuster * Update XTargetsAdjuster * Create DynamicValueTargetsAdjuster to replace VerseCounterAdjuster * Convert XTargetsAdjuster to use DynamicValueTargetsAdjuster * Genericize MV target adjuster * Converting custom classes for A and B cards, fix Back in Town to only target creature cards * Add Power and Toughness target adjusters, C cards * Set up and use Monstrosity X DynamicValue * Move Scry amount dynamic value to common, add D and E cards * Convert F to I cards * Cards K-M * N, O cards * Cards O-R * S cards (check Scrap Welder) * Cards T - Z * Rename target adjusters * Add filter messages, don't add 0 count targets * Clear blueprint targets (just in case), fix target names, Temporal Firestorm is not target * Requested renames * Aether Burst is "up to" * Review fixes * Add new cards, add source to dynamic value calculation
39 lines
880 B
Java
39 lines
880 B
Java
package mage.abilities.dynamicvalue.common;
|
|
|
|
import mage.abilities.Ability;
|
|
import mage.abilities.dynamicvalue.DynamicValue;
|
|
import mage.abilities.effects.Effect;
|
|
import mage.game.Game;
|
|
|
|
|
|
/**
|
|
* @author notgreat
|
|
*/
|
|
public enum GetScryAmount implements DynamicValue {
|
|
instance;
|
|
|
|
@Override
|
|
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
|
return sourceAbility
|
|
.getEffects()
|
|
.stream()
|
|
.mapToInt(thisEffect -> (Integer) thisEffect.getValue("amount"))
|
|
.findFirst()
|
|
.orElse(0);
|
|
}
|
|
|
|
@Override
|
|
public GetScryAmount copy() {
|
|
return GetScryAmount.instance;
|
|
}
|
|
|
|
@Override
|
|
public String getMessage() {
|
|
return "card looked at while scrying this way";
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "1";
|
|
}
|
|
}
|