forked from External/mage
86 lines
2.7 KiB
Java
86 lines
2.7 KiB
Java
package mage.game.command.emblems;
|
|
|
|
import mage.abilities.Ability;
|
|
import mage.abilities.common.SimpleActivatedAbility;
|
|
import mage.abilities.common.SimpleStaticAbility;
|
|
import mage.abilities.costs.common.TapSourceCost;
|
|
import mage.abilities.effects.ContinuousEffectImpl;
|
|
import mage.abilities.effects.common.DamageTargetEffect;
|
|
import mage.constants.*;
|
|
import mage.filter.common.FilterLandPermanent;
|
|
import mage.game.Game;
|
|
import mage.game.command.Emblem;
|
|
import mage.game.permanent.Permanent;
|
|
import mage.target.common.TargetAnyTarget;
|
|
|
|
/**
|
|
* @author spjspj
|
|
*/
|
|
public final class KothOfTheHammerEmblem extends Emblem {
|
|
// "Mountains you control have '{T}: This land deals 1 damage to any target.'"
|
|
|
|
public KothOfTheHammerEmblem() {
|
|
super("Emblem Koth");
|
|
this.getAbilities().add(new SimpleStaticAbility(Zone.COMMAND, new KothOfTheHammerThirdEffect()));
|
|
}
|
|
|
|
private KothOfTheHammerEmblem(final KothOfTheHammerEmblem card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public KothOfTheHammerEmblem copy() {
|
|
return new KothOfTheHammerEmblem(this);
|
|
}
|
|
}
|
|
|
|
class KothOfTheHammerThirdEffect extends ContinuousEffectImpl {
|
|
|
|
static final FilterLandPermanent mountains = new FilterLandPermanent("Mountain you control");
|
|
|
|
static {
|
|
mountains.add(SubType.MOUNTAIN.getPredicate());
|
|
mountains.add(TargetController.YOU.getControllerPredicate());
|
|
}
|
|
|
|
public KothOfTheHammerThirdEffect() {
|
|
super(Duration.EndOfGame, Outcome.AddAbility);
|
|
staticText = "Mountains you control have '{T}: This land deals 1 damage to any target.'";
|
|
}
|
|
|
|
protected KothOfTheHammerThirdEffect(final KothOfTheHammerThirdEffect effect) {
|
|
super(effect);
|
|
}
|
|
|
|
@Override
|
|
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
|
switch (layer) {
|
|
case AbilityAddingRemovingEffects_6:
|
|
if (sublayer == SubLayer.NA) {
|
|
for (Permanent permanent : game.getBattlefield().getActivePermanents(mountains, source.getControllerId(), source, game)) {
|
|
Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new TapSourceCost());
|
|
ability.addTarget(new TargetAnyTarget());
|
|
permanent.addAbility(ability, source.getSourceId(), game);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean apply(Game game, Ability source) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public KothOfTheHammerThirdEffect copy() {
|
|
return new KothOfTheHammerThirdEffect(this);
|
|
}
|
|
|
|
@Override
|
|
public boolean hasLayer(Layer layer) {
|
|
return layer == Layer.AbilityAddingRemovingEffects_6;
|
|
}
|
|
|
|
}
|