mirror of
https://github.com/correl/mage.git
synced 2024-12-27 03:00:13 +00:00
[NEO] added hint to channel lands
This commit is contained in:
parent
4863eb3170
commit
b61125c0f3
6 changed files with 19 additions and 6 deletions
|
@ -53,7 +53,7 @@ public final class BoseijuWhoEndures extends CardImpl {
|
||||||
Ability ability = new ChannelAbility("{1}{G}", new BoseijuWhoEnduresEffect());
|
Ability ability = new ChannelAbility("{1}{G}", new BoseijuWhoEnduresEffect());
|
||||||
ability.addTarget(new TargetPermanent(filter));
|
ability.addTarget(new TargetPermanent(filter));
|
||||||
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BoseijuWhoEndures(final BoseijuWhoEndures card) {
|
private BoseijuWhoEndures(final BoseijuWhoEndures card) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ public final class EiganjoSeatOfTheEmpire extends CardImpl {
|
||||||
));
|
));
|
||||||
ability.addTarget(new TargetAttackingOrBlockingCreature());
|
ability.addTarget(new TargetAttackingOrBlockingCreature());
|
||||||
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private EiganjoSeatOfTheEmpire(final EiganjoSeatOfTheEmpire card) {
|
private EiganjoSeatOfTheEmpire(final EiganjoSeatOfTheEmpire card) {
|
||||||
|
|
|
@ -46,7 +46,7 @@ public final class OtawaraSoaringCity extends CardImpl {
|
||||||
ability.addEffect(new InfoEffect("This ability costs {1} less to activate for each legendary creature you control"));
|
ability.addEffect(new InfoEffect("This ability costs {1} less to activate for each legendary creature you control"));
|
||||||
ability.addTarget(new TargetPermanent(filter));
|
ability.addTarget(new TargetPermanent(filter));
|
||||||
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private OtawaraSoaringCity(final OtawaraSoaringCity card) {
|
private OtawaraSoaringCity(final OtawaraSoaringCity card) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ public final class SokenzanCrucibleOfDefiance extends CardImpl {
|
||||||
// Channel — {3}{R}, Discard Sokenzan, Crucible of Defiance: Create two colorless 1/1 Spirit creature tokens. They gain haste until end of turn. This ability costs {1} less to activate for each legendary creature you control.
|
// Channel — {3}{R}, Discard Sokenzan, Crucible of Defiance: Create two colorless 1/1 Spirit creature tokens. They gain haste until end of turn. This ability costs {1} less to activate for each legendary creature you control.
|
||||||
Ability ability = new ChannelAbility("{3}{R}", new SokenzanCrucibleOfDefianceEffect());
|
Ability ability = new ChannelAbility("{3}{R}", new SokenzanCrucibleOfDefianceEffect());
|
||||||
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SokenzanCrucibleOfDefiance(final SokenzanCrucibleOfDefiance card) {
|
private SokenzanCrucibleOfDefiance(final SokenzanCrucibleOfDefiance card) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ public final class TakenumaAbandonedMire extends CardImpl {
|
||||||
// Channel — {3}{B}, Discard Takenuma, Abandoned Mire: Mill three cards, then return a creature or planeswalker card from your graveyard to your hand. This ability costs {1} less to activate for each legendary creature you control.
|
// Channel — {3}{B}, Discard Takenuma, Abandoned Mire: Mill three cards, then return a creature or planeswalker card from your graveyard to your hand. This ability costs {1} less to activate for each legendary creature you control.
|
||||||
Ability ability = new ChannelAbility("{3}{B}", new TakenumaAbandonedMireEffect());
|
Ability ability = new ChannelAbility("{3}{B}", new TakenumaAbandonedMireEffect());
|
||||||
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
ability.setCostAdjuster(LegendaryCreatureCostAdjuster.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability.addHint(LegendaryCreatureCostAdjuster.getHint()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private TakenumaAbandonedMire(final TakenumaAbandonedMire card) {
|
private TakenumaAbandonedMire(final TakenumaAbandonedMire card) {
|
||||||
|
|
|
@ -2,6 +2,9 @@ package mage.abilities.costs.costadjusters;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.costs.CostAdjuster;
|
import mage.abilities.costs.CostAdjuster;
|
||||||
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
|
import mage.abilities.hint.Hint;
|
||||||
|
import mage.abilities.hint.ValueHint;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
import mage.filter.FilterPermanent;
|
import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
@ -13,12 +16,18 @@ import mage.util.CardUtil;
|
||||||
*/
|
*/
|
||||||
public enum LegendaryCreatureCostAdjuster implements CostAdjuster {
|
public enum LegendaryCreatureCostAdjuster implements CostAdjuster {
|
||||||
instance;
|
instance;
|
||||||
|
|
||||||
private static final FilterPermanent filter = new FilterControlledCreaturePermanent();
|
private static final FilterPermanent filter = new FilterControlledCreaturePermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(SuperType.LEGENDARY.getPredicate());
|
filter.add(SuperType.LEGENDARY.getPredicate());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final Hint hint = new ValueHint(
|
||||||
|
"Legendary creatures you control",
|
||||||
|
new PermanentsOnBattlefieldCount(filter)
|
||||||
|
);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void adjustCosts(Ability ability, Game game) {
|
public void adjustCosts(Ability ability, Game game) {
|
||||||
int count = game.getBattlefield().count(
|
int count = game.getBattlefield().count(
|
||||||
|
@ -28,4 +37,8 @@ public enum LegendaryCreatureCostAdjuster implements CostAdjuster {
|
||||||
CardUtil.reduceCost(ability, count);
|
CardUtil.reduceCost(ability, count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Hint getHint() {
|
||||||
|
return hint;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue