fix card bugs for Star Wars set

This commit is contained in:
ninthworld 2018-07-17 13:01:19 -07:00
parent 88c049f44a
commit d7c1b8b9c9
7 changed files with 27 additions and 32 deletions

View file

@ -360,7 +360,7 @@ public enum GrabbagImageSource implements CardImageSource {
singleLinks.put("SWS/Astromech Droid", "v0TpHMh.jpg"); singleLinks.put("SWS/Astromech Droid", "v0TpHMh.jpg");
singleLinks.put("SWS/Buried Ruin", "QkmIWYg.png"); singleLinks.put("SWS/Buried Ruin", "QkmIWYg.png");
singleLinks.put("SWS/Flame Trooper", "RkY7KFJ.jpg"); singleLinks.put("SWS/Flame Trooper", "RkY7KFJ.jpg");
singleLinks.put("SWS/Force Statis", "FavLrcY.jpg"); singleLinks.put("SWS/Force Stasis", "FavLrcY.jpg");
singleLinks.put("SWS/Salvage Trader", "qGwk7Bn.jpg"); singleLinks.put("SWS/Salvage Trader", "qGwk7Bn.jpg");
singleLinks.put("SWS/Outer Rim Gang", "kEjKQGy.png"); singleLinks.put("SWS/Outer Rim Gang", "kEjKQGy.png");
singleLinks.put("SWS/Rathtar", "CYhHRqF.png"); singleLinks.put("SWS/Rathtar", "CYhHRqF.png");
@ -431,6 +431,7 @@ public enum GrabbagImageSource implements CardImageSource {
singleLinks.put("SWS/Aurra Sing", "BLWbVJC.png"); singleLinks.put("SWS/Aurra Sing", "BLWbVJC.png");
singleLinks.put("SWS/Yoda", "zH0sYxg.png"); singleLinks.put("SWS/Yoda", "zH0sYxg.png");
singleLinks.put("SWS/Emblem Luke Skywalker", "kHELZDJ.jpg"); singleLinks.put("SWS/Emblem Luke Skywalker", "kHELZDJ.jpg");
// Tokens // Tokens
singleLinks.put("SWS/Ewok", "N2MvJyr.png"); singleLinks.put("SWS/Ewok", "N2MvJyr.png");
singleLinks.put("SWS/B-Wing", "oH62AUD.png"); singleLinks.put("SWS/B-Wing", "oH62AUD.png");

View file

@ -218,6 +218,7 @@ public final class CardImageUtils {
if (cardName.isEmpty()) { if (cardName.isEmpty()) {
cardName = prepareCardNameForFile(card.getName()); cardName = prepareCardNameForFile(card.getName());
} }
cardName = cardName.replaceAll("[\\\\/:*?\"<>|]", "");
String finalFileName = ""; String finalFileName = "";
if (card.getUsesVariousArt()) { if (card.getUsesVariousArt()) {

View file

@ -31,9 +31,9 @@ import mage.target.common.TargetCreaturePermanent;
* *
* @author Styxo * @author Styxo
*/ */
public final class DarthTyranus extends CardImpl { public final class DarthTyranusCountOfSerenno extends CardImpl {
public DarthTyranus(UUID ownerId, CardSetInfo setInfo) { public DarthTyranusCountOfSerenno(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{W}{U}{B}"); super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{W}{U}{B}");
this.subtype.add(SubType.DOOKU); this.subtype.add(SubType.DOOKU);
@ -55,13 +55,13 @@ public final class DarthTyranus extends CardImpl {
this.addAbility(ability); this.addAbility(ability);
} }
public DarthTyranus(final DarthTyranus card) { public DarthTyranusCountOfSerenno(final DarthTyranusCountOfSerenno card) {
super(card); super(card);
} }
@Override @Override
public DarthTyranus copy() { public DarthTyranusCountOfSerenno copy() {
return new DarthTyranus(this); return new DarthTyranusCountOfSerenno(this);
} }
} }

View file

@ -8,6 +8,7 @@ import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.constants.*; import mage.constants.*;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -41,9 +42,12 @@ public final class GeneralHux extends CardImpl {
this.toughness = new MageInt(3); this.toughness = new MageInt(3);
// Whenever General Hux or another nontoken creature enters the battlefield under your control, until end of turn, target creature gains "{B}: This creature gets +1/+1 until end of turn." // Whenever General Hux or another nontoken creature enters the battlefield under your control, until end of turn, target creature gains "{B}: This creature gets +1/+1 until end of turn."
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{B}")); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
Effect effect = new GainAbilityTargetEffect(ability, Duration.EndOfTurn); new BoostSourceEffect(1, 1, Duration.EndOfTurn)
effect.setText("until end of turn, target creature gains \"{B}: This creature gets +1/+1 until end of turn.\""); .setText("This creature gets +1/+1 until end of turn"),
new ManaCostsImpl("{B}"));
Effect effect = new GainAbilitySourceEffect(ability, Duration.EndOfTurn);
effect.setText("until end of turn, target creature gains");
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, effect, filter, false)); this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, effect, filter, false));
} }

View file

