mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
Some fixes to "Remove license headers" (#4998).
This commit is contained in:
parent
c4212a0d9e
commit
b17858d910
24 changed files with 219 additions and 272 deletions
296
.gitignore
vendored
296
.gitignore
vendored
|
@ -1,147 +1,149 @@
|
||||||
syntax: glob
|
syntax: glob
|
||||||
|
|
||||||
# Mage.Client
|
# Mage.Client
|
||||||
Mage.Client/*.dck
|
Mage.Client/*.dck
|
||||||
Mage.Client/db
|
Mage.Client/db
|
||||||
Mage.Client/gamelogs
|
Mage.Client/gamelogs
|
||||||
Mage.Client/gamelogsJson
|
Mage.Client/gamelogsJson
|
||||||
Mage.Client/*.log
|
Mage.Client/*.log
|
||||||
Mage.Client/plugins/images
|
Mage.Client/plugins/images
|
||||||
Mage.Client/plugins/plugin.data
|
Mage.Client/plugins/plugin.data
|
||||||
Mage.Client/target
|
Mage.Client/target
|
||||||
Mage.Common/target
|
Mage.Common/target
|
||||||
/db
|
/db
|
||||||
/gamelogs
|
/gamelogs
|
||||||
/mageclient.log
|
/mageclient.log
|
||||||
|
|
||||||
# Mage.Plugins
|
# Mage.Plugins
|
||||||
Mage.Plugins/Mage.Card.Plugin/target
|
Mage.Plugins/Mage.Card.Plugin/target
|
||||||
Mage.Plugins/Mage.Counter.Plugin/target
|
Mage.Plugins/Mage.Counter.Plugin/target
|
||||||
Mage.Plugins/Mage.Theme.Plugin/target
|
Mage.Plugins/Mage.Theme.Plugin/target
|
||||||
Mage.Plugins/Mage.Rating.Plugin/target
|
Mage.Plugins/Mage.Rating.Plugin/target
|
||||||
|
|
||||||
# Mage.Server
|
# Mage.Server
|
||||||
Mage.Server/config/init.txt
|
Mage.Server/config/init.txt
|
||||||
Mage.Server/saved
|
Mage.Server/saved
|
||||||
Mage.Server/target
|
Mage.Server/target
|
||||||
Mage.Server/db
|
Mage.Server/db
|
||||||
Mage.Server/cache
|
Mage.Server/cache
|
||||||
Mage.Server/mageserver.log
|
Mage.Server/mageserver.log
|
||||||
Mage.Server/magediag.log
|
Mage.Server/magediag.log
|
||||||
Mage.Server/extensions
|
Mage.Server/extensions
|
||||||
/saved
|
/saved
|
||||||
/db
|
/db
|
||||||
/cache
|
/cache
|
||||||
/mageserver.log
|
/mageserver.log
|
||||||
/magediag.log
|
/magediag.log
|
||||||
/extensions
|
/extensions
|
||||||
|
|
||||||
Mage.Server.Console/target/
|
Mage.Server.Console/target/
|
||||||
Mage.Server.Console/mageadmin.log
|
Mage.Server.Console/mageadmin.log
|
||||||
Mage.Server.Plugins/Mage.Deck.Constructed/target
|
Mage.Server.Plugins/Mage.Deck.Constructed/target
|
||||||
Mage.Server.Plugins/Mage.Deck.Limited/target
|
Mage.Server.Plugins/Mage.Deck.Limited/target
|
||||||
Mage.Server.Plugins/Mage.Game.BrawlDuel/target/
|
Mage.Server.Plugins/Mage.Game.BrawlDuel/target/
|
||||||
Mage.Server.Plugins/Mage.Game.BrawlFreeForAll/target/
|
Mage.Server.Plugins/Mage.Game.BrawlFreeForAll/target/
|
||||||
Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target
|
Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/target
|
||||||
Mage.Server.Plugins/Mage.Game.CommanderDuel/target
|
Mage.Server.Plugins/Mage.Game.CommanderDuel/target
|
||||||
Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/target/
|
Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/target/
|
||||||
Mage.Server.Plugins/Mage.Game.FreeForAll/target
|
Mage.Server.Plugins/Mage.Game.FreeForAll/target
|
||||||
Mage.Server.Plugins/Mage.Game.MomirDuel/target
|
Mage.Server.Plugins/Mage.Game.MomirDuel/target
|
||||||
Mage.Server.Plugins/Mage.Game.MomirGame/target/
|
Mage.Server.Plugins/Mage.Game.MomirGame/target/
|
||||||
Mage.Server.Plugins/Mage.Game.PennyDreadfulCommanderFreeForAll/target
|
Mage.Server.Plugins/Mage.Game.PennyDreadfulCommanderFreeForAll/target
|
||||||
Mage.Server.Plugins/Mage.Game.FreeformCommanderFreeForAll/target/
|
Mage.Server.Plugins/Mage.Game.FreeformCommanderFreeForAll/target/
|
||||||
Mage.Server.Plugins/Mage.Game.TinyLeadersDuel/target
|
Mage.Server.Plugins/Mage.Game.TinyLeadersDuel/target
|
||||||
Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/target
|
Mage.Server.Plugins/Mage.Game.TwoPlayerDuel/target
|
||||||
Mage.Server.Plugins/Mage.Player.AI.DraftBot/target
|
Mage.Server.Plugins/Mage.Player.AI.DraftBot/target
|
||||||
Mage.Server.Plugins/Mage.Player.AI.MA/target
|
Mage.Server.Plugins/Mage.Player.AI.MA/target
|
||||||
Mage.Server.Plugins/Mage.Player.AI/target
|
Mage.Server.Plugins/Mage.Player.AI/target
|
||||||
Mage.Server.Plugins/Mage.Player.AIMCTS/target
|
Mage.Server.Plugins/Mage.Player.AIMCTS/target
|
||||||
Mage.Server.Plugins/Mage.Player.AIMinimax/target
|
Mage.Server.Plugins/Mage.Player.AIMinimax/target
|
||||||
Mage.Server.Plugins/Mage.Player.Human/target
|
Mage.Server.Plugins/Mage.Player.Human/target
|
||||||
Mage.Server.Plugins/Mage.Tournament.BoosterDraft/target
|
Mage.Server.Plugins/Mage.Tournament.BoosterDraft/target
|
||||||
Mage.Server.Plugins/Mage.Tournament.Constructed/target
|
Mage.Server.Plugins/Mage.Tournament.Constructed/target
|
||||||
Mage.Server.Plugins/Mage.Tournament.Sealed/target
|
Mage.Server.Plugins/Mage.Tournament.Sealed/target
|
||||||
|
|
||||||
# Mage.Sets
|
# Mage.Sets
|
||||||
Mage.Sets/target
|
Mage.Sets/target
|
||||||
|
|
||||||
# Mage.Stats
|
# Mage.Stats
|
||||||
Mage.Stats/server.log
|
Mage.Stats/server.log
|
||||||
Mage.Stats/mageserver.log
|
Mage.Stats/mageserver.log
|
||||||
Mage.Stats/magediag.log
|
Mage.Stats/magediag.log
|
||||||
|
|
||||||
# Mage.Tests
|
# Mage.Tests
|
||||||
Mage.Tests/target
|
Mage.Tests/target
|
||||||
Mage.Tests/cache
|
Mage.Tests/cache
|
||||||
Mage.Tests/db
|
Mage.Tests/db
|
||||||
Mage.Tests/Mage.log
|
Mage.Tests/Mage.log
|
||||||
Mage.Tests/watchdog.log
|
Mage.Tests/watchdog.log
|
||||||
|
|
||||||
# Mage
|
# Mage
|
||||||
Mage/target
|
Mage/target
|
||||||
|
|
||||||
# Mage.Updater
|
# Mage.Updater
|
||||||
Mage.Updater/target
|
Mage.Updater/target
|
||||||
mage.updater.client/target
|
mage.updater.client/target
|
||||||
|
|
||||||
# Mage.Verify
|
# Mage.Verify
|
||||||
Mage.Verify/target
|
Mage.Verify/target
|
||||||
Mage.Verify/mageclient.log
|
Mage.Verify/mageclient.log
|
||||||
Mage.Verify/AllCards.json.zip
|
Mage.Verify/AllCards.json.zip
|
||||||
Mage.Verify/AllSets.json.zip
|
Mage.Verify/AllSets.json.zip
|
||||||
Mage.Verify/AllCards.json
|
Mage.Verify/AllCards.json
|
||||||
Mage.Verify/AllSets.json
|
Mage.Verify/AllSets.json
|
||||||
|
|
||||||
releases
|
releases
|
||||||
Utils/author.txt
|
Utils/author.txt
|
||||||
.DS_Store
|
Utils/*_tracker.txt
|
||||||
.metadata
|
Utils/*implemented.txt
|
||||||
.project
|
.DS_Store
|
||||||
.settings
|
.metadata
|
||||||
.idea
|
.project
|
||||||
syntax: regexp
|
.settings
|
||||||
\.class
|
.idea
|
||||||
\.jar
|
syntax: regexp
|
||||||
\.iml
|
\.class
|
||||||
\.ipr
|
\.jar
|
||||||
\.iws
|
\.iml
|
||||||
\.log
|
\.ipr
|
||||||
nbactions.xml
|
\.iws
|
||||||
nbactions-*.xml
|
\.log
|
||||||
nb-configuration.xml
|
nbactions.xml
|
||||||
glob:Mage.Client/cheat.dck
|
nbactions-*.xml
|
||||||
glob:Mage.Client/test.dck
|
nb-configuration.xml
|
||||||
mage-bundle.zip
|
glob:Mage.Client/cheat.dck
|
||||||
mage-stats-ws.war
|
glob:Mage.Client/test.dck
|
||||||
|
mage-bundle.zip
|
||||||
Mage.Server.Plugins/Mage.Draft.8PlayerBooster/target
|
mage-stats-ws.war
|
||||||
\.orig\..*$
|
|
||||||
\.orig$
|
Mage.Server.Plugins/Mage.Draft.8PlayerBooster/target
|
||||||
\.chg\..*$
|
\.orig\..*$
|
||||||
\.rej$
|
\.orig$
|
||||||
\.conflict\~$
|
\.chg\..*$
|
||||||
/Mage.Server.Plugins/Mage.Player.AIMCTS/target/
|
\.rej$
|
||||||
|
\.conflict\~$
|
||||||
*.classpath
|
/Mage.Server.Plugins/Mage.Player.AIMCTS/target/
|
||||||
*.iml
|
|
||||||
hs_err*.log
|
*.classpath
|
||||||
/submitted
|
*.iml
|
||||||
|
hs_err*.log
|
||||||
/Mage.Server/config/ai.please.cast.this.txt
|
/submitted
|
||||||
/Mage.Stats/target/
|
|
||||||
/Utils/*_unimplemented.txt
|
/Mage.Server/config/ai.please.cast.this.txt
|
||||||
*.netbeans_automatic_build
|
/Mage.Stats/target/
|
||||||
Mage.Client/serverlist.txt
|
/Utils/*_unimplemented.txt
|
||||||
/bin/
|
*.netbeans_automatic_build
|
||||||
/out/
|
Mage.Client/serverlist.txt
|
||||||
/target/
|
/bin/
|
||||||
|
/out/
|
||||||
client_secrets.json
|
/target/
|
||||||
|
|
||||||
dependency-reduced-pom.xml
|
client_secrets.json
|
||||||
mage-bundle
|
|
||||||
/Mage.Client/game-*.json
|
dependency-reduced-pom.xml
|
||||||
|
mage-bundle
|
||||||
# build-tools config and log files when building client/server with Atom
|
/Mage.Client/game-*.json
|
||||||
.build-tools.cson
|
|
||||||
build-output.log
|
# build-tools config and log files when building client/server with Atom
|
||||||
|
.build-tools.cson
|
||||||
|
build-output.log
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
/*
|
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
@ -27,11 +25,11 @@ public final class Crocanura extends CardImpl {
|
||||||
|
|
||||||
//Reach
|
//Reach
|
||||||
this.addAbility(ReachAbility.getInstance());
|
this.addAbility(ReachAbility.getInstance());
|
||||||
|
|
||||||
// Evolve (Whenever a creature enters the battlefield under your control, if that creature
|
// Evolve (Whenever a creature enters the battlefield under your control, if that creature
|
||||||
// has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
// has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
||||||
this.addAbility(new EvolveAbility());
|
this.addAbility(new EvolveAbility());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Crocanura(final Crocanura card) {
|
public Crocanura(final Crocanura card) {
|
||||||
|
|
|
@ -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);
|
||||||
|
@ -50,10 +48,11 @@ 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));
|
||||||
}
|
}
|
||||||
|
|
||||||
public CryptGhastTriggeredAbility() {
|
public CryptGhastTriggeredAbility() {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
/*
|
|
||||||
|
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
@ -32,7 +30,7 @@ public final class ExperimentOne extends CardImpl {
|
||||||
// Evolve (Whenever a creature enters the battlefield under your control, if that creature
|
// Evolve (Whenever a creature enters the battlefield under your control, if that creature
|
||||||
// has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
// has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
||||||
this.addAbility(new EvolveAbility());
|
this.addAbility(new EvolveAbility());
|
||||||
|
|
||||||
//Remove two +1/+1 counters from Experiment One: Regenerate Experiment One.
|
//Remove two +1/+1 counters from Experiment One: Regenerate Experiment One.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
@ -39,10 +36,10 @@ public final class FoundryChampion extends CardImpl {
|
||||||
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent()), "it"));
|
Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent()), "it"));
|
||||||
ability.addTarget(new TargetAnyTarget());
|
ability.addTarget(new TargetAnyTarget());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
//{R}: Foundry Champion gets +1/+0 until end of turn.
|
//{R}: Foundry Champion gets +1/+0 until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
|
||||||
|
|
||||||
//{W}: Foundry Champion gets +0/+1 until end of turn.
|
//{W}: Foundry Champion gets +0/+1 until end of turn.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}")));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}")));
|
||||||
}
|
}
|
||||||
|
@ -56,4 +53,3 @@ public final class FoundryChampion extends CardImpl {
|
||||||
return new FoundryChampion(this);
|
return new FoundryChampion(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
@ -31,7 +29,7 @@ public final class GyreSage extends CardImpl {
|
||||||
// Evolve (Whenever a creature enters the battlefield under your control, if that creature
|
// Evolve (Whenever a creature enters the battlefield under your control, if that creature
|
||||||
// has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
// has greater power or toughness than this creature, put a +1/+1 counter on this creature.)
|
||||||
this.addAbility(new EvolveAbility());
|
this.addAbility(new EvolveAbility());
|
||||||
|
|
||||||
//{T} : Add {G} for each +1/+1 counter on Gyre Sage.
|
//{T} : Add {G} for each +1/+1 counter on Gyre Sage.
|
||||||
this.addAbility(new DynamicManaAbility(Mana.GreenMana(1), new CountersSourceCount(CounterType.P1P1)));
|
this.addAbility(new DynamicManaAbility(Mana.GreenMana(1), new CountersSourceCount(CounterType.P1P1)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
@ -102,4 +98,4 @@ class AttacksIfAbleAllEffect extends RequirementEffect {
|
||||||
return filter.getMessage() + " attack each combat if able";
|
return filter.getMessage() + " attack each combat if able";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
||||||
|
|
|
@ -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,17 +27,16 @@ 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);
|
||||||
|
|
||||||
//Haste
|
//Haste
|
||||||
this.addAbility(HasteAbility.getInstance());
|
this.addAbility(HasteAbility.getInstance());
|
||||||
//Battalion - Whenever Legion Loyalist and at least two other creatures attack,
|
//Battalion - Whenever Legion Loyalist and at least two other creatures attack,
|
||||||
//creatures you control gain first strike and trample until end of turn and can't be blocked by tokens this turn.
|
//creatures you control gain first strike and trample until end of turn and can't be blocked by tokens this turn.
|
||||||
Ability ability = new BattalionAbility(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()));
|
Ability ability = new BattalionAbility(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()));
|
||||||
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()));
|
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()));
|
||||||
|
@ -67,11 +64,11 @@ class CantBeBlockedByTokenEffect extends RestrictionEffect {
|
||||||
public CantBeBlockedByTokenEffect(final CantBeBlockedByTokenEffect effect) {
|
public CantBeBlockedByTokenEffect(final CantBeBlockedByTokenEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
@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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
/*
|
|
||||||
|
|
||||||
package mage.cards.o;
|
package mage.cards.o;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
/*
|
|
||||||
|
|
||||||
package mage.cards.p;
|
package mage.cards.p;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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}")));
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
/*
|
|
||||||
|
|
||||||
package mage.cards.u;
|
package mage.cards.u;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
/*
|
|
||||||
|
|
||||||
package mage.cards.u;
|
package mage.cards.u;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -17,11 +15,11 @@ 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));
|
||||||
|
|
||||||
//You may play an additional land this turn.
|
//You may play an additional land this turn.
|
||||||
this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn));
|
||||||
}
|
}
|
||||||
|
@ -34,4 +32,4 @@ public final class UrbanEvolution extends CardImpl {
|
||||||
public UrbanEvolution copy() {
|
public UrbanEvolution copy() {
|
||||||
return new UrbanEvolution(this);
|
return new UrbanEvolution(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue