New implementation for LevelUpAbility. All tests ok.

This commit is contained in:
magenoxx 2012-05-02 20:20:01 +04:00
parent c2ea8246d2
commit f39d5dbca1
26 changed files with 433 additions and 322 deletions

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -35,14 +34,16 @@ import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class BeastbreakerOfBalaGed extends LevelerCard<BeastbreakerOfBalaGed> {
@ -58,11 +59,13 @@ public class BeastbreakerOfBalaGed extends LevelerCard<BeastbreakerOfBalaGed> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}{G}")));
this.getLevels().add(new LevelAbility(1, 3, new AbilitiesImpl<Ability>(), 4, 4));
Abilities<Ability> levelAbilities = new AbilitiesImpl<Ability>();
levelAbilities.add(TrampleAbility.getInstance());
this.getLevels().add(new LevelAbility(4, -1, levelAbilities, 6, 6));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 3, new AbilitiesImpl<Ability>(), 4, 4),
new LevelerCardBuilder.LevelAbility(4, -1, levelAbilities, 6, 6)
);
}
public BeastbreakerOfBalaGed(final BeastbreakerOfBalaGed card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
@ -40,14 +39,16 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.target.common.TargetCreatureOrPlayer;
import java.util.UUID;
/**
*
* @author Loki
* @author Loki, noxx
*/
public class BrimstoneMage extends LevelerCard<BrimstoneMage> {
@ -65,14 +66,16 @@ public class BrimstoneMage extends LevelerCard<BrimstoneMage> {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
abilities1.add(ability);
this.getLevels().add(new LevelAbility(1, 2, abilities1, 2, 3));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new TapSourceCost());
ability.addTarget(new TargetCreatureOrPlayer());
abilities2.add(ability);
this.getLevels().add(new LevelAbility(3, -1, abilities2, 2, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 2, abilities1, 2, 3),
new LevelerCardBuilder.LevelAbility(3, -1, abilities2, 2, 4)
);
}
public BrimstoneMage (final BrimstoneMage card) {

View file

@ -27,19 +27,19 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.LevelUpAbility;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author North
@ -58,11 +58,13 @@ public class CaravanEscort extends LevelerCard<CaravanEscort> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}")));
this.getLevels().add(new LevelAbility(1, 4, new AbilitiesImpl<Ability>(), 2, 2));
AbilitiesImpl<Ability> levelAbilities = new AbilitiesImpl<Ability>(FirstStrikeAbility.getInstance());
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 4, new AbilitiesImpl<Ability>(), 2, 2),
new LevelerCardBuilder.LevelAbility(5, -1, levelAbilities, 5, 5)
);
Abilities<Ability> levelAbilities = new AbilitiesImpl<Ability>();
levelAbilities.add(FirstStrikeAbility.getInstance());
this.getLevels().add(new LevelAbility(5, -1, levelAbilities, 5, 5));
setMaxLevelCounters(5);
}
public CaravanEscort(final CaravanEscort card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Duration;
import mage.Constants.Rarity;
@ -40,11 +39,13 @@ import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continious.BoostControlledEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.filter.common.FilterCreaturePermanent;
import java.util.UUID;
/**
*
* @author North
@ -71,12 +72,15 @@ public class CoralhelmCommander extends LevelerCard<CoralhelmCommander> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(FlyingAbility.getInstance());
this.getLevels().add(new LevelAbility(2, 3, abilities1, 3, 3));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(FlyingAbility.getInstance());
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
this.getLevels().add(new LevelAbility(4, -1, abilities2, 4, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(2, 3, abilities1, 3, 3),
new LevelerCardBuilder.LevelAbility(4, -1, abilities2, 4, 4)
);
}
public CoralhelmCommander(final CoralhelmCommander card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
@ -41,13 +40,15 @@ import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DrawCardControllerEffect;
import mage.abilities.effects.common.DrawDiscardControllerEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.LevelUpAbility;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author BetaSteward_at_googlemail.com
* @author BetaSteward_at_googlemail.com, noxx
*/
public class EnclaveCryptologist extends LevelerCard<EnclaveCryptologist> {
@ -61,16 +62,17 @@ public class EnclaveCryptologist extends LevelerCard<EnclaveCryptologist> {
this.toughness = new MageInt(1);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{U}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost());
abilities1.add(ability);
this.getLevels().add(new LevelAbility(1, 2, abilities1, 0, 1));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>(ability);
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(1), new TapSourceCost());
abilities2.add(ability);
this.getLevels().add(new LevelAbility(3, -1, abilities2, 0, 1));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>(ability);
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 2, abilities1, 0, 1),
new LevelerCardBuilder.LevelAbility(3, -1, abilities2, 0, 1)
);
}
public EnclaveCryptologist (final EnclaveCryptologist card) {

View file

@ -28,8 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants;
import mage.Constants.CardType;
import mage.Constants.Rarity;
@ -41,14 +39,16 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continious.BoostTargetEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author Loki
* @author Loki, noxx
*/
public class GuulDrazAssassin extends LevelerCard<GuulDrazAssassin> {
@ -62,18 +62,23 @@ public class GuulDrazAssassin extends LevelerCard<GuulDrazAssassin> {
this.toughness = new MageInt(1);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{1}{B}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Constants.Duration.EndOfTurn), new ManaCostsImpl("{B}"));
ability.addTarget(new TargetCreaturePermanent());
ability.addCost(new TapSourceCost());
abilities1.add(ability);
this.getLevels().add(new LevelAbility(2, 3, abilities1, 2, 2));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
Ability ability2 = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostTargetEffect(-4, -4, Constants.Duration.EndOfTurn), new ManaCostsImpl("{B}"));
ability2.addTarget(new TargetCreaturePermanent());
ability2.addCost(new TapSourceCost());
abilities2.add(ability2);
this.getLevels().add(new LevelAbility(4, -1, abilities2, 4, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(2, 3, abilities1, 2, 2),
new LevelerCardBuilder.LevelAbility(4, -1, abilities2, 4, 4)
);
}
public GuulDrazAssassin (final GuulDrazAssassin card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -35,15 +34,17 @@ import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.ShroudAbility;
import mage.abilities.keyword.UnblockableAbility;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class HadaSpyPatrol extends LevelerCard<HadaSpyPatrol> {
@ -61,12 +62,15 @@ public class HadaSpyPatrol extends LevelerCard<HadaSpyPatrol> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(UnblockableAbility.getInstance());
this.getLevels().add(new LevelAbility(1, 2, abilities1, 2, 2));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(UnblockableAbility.getInstance());
abilities2.add(ShroudAbility.getInstance());
this.getLevels().add(new LevelAbility(3, -1, abilities2, 3, 3));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 2, abilities1, 2, 2),
new LevelerCardBuilder.LevelAbility(3, -1, abilities2, 3, 3)
);
}
public HadaSpyPatrol(final HadaSpyPatrol card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -36,13 +35,15 @@ import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.IslandwalkAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class HalimarWavewatch extends LevelerCard<HalimarWavewatch> {
@ -58,11 +59,13 @@ public class HalimarWavewatch extends LevelerCard<HalimarWavewatch> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{2}")));
this.getLevels().add(new LevelAbility(1, 4, new AbilitiesImpl<Ability>(), 0, 6));
Abilities<Ability> levelAbilities = new AbilitiesImpl<Ability>();
levelAbilities.add(new IslandwalkAbility());
this.getLevels().add(new LevelAbility(5, -1, levelAbilities, 6, 6));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 4, new AbilitiesImpl<Ability>(), 0, 6),
new LevelerCardBuilder.LevelAbility(5, -1, levelAbilities, 6, 6)
);
}
public HalimarWavewatch(final HalimarWavewatch card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -36,15 +35,16 @@ import mage.abilities.Abilities;
import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author Loki
* @author Loki, noxx
*/
public class IkiralOutrider extends LevelerCard<IkiralOutrider> {
@ -58,12 +58,17 @@ public class IkiralOutrider extends LevelerCard<IkiralOutrider> {
this.toughness = new MageInt(2);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{4}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(VigilanceAbility.getInstance());
this.getLevels().add(new LevelAbility(1, 3, abilities1, 2, 6));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(VigilanceAbility.getInstance());
this.getLevels().add(new LevelAbility(4, -1, abilities2, 3, 10));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 3, abilities1, 2, 6),
new LevelerCardBuilder.LevelAbility(4, -1, abilities2, 3, 10)
);
}
public IkiralOutrider (final IkiralOutrider card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Duration;
import mage.Constants.Rarity;
@ -42,17 +41,19 @@ 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.GainAbilityControlledEffect;
import mage.abilities.effects.common.BasicManaEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.effects.common.continious.GainAbilityControlledEffect;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.mana.SimpleManaAbility;
import mage.cards.LevelerCard;
import mage.filter.common.FilterCreaturePermanent;
import java.util.UUID;
/**
*
* @author BetaSteward_at_googlemail.com
* @author BetaSteward_at_googlemail.com, noxx
*/
public class JoragaTreespeaker extends LevelerCard<JoragaTreespeaker> {
@ -76,15 +77,18 @@ public class JoragaTreespeaker extends LevelerCard<JoragaTreespeaker> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.GreenMana(2)), new TapSourceCost()));
this.getLevels().add(new LevelAbility(1, 4, abilities1, 1, 2));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityControlledEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BasicManaEffect(Mana.GreenMana(2)),
new TapSourceCost()),
Duration.WhileOnBattlefield, filter)));
this.getLevels().add(new LevelAbility(5, -1, abilities2, 1, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 4, abilities1, 1, 2),
new LevelerCardBuilder.LevelAbility(5, -1, abilities2, 1, 4)
);
}
public JoragaTreespeaker(final JoragaTreespeaker card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Duration;
import mage.Constants.Rarity;
@ -39,14 +38,16 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continious.BoostControlledEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.filter.common.FilterCreaturePermanent;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class KabiraVindicator extends LevelerCard<KabiraVindicator> {
@ -64,11 +65,14 @@ public class KabiraVindicator extends LevelerCard<KabiraVindicator> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true)));
this.getLevels().add(new LevelAbility(2, 4, abilities1, 3, 6));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 2, Duration.WhileOnBattlefield, new FilterCreaturePermanent(), true)));
this.getLevels().add(new LevelAbility(5, -1, abilities2, 4, 8));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(2, 4, abilities1, 3, 6),
new LevelerCardBuilder.LevelAbility(5, -1, abilities2, 4, 8)
);
}
public KabiraVindicator(final KabiraVindicator card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Duration;
import mage.Constants.Rarity;
@ -41,14 +40,16 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.continious.BoostSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author BetaSteward_at_googlemail.com
* @author BetaSteward_at_googlemail.com, noxx
*/
public class KarganDragonlord extends LevelerCard<KarganDragonlord> {
@ -62,14 +63,19 @@ public class KarganDragonlord extends LevelerCard<KarganDragonlord> {
this.toughness = new MageInt(2);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{R}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(FlyingAbility.getInstance());
this.getLevels().add(new LevelAbility(4, 7, abilities1, 4, 4));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(FlyingAbility.getInstance());
abilities2.add(TrampleAbility.getInstance());
abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
this.getLevels().add(new LevelAbility(8, -1, abilities2, 8, 8));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(4, 7, abilities1, 4, 4),
new LevelerCardBuilder.LevelAbility(8, -1, abilities2, 8, 8)
);
}
public KarganDragonlord(final KarganDragonlord card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
@ -39,14 +38,15 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.game.permanent.token.ElephantToken;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class KazanduTuskcaller extends LevelerCard<KazanduTuskcaller> {
@ -66,13 +66,16 @@ public class KazanduTuskcaller extends LevelerCard<KazanduTuskcaller> {
abilities1.add(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new ElephantToken()),
new TapSourceCost()));
this.getLevels().add(new LevelAbility(2, 5, abilities1, 1, 1));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new ElephantToken(), 2),
new TapSourceCost()));
this.getLevels().add(new LevelAbility(6, -1, abilities2, 1, 1));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(2, 5, abilities1, 1, 1),
new LevelerCardBuilder.LevelAbility(6, -1, abilities2, 1, 1)
);
}
public KazanduTuskcaller(final KazanduTuskcaller card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -36,14 +35,16 @@ import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class KnightOfCliffhaven extends LevelerCard<KnightOfCliffhaven> {
@ -61,12 +62,15 @@ public class KnightOfCliffhaven extends LevelerCard<KnightOfCliffhaven> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(FlyingAbility.getInstance());
this.getLevels().add(new LevelAbility(1, 3, abilities1, 2, 3));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(FlyingAbility.getInstance());
abilities2.add(VigilanceAbility.getInstance());
this.getLevels().add(new LevelAbility(4, -1, abilities2, 4, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 3, abilities1, 2, 3),
new LevelerCardBuilder.LevelAbility(4, -1, abilities2, 4, 4)
);
}
public KnightOfCliffhaven(final KnightOfCliffhaven card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants;
import mage.Constants.CardType;
import mage.Constants.Outcome;
@ -40,16 +39,18 @@ import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.turn.TurnMod;
import java.util.UUID;
/**
*
* @author BetaSteward_at_googlemail.com
* @author BetaSteward_at_googlemail.com, noxx
*/
public class LighthouseChronologist extends LevelerCard<LighthouseChronologist> {
@ -63,13 +64,16 @@ public class LighthouseChronologist extends LevelerCard<LighthouseChronologist>
this.toughness = new MageInt(3);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{U}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
this.getLevels().add(new LevelAbility(4, 6, abilities1, 2, 4));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new LighthouseChronologistAbility());
this.getLevels().add(new LevelAbility(7, -1, abilities2, 3, 5));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(4, 6, abilities1, 2, 4),
new LevelerCardBuilder.LevelAbility(7, -1, abilities2, 3, 5)
);
}
public LighthouseChronologist (final LighthouseChronologist card) {

View file

@ -28,8 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -39,13 +37,15 @@ import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author Loki
* @author Loki, noxx
*/
public class NirkanaCutthroat extends LevelerCard<NirkanaCutthroat> {
@ -61,12 +61,15 @@ public class NirkanaCutthroat extends LevelerCard<NirkanaCutthroat> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(DeathtouchAbility.getInstance());
this.getLevels().add(new LevelAbility(1, 2, abilities1, 4, 3));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(FirstStrikeAbility.getInstance());
abilities2.add(DeathtouchAbility.getInstance());
this.getLevels().add(new LevelAbility(3, -1, abilities2, 5, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 2, abilities1, 4, 3),
new LevelerCardBuilder.LevelAbility(3, -1, abilities2, 5, 4)
);
}
public NirkanaCutthroat (final NirkanaCutthroat card) {

View file

@ -28,8 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants;
import mage.Constants.CardType;
import mage.Constants.Rarity;
@ -40,15 +38,15 @@ import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.RegenerateSourceEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author Loki
* @author Loki, noxx
*/
public class NullChampion extends LevelerCard<NullChampion> {
@ -63,11 +61,14 @@ public class NullChampion extends LevelerCard<NullChampion> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
this.getLevels().add(new LevelAbility(1, 3, abilities1, 4, 2));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
this.getLevels().add(new LevelAbility(4, -1, abilities2, 7, 3));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 3, abilities1, 4, 2),
new LevelerCardBuilder.LevelAbility(4, -1, abilities2, 7, 3)
);
}
public NullChampion (final NullChampion card) {

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -36,13 +35,15 @@ import mage.abilities.AbilitiesImpl;
import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class SkywatcherAdept extends LevelerCard<SkywatcherAdept> {
@ -60,11 +61,14 @@ public class SkywatcherAdept extends LevelerCard<SkywatcherAdept> {
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(FlyingAbility.getInstance());
this.getLevels().add(new LevelAbility(1, 2, abilities1, 2, 2));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(FlyingAbility.getInstance());
this.getLevels().add(new LevelAbility(3, -1, abilities2, 4, 2));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 2, abilities1, 2, 2),
new LevelerCardBuilder.LevelAbility(3, -1, abilities2, 4, 2)
);
}
public SkywatcherAdept(final SkywatcherAdept card) {

View file

@ -28,7 +28,6 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.MageInt;
@ -38,13 +37,15 @@ import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import java.util.UUID;
/**
*
* @author Loki
* @author Loki, noxx
*/
public class StudentOfWarfare extends LevelerCard<StudentOfWarfare> {
@ -60,10 +61,14 @@ public class StudentOfWarfare extends LevelerCard<StudentOfWarfare> {
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{W}")));
Abilities<Ability> abilities1 = new AbilitiesImpl<Ability>();
abilities1.add(FirstStrikeAbility.getInstance());
this.getLevels().add(new LevelAbility(2, 6, abilities1, 3, 3));
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>();
abilities2.add(DoubleStrikeAbility.getInstance());
this.getLevels().add(new LevelAbility(7, -1, abilities2, 4, 4));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(2, 6, abilities1, 3, 3),
new LevelerCardBuilder.LevelAbility(7, -1, abilities2, 4, 4)
);
}
public StudentOfWarfare (final StudentOfWarfare card) {

View file

@ -40,7 +40,7 @@ import mage.cards.LevelerCard;
import java.util.UUID;
/**
* @author North
* @author North, noxx
*/
public class TranscendentMaster extends LevelerCard<TranscendentMaster> {
@ -61,9 +61,9 @@ public class TranscendentMaster extends LevelerCard<TranscendentMaster> {
Abilities<Ability> abilities2 = new AbilitiesImpl<Ability>(LifelinkAbility.getInstance(),
IndestructibleAbility.getInstance());
LevelAbilityBuilder.construct(this,
new LevelAbility(6, 11, abilities1, 6, 6),
new LevelAbility(12, -1, abilities2, 9, 9)
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(6, 11, abilities1, 6, 6),
new LevelerCardBuilder.LevelAbility(12, -1, abilities2, 9, 9)
);
}

View file

@ -27,7 +27,6 @@
*/
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
import mage.Constants.CardType;
import mage.Constants.Duration;
import mage.Constants.Rarity;
@ -38,15 +37,17 @@ import mage.abilities.Ability;
import mage.abilities.EvasionAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.RestrictionEffect;
import mage.abilities.keyword.LevelAbility;
import mage.abilities.keyword.LevelUpAbility;
import mage.abilities.keyword.LevelerCardBuilder;
import mage.cards.LevelerCard;
import mage.game.Game;
import mage.game.permanent.Permanent;
import java.util.UUID;
/**
*
* @author North
* @author North, noxx
*/
public class ZulaportEnforcer extends LevelerCard<ZulaportEnforcer> {
@ -61,13 +62,18 @@ public class ZulaportEnforcer extends LevelerCard<ZulaportEnforcer> {
this.toughness = new MageInt(1);
this.addAbility(new LevelUpAbility(new ManaCostsImpl("{4}")));
// LEVEL 1-2: 3/3
this.getLevels().add(new LevelAbility(1, 2, new AbilitiesImpl<Ability>(), 3, 3));
// LEVEL 3+: 5/5
// Zulaport Enforcer can't be blocked except by black creatures.
Abilities<Ability> levelAbilities = new AbilitiesImpl<Ability>();
levelAbilities.add(ZulaportEnforcerAbility.getInstance());
this.getLevels().add(new LevelAbility(3, -1, levelAbilities, 5, 5));
LevelerCardBuilder.construct(this,
new LevelerCardBuilder.LevelAbility(1, 2, new AbilitiesImpl<Ability>(), 3, 3),
new LevelerCardBuilder.LevelAbility(3, -1, levelAbilities, 5, 5)
);
}
public ZulaportEnforcer(final ZulaportEnforcer card) {