@ -2,10 +2,7 @@ package mage.cards.h;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.*;
import mage.abilities.DelayedTriggeredAbilities;
import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.TriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.condition.common.MyTurnCondition;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -68,10 +65,10 @@ public final class HanSoloScrumrat extends CardImpl {
} }
} }
class HanSoloScrumratTriggeredAbility extends DelayedTriggeredAbility { class HanSoloScrumratTriggeredAbility extends TriggeredAbilityImpl {
public HanSoloScrumratTriggeredAbility() { public HanSoloScrumratTriggeredAbility() {
super(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), Duration.EndOfTurn, false); super(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false);
} }
public HanSoloScrumratTriggeredAbility(final HanSoloScrumratTriggeredAbility ability) { public HanSoloScrumratTriggeredAbility(final HanSoloScrumratTriggeredAbility ability) {
@ -85,25 +82,17 @@ class HanSoloScrumratTriggeredAbility extends DelayedTriggeredAbility {
@Override @Override
public boolean checkEventType(GameEvent event, Game game) { public boolean checkEventType(GameEvent event, Game game) {
switch(event.getType()) { return event.getType() == GameEvent.EventType.DAMAGED_CREATURE
case DAMAGED_CREATURE: || event.getType() == GameEvent.EventType.DAMAGED_PLAYER
case DAMAGED_PLAYER: || event.getType() == GameEvent.EventType.DAMAGED_PLANESWALKER;
case DAMAGED_PLANESWALKER:
return true;
}
return false;
} }
@Override @Override
public boolean checkTrigger(GameEvent event, Game game) { public boolean checkTrigger(GameEvent event, Game game) {
Permanent target = game.getPermanent(this.getFirstTarget()); Permanent source = game.getPermanent(this.getSourceId());
if (target != null && event.getSourceId().equals(target.getId()) && MyTurnCondition.instance.apply(game, this)) { return source != null
for (Effect effect : this.getEffects()) { && game.isActivePlayer(source.getControllerId())
effect.setValue("damage", event.getAmount()); && event.getSourceId().equals(this.getSourceId());
}
return true;
}
return false;
} }
@Override @Override

View file

@ -66,7 +66,7 @@ public final class SupremeLeaderSnoke extends CardImpl {
ability3.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield).setText("It gains haste")); ability3.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield).setText("It gains haste"));
ability3.addEffect(new GainAbilityTargetEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new SacrificeSourceEffect()), Duration.WhileOnBattlefield) ability3.addEffect(new GainAbilityTargetEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new SacrificeSourceEffect()), Duration.WhileOnBattlefield)
.setText("Sacrifice that creature at the beginning of the next end step")); .setText("Sacrifice that creature at the beginning of the next end step"));
ability3Id = ability2.getOriginalId(); ability3Id = ability3.getOriginalId();
ability3.addTarget(new TargetCreaturePermanent()); ability3.addTarget(new TargetCreaturePermanent());
this.addAbility(ability3); this.addAbility(ability3);
} }

View file

@ -87,7 +87,7 @@ public final class StarWars extends ExpansionSet {
cards.add(new SetCardInfo("Dark Trooper", 231, Rarity.UNCOMMON, mage.cards.d.DarkTrooper.class)); cards.add(new SetCardInfo("Dark Trooper", 231, Rarity.UNCOMMON, mage.cards.d.DarkTrooper.class));
cards.add(new SetCardInfo("Darth Maul", 178, Rarity.RARE, mage.cards.d.DarthMaul.class)); cards.add(new SetCardInfo("Darth Maul", 178, Rarity.RARE, mage.cards.d.DarthMaul.class));
cards.add(new SetCardInfo("Darth Sidious, Sith Lord", 179, Rarity.MYTHIC, mage.cards.d.DarthSidiousSithLord.class)); cards.add(new SetCardInfo("Darth Sidious, Sith Lord", 179, Rarity.MYTHIC, mage.cards.d.DarthSidiousSithLord.class));
cards.add(new SetCardInfo("Darth Tyranus", 180, Rarity.MYTHIC, mage.cards.d.DarthTyranus.class)); cards.add(new SetCardInfo("Darth Tyranus, Count of Serenno", 180, Rarity.MYTHIC, mage.cards.d.DarthTyranusCountOfSerenno.class));
cards.add(new SetCardInfo("Darth Vader", 140, Rarity.MYTHIC, mage.cards.d.DarthVader.class)); cards.add(new SetCardInfo("Darth Vader", 140, Rarity.MYTHIC, mage.cards.d.DarthVader.class));
cards.add(new SetCardInfo("Death Trooper", 71, Rarity.UNCOMMON, mage.cards.d.DeathTrooper.class)); cards.add(new SetCardInfo("Death Trooper", 71, Rarity.UNCOMMON, mage.cards.d.DeathTrooper.class));
cards.add(new SetCardInfo("Delay Tactic", 504, Rarity.COMMON, mage.cards.d.DelayTactic.class)); cards.add(new SetCardInfo("Delay Tactic", 504, Rarity.COMMON, mage.cards.d.DelayTactic.class));