mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
Merge origin/master
This commit is contained in:
commit
fb8b8f12c1
10 changed files with 25535 additions and 25537 deletions
|
@ -70,7 +70,7 @@ public class PromiseOfPower extends CardImpl {
|
||||||
effect.setText("and you lose 5 life");
|
effect.setText("and you lose 5 life");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
|
||||||
// - Put an X/X black Demon creature token with flying onto the battlefield, where X is the number of cards in your hand as the token enters the battlefield.
|
// - Put an X/X black Demon creature token with flying onto the battlefield, where X is the number of cards in your hand.
|
||||||
Mode mode = new Mode();
|
Mode mode = new Mode();
|
||||||
mode.getEffects().add(new PromiseOfPowerEffect());
|
mode.getEffects().add(new PromiseOfPowerEffect());
|
||||||
this.getSpellAbility().getModes().addMode(mode);
|
this.getSpellAbility().getModes().addMode(mode);
|
||||||
|
@ -93,7 +93,7 @@ class PromiseOfPowerEffect extends OneShotEffect {
|
||||||
|
|
||||||
public PromiseOfPowerEffect() {
|
public PromiseOfPowerEffect() {
|
||||||
super(Outcome.DestroyPermanent);
|
super(Outcome.DestroyPermanent);
|
||||||
staticText = "Put an X/X black Demon creature token with flying onto the battlefield, where X is the number of cards in your hand as the token enters the battlefield";
|
staticText = "Put an X/X black Demon creature token with flying onto the battlefield, where X is the number of cards in your hand";
|
||||||
}
|
}
|
||||||
|
|
||||||
public PromiseOfPowerEffect(PromiseOfPowerEffect ability) {
|
public PromiseOfPowerEffect(PromiseOfPowerEffect ability) {
|
||||||
|
|
|
@ -71,11 +71,11 @@ public class FaithsFetters extends CardImpl {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
// When Faith's Fetters enters the battlefield, you gain 4 life.
|
// When Faith's Fetters enters the battlefield, you gain 4 life.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4)));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4)));
|
||||||
// Enchanted permanent's activated abilities can't be activated unless they're mana abilities. If enchanted permanent is a creature, it can't attack or block.
|
// Enchanted permanent can't attack or block, and its activated abilities can't be activated unless they're mana abilities.
|
||||||
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new FaithsFettersEffect());
|
|
||||||
Effect effect = new CantAttackBlockAttachedEffect(AttachmentType.AURA);
|
Effect effect = new CantAttackBlockAttachedEffect(AttachmentType.AURA);
|
||||||
effect.setText("If enchanted permanent is a creature, it can't attack or block");
|
effect.setText("Enchanted permanent can't attack or block,");
|
||||||
ability.addEffect(effect);
|
ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect);
|
||||||
|
ability.addEffect(new FaithsFettersEffect());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ class FaithsFettersEffect extends ContinuousRuleModifiyingEffectImpl {
|
||||||
|
|
||||||
public FaithsFettersEffect() {
|
public FaithsFettersEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||||
staticText = "Enchanted permanent's activated abilities can't be activated unless they're mana abilities";
|
staticText = "and its activated abilities can't be activated unless they're mana abilities";
|
||||||
}
|
}
|
||||||
|
|
||||||
public FaithsFettersEffect(final FaithsFettersEffect effect) {
|
public FaithsFettersEffect(final FaithsFettersEffect effect) {
|
||||||
|
|
|
@ -30,14 +30,13 @@ package mage.sets.exodus;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.Rarity;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
|
import mage.constants.Rarity;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterArtifactPermanent;
|
import mage.filter.common.FilterArtifactPermanent;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
|
@ -92,7 +91,7 @@ class CataclysmEffect extends OneShotEffect {
|
||||||
|
|
||||||
public CataclysmEffect() {
|
public CataclysmEffect() {
|
||||||
super(Outcome.DestroyPermanent);
|
super(Outcome.DestroyPermanent);
|
||||||
staticText = "Each player chooses from the permanents he or she controls an artifact, a creature, an enchantment, and a land, then sacrifices the rest";
|
staticText = "Each player chooses from among the permanents he or she controls an artifact, a creature, an enchantment, and a land, then sacrifices the rest";
|
||||||
}
|
}
|
||||||
|
|
||||||
public CataclysmEffect(CataclysmEffect effect) {
|
public CataclysmEffect(CataclysmEffect effect) {
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class AshcloudPhoenix extends CardImpl {
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// When Ashcloud Phoenix dies, return it to the battlefield face down.
|
// When Ashcloud Phoenix dies, return it to the battlefield face down under your control.
|
||||||
this.addAbility(new DiesTriggeredAbility(new AshcloudPhoenixEffect()));
|
this.addAbility(new DiesTriggeredAbility(new AshcloudPhoenixEffect()));
|
||||||
|
|
||||||
// Morph {4}{R}{R}
|
// Morph {4}{R}{R}
|
||||||
|
@ -92,7 +92,7 @@ class AshcloudPhoenixEffect extends OneShotEffect {
|
||||||
|
|
||||||
AshcloudPhoenixEffect() {
|
AshcloudPhoenixEffect() {
|
||||||
super(Outcome.PutCreatureInPlay);
|
super(Outcome.PutCreatureInPlay);
|
||||||
this.staticText = "return it to the battlefield face down";
|
this.staticText = "return it to the battlefield face down under your control";
|
||||||
}
|
}
|
||||||
|
|
||||||
AshcloudPhoenixEffect(final AshcloudPhoenixEffect effect) {
|
AshcloudPhoenixEffect(final AshcloudPhoenixEffect effect) {
|
||||||
|
|
|
@ -28,10 +28,6 @@
|
||||||
package mage.sets.lorwyn;
|
package mage.sets.lorwyn;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.Rarity;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
@ -43,6 +39,10 @@ import mage.abilities.effects.common.continious.GainAbilityAllEffect;
|
||||||
import mage.abilities.effects.common.continious.SetPowerToughnessAllEffect;
|
import mage.abilities.effects.common.continious.SetPowerToughnessAllEffect;
|
||||||
import mage.abilities.keyword.ChangelingAbility;
|
import mage.abilities.keyword.ChangelingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.Rarity;
|
||||||
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -64,13 +64,13 @@ public class MirrorEntity extends CardImpl {
|
||||||
|
|
||||||
// Changeling
|
// Changeling
|
||||||
this.addAbility(ChangelingAbility.getInstance());
|
this.addAbility(ChangelingAbility.getInstance());
|
||||||
// {X}: Creatures you control become X/X and gain all creature types until end of turn.
|
// {X}: Until end of turn, creatures you control have base power and toughness X/X and gain all creature types.
|
||||||
DynamicValue variableMana = new ManacostVariableValue();
|
DynamicValue variableMana = new ManacostVariableValue();
|
||||||
Effect effect = new SetPowerToughnessAllEffect(variableMana, variableMana, Duration.EndOfTurn, filter, true);
|
Effect effect = new SetPowerToughnessAllEffect(variableMana, variableMana, Duration.EndOfTurn, filter, true);
|
||||||
effect.setText("Creatures you control become X/X");
|
effect.setText("Until end of turn, creatures you control have base power and toughness X/X");
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new VariableManaCost());
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new VariableManaCost());
|
||||||
effect = new GainAbilityAllEffect(ChangelingAbility.getInstance(), Duration.EndOfTurn, filter);
|
effect = new GainAbilityAllEffect(ChangelingAbility.getInstance(), Duration.EndOfTurn, filter);
|
||||||
effect.setText("and gain all creature types until end of turn");
|
effect.setText("and gain all creature types");
|
||||||
ability.addEffect(effect);
|
ability.addEffect(effect);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,9 +69,9 @@ public class CrimsonHellkite extends CardImpl {
|
||||||
|
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
// {X}, {tap}: Crimson Hellkite deals X damage to target creature. Spend only red mana this way.
|
// {X}, {tap}: Crimson Hellkite deals X damage to target creature. Spend only red mana on X.
|
||||||
Effect effect = new DamageTargetEffect(new ManacostVariableValue());
|
Effect effect = new DamageTargetEffect(new ManacostVariableValue());
|
||||||
effect.setText("{this} deals X damage to target creature. Spend only red mana this way");
|
effect.setText("{this} deals X damage to target creature. Spend only red mana on X");
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
VariableCost variableCost = ability.getManaCostsToPay().getVariableCosts().get(0);
|
VariableCost variableCost = ability.getManaCostsToPay().getVariableCosts().get(0);
|
||||||
|
|
|
@ -56,7 +56,7 @@ public class SoltariChampion extends CardImpl {
|
||||||
|
|
||||||
// Shadow
|
// Shadow
|
||||||
this.addAbility(ShadowAbility.getInstance());
|
this.addAbility(ShadowAbility.getInstance());
|
||||||
// Whenever Soltari Champion attacks, all other creatures you control get +1/+1 until end of turn.
|
// Whenever Soltari Champion attacks, other creatures you control get +1/+1 until end of turn.
|
||||||
this.addAbility(new AttacksTriggeredAbility(new BoostControlledEffect(1, 1, Duration.EndOfTurn, new FilterCreaturePermanent(), true), false));
|
this.addAbility(new AttacksTriggeredAbility(new BoostControlledEffect(1, 1, Duration.EndOfTurn, new FilterCreaturePermanent(), true), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,15 +28,14 @@
|
||||||
package mage.sets.tempest;
|
package mage.sets.tempest;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.constants.CardType;
|
|
||||||
import mage.constants.Rarity;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continious.BoostAllEffect;
|
import mage.abilities.effects.common.continious.BoostAllEffect;
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
import mage.abilities.keyword.FirstStrikeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.Rarity;
|
||||||
import mage.filter.common.FilterAttackingCreature;
|
import mage.filter.common.FilterAttackingCreature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -49,7 +48,7 @@ public class RenegadeWarlord extends CardImpl {
|
||||||
super(ownerId, 197, "Renegade Warlord", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{R}");
|
super(ownerId, 197, "Renegade Warlord", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{R}");
|
||||||
this.expansionSetCode = "TMP";
|
this.expansionSetCode = "TMP";
|
||||||
this.subtype.add("Human");
|
this.subtype.add("Human");
|
||||||
this.subtype.add("Warrior");
|
this.subtype.add("Soldier");
|
||||||
this.color.setRed(true);
|
this.color.setRed(true);
|
||||||
this.power = new MageInt(3);
|
this.power = new MageInt(3);
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
|
@ -64,9 +64,9 @@ public class CryptRats extends CardImpl {
|
||||||
this.power = new MageInt(1);
|
this.power = new MageInt(1);
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// {X}: Crypt Rats deals X damage to each creature and each player. Spend only black mana this way.
|
// {X}: Crypt Rats deals X damage to each creature and each player. Spend only black mana on X.
|
||||||
Effect effect = new DamageEverythingEffect(new ManacostVariableValue(), new FilterPermanent());
|
Effect effect = new DamageEverythingEffect(new ManacostVariableValue(), new FilterPermanent());
|
||||||
effect.setText("{this} deals X damage to each creature and each player. Spend only black mana this way");
|
effect.setText("{this} deals X damage to each creature and each player. Spend only black mana on X");
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect,new ManaCostsImpl("{X}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect,new ManaCostsImpl("{X}"));
|
||||||
VariableCost variableCost = ability.getManaCostsToPay().getVariableCosts().get(0);
|
VariableCost variableCost = ability.getManaCostsToPay().getVariableCosts().get(0);
|
||||||
if (variableCost instanceof VariableManaCost) {
|
if (variableCost instanceof VariableManaCost) {
|
||||||
|
|
51016
Utils/mtg-cards-data.txt
51016
Utils/mtg-cards-data.txt
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue