This commit is contained in:
magenoxx 2011-09-15 21:23:15 +04:00
parent 49a0fa6144
commit 226a74ebb5
4 changed files with 55 additions and 19 deletions

View file

@ -1,31 +1,67 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.sets.innistrad;
import mage.Constants;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.keyword.UnblockableAbility;
import mage.cards.CardImpl;
import java.util.UUID;
/**
*
* @author nantuko
*/
public class InvisibleStalker extends CardImpl<InvisibleStalker> {
public InvisibleStalker(UUID ownerId) {
super(ownerId, 60, "Invisible Stalker", Constants.Rarity.UNCOMMON, new Constants.CardType[]{Constants.CardType.CREATURE}, "{1}{U}");
super(ownerId, 60, "Invisible Stalker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{U}");
this.expansionSetCode = "ISD";
this.subtype.add("Human");
this.subtype.add("Human");
this.subtype.add("Rogue");
this.color.setBlue(true);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.color.setBlue(true);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new HexproofAbility());
// Invisible Stalker is unblockable.
this.addAbility(UnblockableAbility.getInstance());
}
public InvisibleStalker(final InvisibleStalker card) {
super(card);
}
@Override
public InvisibleStalker copy() {
return null; //To change body of implemented methods use File | Settings | File Templates.
return new InvisibleStalker(this);
}
}

View file

@ -37,6 +37,7 @@ import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continious.BoostControlledEffect;
@ -64,11 +65,11 @@ public class KabiraVindicator extends LevelerCard<KabiraVindicator> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{W}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true), new TapSourceCost()));
abilities1.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true)));
this.getLevels().add(new LevelAbility(2, 4, abilities1, 3, 6));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true), new TapSourceCost()));
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, FilterCreaturePermanent.getDefault(), true)));
this.getLevels().add(new LevelAbility(5, -1, abilities2, 4, 8));
}

View file

@ -46,6 +46,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
import mage.cards.CardImpl;
import mage.filter.Filter;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.target.common.TargetCardInHand;
@ -57,12 +58,6 @@ import mage.target.common.TargetCreatureOrPlayer;
* @author Loki
*/
public class MoltenTailMasticore extends CardImpl<MoltenTailMasticore> {
private static FilterCard filter = new FilterCard("creature card");
static {
filter.getCardType().add(CardType.CREATURE);
filter.setScopeCardType(Filter.ComparisonScope.Any);
}
public MoltenTailMasticore (UUID ownerId) {
super(ownerId, 177, "Molten-Tail Masticore", Rarity.MYTHIC, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}");
@ -72,7 +67,7 @@ public class MoltenTailMasticore extends CardImpl<MoltenTailMasticore> {
this.toughness = new MageInt(4);
this.addAbility(new MoltenTailMasticoreAbility());
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new GenericManaCost(4));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard())));
ability.addTarget(new TargetCreatureOrPlayer());
this.addAbility(ability);
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new GenericManaCost(2)));

View file

@ -63,6 +63,10 @@ public class BoostControlledEffect extends ContinuousEffectImpl<BoostControlledE
this(power, toughness, duration, FilterCreaturePermanent.getDefault(), excludeSource);
}
public BoostControlledEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter) {
this(new StaticValue(power), new StaticValue(toughness), duration, filter, false);
}
public BoostControlledEffect(int power, int toughness, Duration duration, FilterCreaturePermanent filter, boolean excludeSource) {
this(new StaticValue(power), new StaticValue(toughness), duration, filter, excludeSource);
}