fixed some specific errors and text

This commit is contained in:
Evan Kranzler 2018-04-19 13:43:26 -04:00
parent 5fe607e852
commit 1e7071e7ae
6 changed files with 47 additions and 46 deletions

View file

@ -25,7 +25,6 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.cards.a;
import java.io.ObjectStreamException;
@ -37,7 +36,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -51,27 +50,27 @@ import mage.target.common.TargetAnyTarget;
*/
public class ArcTrail extends CardImpl {
public ArcTrail (UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}");
public ArcTrail(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}");
// Arc Trail deals 2 damage to target creature or player and 1 damage to another target creature or player
FilterCreatureOrPlayer filter1 = new FilterCreatureOrPlayer("creature or player to deal 2 damage");
FilterCreaturePlayerOrPlaneswalker filter1 = new FilterCreaturePlayerOrPlaneswalker("creature, player or planeswalker to deal 2 damage");
TargetAnyTarget target1 = new TargetAnyTarget(1, 1, filter1);
target1.setTargetTag(1);
this.getSpellAbility().addTarget(target1);
FilterCreatureOrPlayer filter2 = new FilterCreatureOrPlayer("another creature or player to deal 1 damage");
FilterCreaturePlayerOrPlaneswalker filter2 = new FilterCreaturePlayerOrPlaneswalker("another creature, player or planeswalker to deal 1 damage");
AnotherTargetPredicate predicate = new AnotherTargetPredicate(2);
filter2.getCreatureFilter().add(predicate);
filter2.getPlayerFilter().add(predicate);
TargetAnyTarget target2 = new TargetAnyTarget(1, 1, filter2);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2);
this.getSpellAbility().addEffect(ArcTrailEffect.getInstance());
}
public ArcTrail (final ArcTrail card) {
public ArcTrail(final ArcTrail card) {
super(card);
}
@ -84,7 +83,7 @@ public class ArcTrail extends CardImpl {
class ArcTrailEffect extends OneShotEffect {
private static final ArcTrailEffect instance = new ArcTrailEffect();
private static final ArcTrailEffect instance = new ArcTrailEffect();
private Object readResolve() throws ObjectStreamException {
return instance;
@ -94,9 +93,9 @@ class ArcTrailEffect extends OneShotEffect {
return instance;
}
private ArcTrailEffect ( ) {
private ArcTrailEffect() {
super(Outcome.Damage);
staticText = "{source} deals 2 damage to target creature or player and 1 damage to another target creature or player";
staticText = "{source} deals 2 damage to any target and 1 damage to another target";
}
@Override
@ -106,19 +105,19 @@ class ArcTrailEffect extends OneShotEffect {
boolean twoDamageDone = false;
int damage = 2;
for ( Target target : source.getTargets() ) {
for (Target target : source.getTargets()) {
Permanent permanent = game.getPermanent(target.getFirstTarget());
if ( twoDamageDone ) {
if (twoDamageDone) {
damage = 1;
}
if (permanent != null) {
applied |= (permanent.damage( damage, source.getSourceId(), game, false, true ) > 0);
applied |= (permanent.damage(damage, source.getSourceId(), game, false, true) > 0);
}
Player player = game.getPlayer(target.getFirstTarget());
if (player != null) {
applied |= (player.damage( damage, source.getSourceId(), game, false, true ) > 0);
applied |= (player.damage(damage, source.getSourceId(), game, false, true) > 0);
}
twoDamageDone = true;

View file

@ -44,8 +44,8 @@ import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.target.common.TargetAnyTarget;
/**
@ -57,7 +57,7 @@ public class CauterySliver extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.SLIVER, "All Slivers");
public CauterySliver(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.SLIVER);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
@ -88,16 +88,17 @@ public class CauterySliver extends CardImpl {
}
}
class TargetSliverCreatureOrPlayer extends TargetAnyTarget {
public TargetSliverCreatureOrPlayer(){
public TargetSliverCreatureOrPlayer() {
super();
filter = new FilterCreatureOrPlayerByType("Sliver", "Sliver creature or player");
}
}
class FilterCreatureOrPlayerByType extends FilterCreatureOrPlayer {
public FilterCreatureOrPlayerByType (String type, String name) {
class FilterCreatureOrPlayerByType extends FilterCreaturePlayerOrPlaneswalker {
public FilterCreatureOrPlayerByType(String type, String name) {
super(name);
creatureFilter = new FilterCreaturePermanent(type);
}

View file

@ -34,7 +34,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.filter.predicate.mageobject.AnotherTargetPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -49,31 +49,30 @@ import mage.target.common.TargetAnyTarget;
public class ConeOfFlame extends CardImpl {
public ConeOfFlame(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R}{R}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}");
// Cone of Flame deals 1 damage to target creature or player, 2 damage to another target creature or player, and 3 damage to a third target creature or player.
FilterCreatureOrPlayer filter1 = new FilterCreatureOrPlayer("creature or player to deal 1 damage");
FilterCreaturePlayerOrPlaneswalker filter1 = new FilterCreaturePlayerOrPlaneswalker("creature, player or planeswalker to deal 1 damage");
TargetAnyTarget target1 = new TargetAnyTarget(1, 1, filter1);
target1.setTargetTag(1);
this.getSpellAbility().addTarget(target1);
FilterCreatureOrPlayer filter2 = new FilterCreatureOrPlayer("another creature or player to deal 2 damage");
FilterCreaturePlayerOrPlaneswalker filter2 = new FilterCreaturePlayerOrPlaneswalker("another creature, player or planeswalker to deal 2 damage");
AnotherTargetPredicate predicate2 = new AnotherTargetPredicate(2);
filter2.getCreatureFilter().add(predicate2);
filter2.getPlayerFilter().add(predicate2);
TargetAnyTarget target2 = new TargetAnyTarget(1, 1, filter2);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2);
FilterCreatureOrPlayer filter3 = new FilterCreatureOrPlayer("another creature or player to deal 3 damage");
FilterCreaturePlayerOrPlaneswalker filter3 = new FilterCreaturePlayerOrPlaneswalker("another creature, player or planeswalker to deal 3 damage");
AnotherTargetPredicate predicate3 = new AnotherTargetPredicate(3);
filter3.getCreatureFilter().add(predicate3);
filter3.getPlayerFilter().add(predicate3);
TargetAnyTarget target3 = new TargetAnyTarget(1, 1, filter3);
target3.setTargetTag(3);
this.getSpellAbility().addTarget(target3);
this.getSpellAbility().addEffect(new ConeOfFlameEffect());
}
@ -91,9 +90,11 @@ class ConeOfFlameEffect extends OneShotEffect {
public ConeOfFlameEffect() {
super(Outcome.Damage);
this.staticText = "{source} deals 1 damage to target creature or player, 2 damage to another target creature or player, and 3 damage to a third target creature or player";
this.staticText = "{source} deals 1 damage to any target, "
+ "2 damage to another target, "
+ "and 3 damage to a third target";
}
public ConeOfFlameEffect(final ConeOfFlameEffect effect) {
super(effect);
}
@ -102,7 +103,7 @@ class ConeOfFlameEffect extends OneShotEffect {
public ConeOfFlameEffect copy() {
return new ConeOfFlameEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
boolean applied = false;
@ -120,5 +121,5 @@ class ConeOfFlameEffect extends OneShotEffect {
}
return applied;
}
}

View file

@ -39,7 +39,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetAnyTarget;
@ -49,14 +49,14 @@ import mage.target.common.TargetAnyTarget;
*/
public class ImperialGunner extends CardImpl {
private static final FilterCreatureOrPlayer filter = new FilterCreatureOrPlayer("target player or Starship creature");
private static final FilterCreaturePlayerOrPlaneswalker filter = new FilterCreaturePlayerOrPlaneswalker("target player, planeswalker or Starship creature");
static {
filter.getCreatureFilter().add(new SubtypePredicate(SubType.STARSHIP));
}
public ImperialGunner(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(1);

View file

@ -36,7 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePlayerOrPlaneswalker;
import mage.filter.predicate.Predicate;
import mage.game.Game;
import mage.players.Player;
@ -49,19 +49,20 @@ import mage.watchers.common.DamageDoneWatcher;
*/
public class NeedleDrop extends CardImpl {
private static final FilterCreatureOrPlayer FILTER = new FilterCreatureOrPlayer();
private static final FilterCreaturePlayerOrPlaneswalker FILTER = new FilterCreaturePlayerOrPlaneswalker();
static {
FILTER.getCreatureFilter().add(new DamagedThisTurnPredicate());
FILTER.getPlaneswalkerFilter().add(new DamagedThisTurnPredicate());
FILTER.getPlayerFilter().add(new DamagedThisTurnPredicate());
}
public NeedleDrop(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
// Needle Drop deals 1 damage to target creature or player that was dealt damage this turn.
Effect effect = new DamageTargetEffect(1);
effect.setText("{this} deals 1 damage to target creature or player that was dealt damage this turn");
effect.setText("{this} deals 1 damage to any target that was dealt damage this turn");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetAnyTarget(1, 1, FILTER));
@ -73,7 +74,6 @@ public class NeedleDrop extends CardImpl {
super(card);
}
@Override
public NeedleDrop copy() {
return new NeedleDrop(this);

View file

@ -47,7 +47,7 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.permanent.token.TIEFighterToken;
import mage.target.common.TargetAnyTarget;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetCreaturePermanent;
/**
@ -65,7 +65,7 @@ public class StarDestroyer extends CardImpl {
}
public StarDestroyer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{U}{B}{R}");
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}{B}{R}");
this.subtype.add(SubType.STARSHIP);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
@ -83,7 +83,7 @@ public class StarDestroyer extends CardImpl {
// {2}{R}: Star Destroyer deals 2 damge to target non-Starship creature or player.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{R}"));
ability.addTarget(new TargetAnyTarget(filter3));
ability.addTarget(new TargetCreatureOrPlayer(filter3));
this.addAbility(ability);
}