mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 11:32:00 -08:00
Snow mana symbol is {S}, not {snow}
This commit is contained in:
parent
4214ef94b0
commit
6b345fb291
5 changed files with 20 additions and 19 deletions
|
|
@ -52,15 +52,15 @@ public class MouthOfRonom extends CardImpl {
|
||||||
this.expansionSetCode = "CSP";
|
this.expansionSetCode = "CSP";
|
||||||
this.supertype.add("Snow");
|
this.supertype.add("Snow");
|
||||||
|
|
||||||
// {tap}: Add {1} to your mana pool.
|
// {T}: Add {1} to your mana pool.
|
||||||
this.addAbility(new ColorlessManaAbility());
|
this.addAbility(new ColorlessManaAbility());
|
||||||
// {4}{snow}, {tap}, Sacrifice Mouth of Ronom: Mouth of Ronom deals 4 damage to target creature.
|
// {4}{S}, {T}, Sacrifice Mouth of Ronom: Mouth of Ronom deals 4 damage to target creature.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl("{4}{snow}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl("{4}{S}"));
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addCost(new SacrificeSourceCost());
|
ability.addCost(new SacrificeSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouthOfRonom(final MouthOfRonom card) {
|
public MouthOfRonom(final MouthOfRonom card) {
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,9 @@ public class PhyrexianIronfoot extends CardImpl {
|
||||||
|
|
||||||
// Phyrexian Ironfoot doesn't untap during your untap step.
|
// Phyrexian Ironfoot doesn't untap during your untap step.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
|
||||||
|
|
||||||
// {1}{snow}: Untap Phyrexian Ironfoot.
|
// {1}{S}: Untap Phyrexian Ironfoot.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{1}{snow}")));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{1}{S}")));
|
||||||
}
|
}
|
||||||
|
|
||||||
public PhyrexianIronfoot(final PhyrexianIronfoot card) {
|
public PhyrexianIronfoot(final PhyrexianIronfoot card) {
|
||||||
|
|
|
||||||
|
|
@ -57,9 +57,9 @@ import mage.target.common.TargetCreaturePermanent;
|
||||||
* @author fireshoes
|
* @author fireshoes
|
||||||
*/
|
*/
|
||||||
public class RimeTransfusion extends CardImpl {
|
public class RimeTransfusion extends CardImpl {
|
||||||
|
|
||||||
static final String rule = "and has \"{snow}: This creature can't be blocked this turn except by snow creatures.\"";
|
static final String rule = "and has \"{S}: This creature can't be blocked this turn except by snow creatures.\"";
|
||||||
|
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("except by snow creatures until end of turn");
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("except by snow creatures until end of turn");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
@ -78,10 +78,10 @@ public class RimeTransfusion extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
|
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
|
||||||
Ability ability = new EnchantAbility(auraTarget.getTargetName());
|
Ability ability = new EnchantAbility(auraTarget.getTargetName());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Enchanted creature gets +2/+1 and has "{snow}: This creature can't be blocked this turn except by snow creatures."
|
// Enchanted creature gets +2/+1 and has "{S}: This creature can't be blocked this turn except by snow creatures."
|
||||||
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield));
|
SimpleStaticAbility ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield));
|
||||||
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.EndOfTurn))),new ManaCostsImpl("{snow}"));
|
Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.EndOfTurn))),new ManaCostsImpl("{S}"));
|
||||||
ability2.addEffect(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule));
|
ability2.addEffect(new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, rule));
|
||||||
this.addAbility(ability2);
|
this.addAbility(ability2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,8 +59,8 @@ public class ScryingSheets extends CardImpl {
|
||||||
// {tap}: Add {1} to your mana pool.
|
// {tap}: Add {1} to your mana pool.
|
||||||
this.addAbility(new ColorlessManaAbility());
|
this.addAbility(new ColorlessManaAbility());
|
||||||
|
|
||||||
// {1}{snow}, {tap}: Look at the top card of your library. If that card is snow, you may reveal it and put it into your hand.
|
// {1}{S}, {T}: Look at the top card of your library. If that card is snow, you may reveal it and put it into your hand.
|
||||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryingSheetsEffect(), new ManaCostsImpl<>("{1}{snow}"));
|
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryingSheetsEffect(), new ManaCostsImpl<>("{1}{S}"));
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,10 @@ public class ManaCostsImpl<T extends ManaCost> extends ArrayList<T> implements M
|
||||||
if (Character.isDigit(symbol.charAt(0))) {
|
if (Character.isDigit(symbol.charAt(0))) {
|
||||||
this.add((T) new GenericManaCost(Integer.valueOf(symbol)));
|
this.add((T) new GenericManaCost(Integer.valueOf(symbol)));
|
||||||
} else {
|
} else {
|
||||||
if (!symbol.equals("X")) {
|
if(symbol.equals("S")) {
|
||||||
|
this.add((T) new SnowManaCost());
|
||||||
|
}
|
||||||
|
else if (!symbol.equals("X")) {
|
||||||
this.add((T) new ColoredManaCost(ColoredManaSymbol.lookup(symbol.charAt(0))));
|
this.add((T) new ColoredManaCost(ColoredManaSymbol.lookup(symbol.charAt(0))));
|
||||||
} else {
|
} else {
|
||||||
// check X wasn't added before
|
// check X wasn't added before
|
||||||
|
|
@ -334,9 +337,7 @@ public class ManaCostsImpl<T extends ManaCost> extends ArrayList<T> implements M
|
||||||
//TODO: handle multiple {X} and/or {Y} symbols
|
//TODO: handle multiple {X} and/or {Y} symbols
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (symbol.equals("snow")) {
|
if (Character.isDigit(symbol.charAt(0))) {
|
||||||
this.add((T) new SnowManaCost());
|
|
||||||
} else if (Character.isDigit(symbol.charAt(0))) {
|
|
||||||
this.add((T) new MonoHybridManaCost(ColoredManaSymbol.lookup(symbol.charAt(2))));
|
this.add((T) new MonoHybridManaCost(ColoredManaSymbol.lookup(symbol.charAt(2))));
|
||||||
} else if (symbol.contains("P")) {
|
} else if (symbol.contains("P")) {
|
||||||
this.add((T) new PhyrexianManaCost(ColoredManaSymbol.lookup(symbol.charAt(0))));
|
this.add((T) new PhyrexianManaCost(ColoredManaSymbol.lookup(symbol.charAt(0))));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue