Some fixes to "Remove license headers" (#4998).

This commit is contained in:
LevelX2 2018-06-03 10:18:30 +02:00
parent c4212a0d9e
commit b17858d910
24 changed files with 219 additions and 272 deletions

2
.gitignore vendored
View file

@ -94,6 +94,8 @@ Mage.Verify/AllSets.json
releases releases
Utils/author.txt Utils/author.txt
Utils/*_tracker.txt
Utils/*implemented.txt
.DS_Store .DS_Store
.metadata .metadata
.project .project

View file

@ -1,5 +1,3 @@
/*
package mage.cards.a; package mage.cards.a;
import java.util.UUID; import java.util.UUID;

View file

@ -1,5 +1,3 @@
/*
package mage.cards.c; package mage.cards.c;
import java.util.UUID; import java.util.UUID;
@ -18,7 +16,7 @@ import mage.constants.SubType;
public final class Crocanura extends CardImpl { public final class Crocanura extends CardImpl {
public Crocanura(UUID ownerId, CardSetInfo setInfo) { public Crocanura(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.CROCODILE); this.subtype.add(SubType.CROCODILE);
this.subtype.add(SubType.FROG); this.subtype.add(SubType.FROG);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.c; package mage.cards.c;
import java.util.UUID; import java.util.UUID;
@ -27,7 +25,7 @@ import mage.game.permanent.Permanent;
public final class CryptGhast extends CardImpl { public final class CryptGhast extends CardImpl {
public CryptGhast(UUID ownerId, CardSetInfo setInfo) { public CryptGhast(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
this.subtype.add(SubType.SPIRIT); this.subtype.add(SubType.SPIRIT);
this.power = new MageInt(2); this.power = new MageInt(2);
@ -52,6 +50,7 @@ public final class CryptGhast extends CardImpl {
class CryptGhastTriggeredAbility extends TriggeredManaAbility { class CryptGhastTriggeredAbility extends TriggeredManaAbility {
private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Swamp"); private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Swamp");
static { static {
filter.add(new SubtypePredicate(SubType.SWAMP)); filter.add(new SubtypePredicate(SubType.SWAMP));
} }

View file

@ -1,5 +1,3 @@
/*
package mage.cards.d; package mage.cards.d;
import java.util.UUID; import java.util.UUID;

View file

@ -1,5 +1,3 @@
/*
package mage.cards.e; package mage.cards.e;
import java.util.UUID; import java.util.UUID;
@ -22,7 +20,7 @@ import mage.counters.CounterType;
public final class ExperimentOne extends CardImpl { public final class ExperimentOne extends CardImpl {
public ExperimentOne(UUID ownerId, CardSetInfo setInfo) { public ExperimentOne(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.OOZE); this.subtype.add(SubType.OOZE);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.f; package mage.cards.f;
import java.util.UUID; import java.util.UUID;
@ -24,7 +22,7 @@ import mage.game.events.GameEvent.EventType;
public final class FathomMage extends CardImpl { public final class FathomMage extends CardImpl {
public FathomMage(UUID ownerId, CardSetInfo setInfo) { public FathomMage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WIZARD); this.subtype.add(SubType.WIZARD);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.f; package mage.cards.f;
import java.util.UUID; import java.util.UUID;
@ -10,8 +8,8 @@ import mage.abilities.keyword.BattalionAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
/** /**
@ -21,11 +19,10 @@ import mage.target.common.TargetCreaturePermanent;
public final class FirefistStriker extends CardImpl { public final class FirefistStriker extends CardImpl {
public FirefistStriker(UUID ownerId, CardSetInfo setInfo) { public FirefistStriker(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER); this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.f; package mage.cards.f;
import java.util.UUID; import java.util.UUID;
@ -14,8 +12,8 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.target.common.TargetAnyTarget; import mage.target.common.TargetAnyTarget;
@ -27,11 +25,10 @@ import mage.target.common.TargetAnyTarget;
public final class FoundryChampion extends CardImpl { public final class FoundryChampion extends CardImpl {
public FoundryChampion(UUID ownerId, CardSetInfo setInfo) { public FoundryChampion(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{W}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{W}");
this.subtype.add(SubType.ELEMENTAL); this.subtype.add(SubType.ELEMENTAL);
this.subtype.add(SubType.SOLDIER); this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(4); this.power = new MageInt(4);
this.toughness = new MageInt(4); this.toughness = new MageInt(4);
@ -56,4 +53,3 @@ public final class FoundryChampion extends CardImpl {
return new FoundryChampion(this); return new FoundryChampion(this);
} }
} }

View file

@ -1,18 +1,16 @@
/*
package mage.cards.g; package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.keyword.EvolveAbility; import mage.abilities.keyword.EvolveAbility;
import mage.abilities.mana.DynamicManaAbility; import mage.abilities.mana.DynamicManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.counters.CounterType; import mage.counters.CounterType;
/** /**
* *
@ -21,7 +19,7 @@ import mage.constants.SubType;
public final class GyreSage extends CardImpl { public final class GyreSage extends CardImpl {
public GyreSage(UUID ownerId, CardSetInfo setInfo) { public GyreSage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
this.subtype.add(SubType.ELF); this.subtype.add(SubType.ELF);
this.subtype.add(SubType.DRUID); this.subtype.add(SubType.DRUID);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.h; package mage.cards.h;
import java.util.UUID; import java.util.UUID;
@ -14,8 +12,8 @@ import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.filter.StaticFilters; import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
@ -29,11 +27,10 @@ import mage.game.permanent.Permanent;
public final class HellraiserGoblin extends CardImpl { public final class HellraiserGoblin extends CardImpl {
public HellraiserGoblin(UUID ownerId, CardSetInfo setInfo) { public HellraiserGoblin(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.GOBLIN);
this.subtype.add(SubType.BERSERKER); this.subtype.add(SubType.BERSERKER);
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
@ -68,7 +65,6 @@ class AttacksIfAbleAllEffect extends RequirementEffect {
this.filter = filter; this.filter = filter;
} }
public AttacksIfAbleAllEffect(final AttacksIfAbleAllEffect effect) { public AttacksIfAbleAllEffect(final AttacksIfAbleAllEffect effect) {
super(effect); super(effect);
this.filter = effect.filter; this.filter = effect.filter;

View file

@ -1,5 +1,3 @@
/*
package mage.cards.h; package mage.cards.h;
import java.util.UUID; import java.util.UUID;
@ -23,11 +21,10 @@ import mage.target.common.TargetNonlandPermanent;
public final class HighPriestOfPenance extends CardImpl { public final class HighPriestOfPenance extends CardImpl {
public HighPriestOfPenance(UUID ownerId, CardSetInfo setInfo) { public HighPriestOfPenance(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.CLERIC); this.subtype.add(SubType.CLERIC);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
@ -47,7 +44,6 @@ public final class HighPriestOfPenance extends CardImpl {
class HighPriestOfPenanceTriggeredAbility extends TriggeredAbilityImpl { class HighPriestOfPenanceTriggeredAbility extends TriggeredAbilityImpl {
public HighPriestOfPenanceTriggeredAbility() { public HighPriestOfPenanceTriggeredAbility() {
super(Zone.BATTLEFIELD, new DestroyTargetEffect(), true); super(Zone.BATTLEFIELD, new DestroyTargetEffect(), true);
this.addTarget(new TargetNonlandPermanent()); this.addTarget(new TargetNonlandPermanent());

View file

@ -1,5 +1,3 @@
/*
package mage.cards.l; package mage.cards.l;
import java.util.UUID; import java.util.UUID;
@ -15,8 +13,8 @@ import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
@ -29,11 +27,10 @@ import mage.game.permanent.PermanentToken;
public final class LegionLoyalist extends CardImpl { public final class LegionLoyalist extends CardImpl {
public LegionLoyalist(UUID ownerId, CardSetInfo setInfo) { public LegionLoyalist(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}");
this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.GOBLIN);
this.subtype.add(SubType.SOLDIER); this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(1); this.power = new MageInt(1);
this.toughness = new MageInt(1); this.toughness = new MageInt(1);
@ -71,7 +68,7 @@ class CantBeBlockedByTokenEffect extends RestrictionEffect {
@Override @Override
public void init(Ability source, Game game) { public void init(Ability source, Game game) {
affectedObjectsSet = true; affectedObjectsSet = true;
for (Permanent perm: game.getBattlefield().getActivePermanents(new FilterControlledCreaturePermanent(), source.getControllerId(), source.getSourceId(), game)) { for (Permanent perm : game.getBattlefield().getActivePermanents(new FilterControlledCreaturePermanent(), source.getControllerId(), source.getSourceId(), game)) {
affectedObjectList.add(new MageObjectReference(perm, game)); affectedObjectList.add(new MageObjectReference(perm, game));
} }
} }
@ -97,4 +94,3 @@ class CantBeBlockedByTokenEffect extends RestrictionEffect {
return new CantBeBlockedByTokenEffect(this); return new CantBeBlockedByTokenEffect(this);
} }
} }

View file

@ -1,5 +1,3 @@
/*
package mage.cards.l; package mage.cards.l;
import java.util.UUID; import java.util.UUID;
@ -23,10 +21,9 @@ import mage.game.events.GameEvent.EventType;
public final class LeylinePhantom extends CardImpl { public final class LeylinePhantom extends CardImpl {
public LeylinePhantom(UUID ownerId, CardSetInfo setInfo) { public LeylinePhantom(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}");
this.subtype.add(SubType.ILLUSION); this.subtype.add(SubType.ILLUSION);
this.power = new MageInt(5); this.power = new MageInt(5);
this.toughness = new MageInt(5); this.toughness = new MageInt(5);
@ -44,7 +41,6 @@ public final class LeylinePhantom extends CardImpl {
} }
} }
class LeylinePhantomTriggeredAbility extends TriggeredAbilityImpl { class LeylinePhantomTriggeredAbility extends TriggeredAbilityImpl {
public LeylinePhantomTriggeredAbility() { public LeylinePhantomTriggeredAbility() {

View file

@ -1,5 +1,3 @@
/*
package mage.cards.l; package mage.cards.l;
import java.util.UUID; import java.util.UUID;
@ -14,8 +12,8 @@ import mage.cards.CardSetInfo;
import mage.cards.Cards; import mage.cards.Cards;
import mage.cards.CardsImpl; import mage.cards.CardsImpl;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreatureCard;
import mage.game.Game; import mage.game.Game;
@ -29,7 +27,7 @@ import mage.target.TargetCard;
public final class LordOfTheVoid extends CardImpl { public final class LordOfTheVoid extends CardImpl {
public LordOfTheVoid(UUID ownerId, CardSetInfo setInfo) { public LordOfTheVoid(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}{B}");
this.subtype.add(SubType.DEMON); this.subtype.add(SubType.DEMON);
this.power = new MageInt(7); this.power = new MageInt(7);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.o; package mage.cards.o;
import java.util.UUID; import java.util.UUID;

View file

@ -1,5 +1,3 @@
/*
package mage.cards.p; package mage.cards.p;
import java.util.UUID; import java.util.UUID;

View file

@ -1,5 +1,3 @@
/*
package mage.cards.s; package mage.cards.s;
import java.util.UUID; import java.util.UUID;
@ -11,8 +9,8 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.SoldierTokenWithHaste; import mage.game.permanent.token.SoldierTokenWithHaste;
@ -23,7 +21,7 @@ import mage.game.permanent.token.SoldierTokenWithHaste;
public final class SunhomeGuildmage extends CardImpl { public final class SunhomeGuildmage extends CardImpl {
public SunhomeGuildmage(UUID ownerId, CardSetInfo setInfo) { public SunhomeGuildmage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WIZARD); this.subtype.add(SubType.WIZARD);

View file

@ -1,5 +1,3 @@
/*
package mage.cards.t; package mage.cards.t;
import java.util.UUID; import java.util.UUID;
@ -13,8 +11,8 @@ import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
/** /**
@ -24,12 +22,11 @@ import mage.constants.Zone;
public final class TruefirePaladin extends CardImpl { public final class TruefirePaladin extends CardImpl {
public TruefirePaladin(UUID ownerId, CardSetInfo setInfo) { public TruefirePaladin(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.KNIGHT); this.subtype.add(SubType.KNIGHT);
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
@ -37,7 +34,7 @@ public final class TruefirePaladin extends CardImpl {
this.addAbility(VigilanceAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance());
// {R}{W}: Truefire Paladin gets +2/+0 until end of turn. // {R}{W}: Truefire Paladin gets +2/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,0, Duration.EndOfTurn), new ManaCostsImpl("{R}{W}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}{W}")));
// {R}{W}: Truefire Paladin gets first strike until end of turn. // {R}{W}: Truefire Paladin gets first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}{W}"))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}{W}")));

View file

@ -1,5 +1,3 @@
/*
package mage.cards.u; package mage.cards.u;
import java.util.UUID; import java.util.UUID;

View file

@ -1,5 +1,3 @@
/*
package mage.cards.u; package mage.cards.u;
import java.util.UUID; import java.util.UUID;
@ -17,7 +15,7 @@ import mage.constants.Duration;
public final class UrbanEvolution extends CardImpl { public final class UrbanEvolution extends CardImpl {
public UrbanEvolution(UUID ownerId, CardSetInfo setInfo) { public UrbanEvolution(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}{U}"); super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}{U}");
//Draw three cards. //Draw three cards.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3));

View file

@ -1,5 +1,3 @@
/*
package mage.cards.v; package mage.cards.v;
import java.util.UUID; import java.util.UUID;
@ -15,9 +13,9 @@ import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
@ -26,32 +24,32 @@ import mage.players.Player;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
/** /**
* Gatecrash FAQ (01.2013) * Gatecrash FAQ (01.2013) Multiple instances of lifelink are redundant. Giving
* Multiple instances of lifelink are redundant. Giving the same creature lifelink * the same creature lifelink more than once won't cause you to gain additional
* more than once won't cause you to gain additional life. * life.
* *
* Each time the second ability resolves, a delayed triggered ability is created. * Each time the second ability resolves, a delayed triggered ability is
* Whenever you gain life that turn, each of those abilities will trigger. For * created. Whenever you gain life that turn, each of those abilities will
* example, if you activate the second ability twice (and let those abilities resolve) * trigger. For example, if you activate the second ability twice (and let those
* and then you gain 2 life, each opponent will lose a total of 4 life. Each instance * abilities resolve) and then you gain 2 life, each opponent will lose a total
* will cause two abilities to trigger, each causing that player to lose 2 life. * of 4 life. Each instance will cause two abilities to trigger, each causing
* that player to lose 2 life.
* *
* @author LevelX2 * @author LevelX2
*/ */
public final class VizkopaGuildmage extends CardImpl { public final class VizkopaGuildmage extends CardImpl {
public VizkopaGuildmage(UUID ownerId, CardSetInfo setInfo) { public VizkopaGuildmage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}");
this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.WIZARD); this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2); this.power = new MageInt(2);
this.toughness = new MageInt(2); this.toughness = new MageInt(2);
// 1{W}{B}: Target creature gains lifelink until end of turn. // 1{W}{B}: Target creature gains lifelink until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn),new ManaCostsImpl("{1}{W}{B}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}{B}"));
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability); this.addAbility(ability);
@ -124,8 +122,8 @@ class OpponentsLoseLifeEffect extends OneShotEffect {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
Integer amountLifeGained = (Integer) this.getValue("amountLifeGained"); Integer amountLifeGained = (Integer) this.getValue("amountLifeGained");
if (amountLifeGained != null ) { if (amountLifeGained != null) {
for (UUID opponentId: game.getOpponents(source.getControllerId())) { for (UUID opponentId : game.getOpponents(source.getControllerId())) {
Player opponent = game.getPlayer(opponentId); Player opponent = game.getPlayer(opponentId);
if (opponent != null) { if (opponent != null) {
opponent.loseLife(amountLifeGained, game, false); opponent.loseLife(amountLifeGained, game, false);

View file

@ -1,5 +1,3 @@
/*
package org.mage.test.cards.abilities.enters; package org.mage.test.cards.abilities.enters;
import mage.constants.PhaseStep; import mage.constants.PhaseStep;
@ -17,8 +15,7 @@ public class ValakutTheMoltenPinnacleTest extends CardTestPlayerBase {
* Valakut, the Molten Pinnacle Land Valakut, the Molten Pinnacle enters the * Valakut, the Molten Pinnacle Land Valakut, the Molten Pinnacle enters the
* battlefield tapped. Whenever a Mountain enters the battlefield under your * battlefield tapped. Whenever a Mountain enters the battlefield under your
* control, if you control at least five other Mountains, you may have * control, if you control at least five other Mountains, you may have
* Valakut, the Molten Pinnacle deal 3 damage to any target. * Valakut, the Molten Pinnacle deal 3 damage to any target. {T}: Add {R}.
* {T}: Add {R}.
*/ */
@Test @Test
public void onlyFourMountainsNoDamage() { public void onlyFourMountainsNoDamage() {

View file

@ -1,19 +1,20 @@
/*
package mage.abilities.costs; package mage.abilities.costs;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.game.Game; import mage.game.Game;
/** /**
* Interface for abilities that adjust source and only source costs. * Interface for abilities that adjust source and only source costs. For the
* For the cases when some permanent adjusts costs of other spells use {@link mage.abilities.effects.CostModificationEffect}. * cases when some permanent adjusts costs of other spells use
* {@link mage.abilities.effects.CostModificationEffect}.
* *
* Example of such source costs adjusting: {@link mage.abilities.keyword.AffinityForArtifactsAbility} * Example of such source costs adjusting:
* {@link mage.abilities.keyword.AffinityForArtifactsAbility}
* *
* @author nantuko * @author nantuko
*/ */
@FunctionalInterface @FunctionalInterface
public interface AdjustingSourceCosts { public interface AdjustingSourceCosts {
void adjustCosts(Ability ability, Game game); void adjustCosts(Ability ability, Game game);
} }