mirror of
https://github.com/magefree/mage.git
synced 2025-12-26 13:32:06 -08:00
Refactor: move player.damage params to default (same as permanent.damage);
This commit is contained in:
parent
76387057b7
commit
11976b5c89
228 changed files with 1104 additions and 1454 deletions
|
|
@ -12,10 +12,10 @@ public class MageVersion implements Serializable, Comparable<MageVersion> {
|
|||
public static final int MAGE_VERSION_MAJOR = 1;
|
||||
public static final int MAGE_VERSION_MINOR = 4;
|
||||
public static final int MAGE_VERSION_PATCH = 42;
|
||||
public static final String MAGE_EDITION_INFO = ""; // set "-beta" for 1.4.32-betaV0
|
||||
public static final String MAGE_VERSION_MINOR_PATCH = "V0"; // default
|
||||
public static final String MAGE_EDITION_INFO = "-beta5"; // set "-beta2" for 1.4.32V1-beta2
|
||||
public static final String MAGE_VERSION_MINOR_PATCH = "V1"; // default
|
||||
// strict mode
|
||||
private static final boolean MAGE_VERSION_MINOR_PATCH_MUST_BE_SAME = false; // set true on uncompatible github changes, set false after new major release (after MAGE_VERSION_PATCH changes)
|
||||
private static final boolean MAGE_VERSION_MINOR_PATCH_MUST_BE_SAME = true; // set true on uncompatible github changes, set false after new major release (after MAGE_VERSION_PATCH changes)
|
||||
|
||||
public static final boolean MAGE_VERSION_SHOW_BUILD_TIME = true;
|
||||
private final int major;
|
||||
|
|
@ -58,7 +58,7 @@ public class MageVersion implements Serializable, Comparable<MageVersion> {
|
|||
|
||||
public String toString(boolean showBuildTime) {
|
||||
// 1.4.32-betaV0 (build: time)
|
||||
String res = major + "." + minor + '.' + patch + editionInfo + minorPatch;
|
||||
String res = major + "." + minor + '.' + patch + minorPatch + editionInfo;
|
||||
if (showBuildTime && !this.buildTime.isEmpty()) {
|
||||
res += " (build: " + this.buildTime + ")";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1951,7 +1951,7 @@ public class ComputerPlayer extends PlayerImpl implements Player {
|
|||
public void assignDamage(int damage, List<UUID> targets, String singleTargetName, UUID sourceId, Game game) {
|
||||
log.debug("assignDamage");
|
||||
//TODO: improve this
|
||||
game.getPermanent(targets.get(0)).damage(damage, sourceId, game, false, true);
|
||||
game.getPermanent(targets.get(0)).damage(damage, sourceId, game);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1779,7 +1779,7 @@ public class HumanPlayer extends PlayerImpl {
|
|||
} else {
|
||||
Player player = game.getPlayer(target.getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(damageAmount, sourceId, game, false, true);
|
||||
player.damage(damageAmount, sourceId, game);
|
||||
remainingDamage -= damageAmount;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ class AcolytesRewardEffect extends PreventionEffectImpl {
|
|||
|
||||
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getFirstTarget());
|
||||
if (targetPlayer != null) {
|
||||
targetPlayer.damage(toPrevent, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(toPrevent, source.getSourceId(), game);
|
||||
game.informPlayers("Acolyte's Reward deals " + toPrevent + " damage to " + targetPlayer.getLogName());
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import mage.MageInt;
|
||||
|
|
@ -120,9 +119,9 @@ class AkoumHellkiteDamageEffect extends OneShotEffect {
|
|||
Player player = game.getPlayer(source.getFirstTarget());
|
||||
if (land != null && player != null) {
|
||||
if (land.hasSubtype(SubType.MOUNTAIN, game)) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
} else {
|
||||
player.damage(1, source.getSourceId(), game, false, true);
|
||||
player.damage(1, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbility;
|
||||
|
|
@ -25,20 +23,21 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.target.common.TargetOpponent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LoneFox
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author LoneFox
|
||||
*/
|
||||
public final class AnaBattlemage extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.not(TappedPredicate.instance));
|
||||
}
|
||||
|
||||
public AnaBattlemage(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.WIZARD);
|
||||
this.power = new MageInt(2);
|
||||
|
|
@ -52,12 +51,12 @@ public final class AnaBattlemage extends CardImpl {
|
|||
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(3));
|
||||
ability.addTarget(new TargetOpponent());
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{2}{U}"),
|
||||
"When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, target player discards three cards."));
|
||||
"When {this} enters the battlefield, if it was kicked with its {2}{U} kicker, target player discards three cards."));
|
||||
// When Ana Battlemage enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller.
|
||||
ability = new EntersBattlefieldTriggeredAbility(new AnaBattlemageKickerEffect());
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new KickedCostCondition("{1}{B}"),
|
||||
"When {this} enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller."));
|
||||
"When {this} enters the battlefield, if it was kicked with its {1}{B} kicker, tap target untapped creature and that creature deals damage equal to its power to its controller."));
|
||||
}
|
||||
|
||||
public AnaBattlemage(final AnaBattlemage card) {
|
||||
|
|
@ -94,7 +93,7 @@ class AnaBattlemageKickerEffect extends OneShotEffect {
|
|||
applied = targetCreature.tap(game);
|
||||
Player controller = game.getPlayer(targetCreature.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(targetCreature.getPower().getValue(), source.getSourceId(), game, false, true);
|
||||
controller.damage(targetCreature.getPower().getValue(), source.getSourceId(), game);
|
||||
applied = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObjectReference;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
|
|
@ -19,8 +17,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.watchers.common.AttackedThisTurnWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class AngelsTrumpet extends CardImpl {
|
||||
|
|
@ -81,7 +80,7 @@ class AngelsTrumpetTapEffect extends OneShotEffect {
|
|||
count++;
|
||||
}
|
||||
if (count > 0) {
|
||||
player.damage(count, source.getSourceId(), game, false, true);
|
||||
player.damage(count, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
||||
|
|
@ -27,8 +25,9 @@ import mage.target.common.TargetCardInYourGraveyard;
|
|||
import mage.target.common.TargetOpponent;
|
||||
import mage.target.common.TargetOpponentOrPlaneswalker;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class AngrathMinotaurPirate extends CardImpl {
|
||||
|
|
@ -100,7 +99,7 @@ class AngrathMinotaurPirateThirdAbilityEffect extends OneShotEffect {
|
|||
powerSum += permanent.getPower().getValue();
|
||||
}
|
||||
game.applyEffects();
|
||||
targetOpponent.damage(powerSum, source.getSourceId(), game, false, true);
|
||||
targetOpponent.damage(powerSum, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -14,14 +12,15 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class AuraBarbs extends CardImpl {
|
||||
|
||||
public AuraBarbs(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
|
||||
this.subtype.add(SubType.ARCANE);
|
||||
|
||||
|
||||
|
|
@ -40,7 +39,7 @@ public final class AuraBarbs extends CardImpl {
|
|||
|
||||
private static class AuraBarbsEffect extends OneShotEffect {
|
||||
|
||||
public AuraBarbsEffect() {
|
||||
public AuraBarbsEffect() {
|
||||
super(Outcome.Detriment);
|
||||
staticText = "Each enchantment deals 2 damage to its controller, then each Aura attached to a creature deals 2 damage to the creature it's attached to";
|
||||
}
|
||||
|
|
@ -58,7 +57,7 @@ public final class AuraBarbs extends CardImpl {
|
|||
for (Permanent permanent : game.getBattlefield().getActivePermanents(filterEnchantments, source.getControllerId(), source.getSourceId(), game)) {
|
||||
Player controller = game.getPlayer(permanent.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(2, permanent.getId(), game, false, true);
|
||||
controller.damage(2, permanent.getId(), game);
|
||||
game.informPlayers("2 damage assigned to " + controller.getLogName() + " from " + permanent.getName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.a;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
|
|
@ -18,14 +15,16 @@ import mage.game.events.GameEvent;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class AvacynThePurifier extends CardImpl {
|
||||
|
||||
public AvacynThePurifier(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.ANGEL);
|
||||
this.power = new MageInt(6);
|
||||
|
|
@ -76,9 +75,7 @@ class AvacynThePurifierAbility extends TriggeredAbilityImpl {
|
|||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getTargetId().equals(sourceId)) {
|
||||
Permanent permanent = game.getPermanent(sourceId);
|
||||
if (permanent != null && permanent.isTransformed()) {
|
||||
return true;
|
||||
}
|
||||
return permanent != null && permanent.isTransformed();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
@ -115,7 +112,7 @@ class AvacynThePurifierEffect extends OneShotEffect {
|
|||
for (UUID opponentId : game.getOpponents(source.getControllerId())) {
|
||||
Player opponent = game.getPlayer(opponentId);
|
||||
if (opponent != null) {
|
||||
opponent.damage(3, source.getSourceId(), game, false, true);
|
||||
opponent.damage(3, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -16,19 +14,21 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author michael.napoleon@gmail.com
|
||||
*/
|
||||
public final class Backlash extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.not(TappedPredicate.instance));
|
||||
}
|
||||
|
||||
|
||||
public Backlash(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{B}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}{R}");
|
||||
|
||||
// Tap target untapped creature. That creature deals damage equal to its power to its controller.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
|
||||
|
|
@ -46,33 +46,33 @@ public final class Backlash extends CardImpl {
|
|||
}
|
||||
|
||||
class BacklashEffect extends OneShotEffect {
|
||||
|
||||
public BacklashEffect() {
|
||||
super(Outcome.Detriment);
|
||||
this.staticText = "Tap target untapped creature. That creature deals damage equal to its power to its controller.";
|
||||
}
|
||||
|
||||
public BacklashEffect(final BacklashEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BacklashEffect copy () {
|
||||
return new BacklashEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
boolean applied = false;
|
||||
Permanent targetCreature = game.getPermanent(targetPointer.getFirst(game, source));
|
||||
if (targetCreature != null) {
|
||||
applied = targetCreature.tap(game);
|
||||
Player controller = game.getPlayer(targetCreature.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(targetCreature.getPower().getValue(), source.getSourceId(), game, false, true);
|
||||
applied = true;
|
||||
}
|
||||
|
||||
public BacklashEffect() {
|
||||
super(Outcome.Detriment);
|
||||
this.staticText = "Tap target untapped creature. That creature deals damage equal to its power to its controller.";
|
||||
}
|
||||
|
||||
public BacklashEffect(final BacklashEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BacklashEffect copy() {
|
||||
return new BacklashEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
boolean applied = false;
|
||||
Permanent targetCreature = game.getPermanent(targetPointer.getFirst(game, source));
|
||||
if (targetCreature != null) {
|
||||
applied = targetCreature.tap(game);
|
||||
Player controller = game.getPlayer(targetCreature.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(targetCreature.getPower().getValue(), source.getSourceId(), game);
|
||||
applied = true;
|
||||
}
|
||||
}
|
||||
return applied;
|
||||
}
|
||||
return applied;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,21 @@
|
|||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.LimitedTimesPerTurnActivatedAbility;
|
||||
import mage.abilities.costs.common.DiscardCardCost;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class BarbarianBully extends CardImpl {
|
||||
|
|
@ -76,7 +72,7 @@ class BarbarianBullyEffect extends OneShotEffect {
|
|||
continue;
|
||||
}
|
||||
if (player.chooseUse(Outcome.UnboostCreature, "Have " + permanent.getName() + " deal 4 damage to you?", source, game)) {
|
||||
player.damage(4, permanent.getId(), game, false, true);
|
||||
player.damage(4, permanent.getId(), game);
|
||||
costPaid = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealsDamageToACreatureTriggeredAbility;
|
||||
|
|
@ -18,15 +16,15 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LoneFox
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author LoneFox
|
||||
*/
|
||||
public final class BellowingFiend extends CardImpl {
|
||||
|
||||
public BellowingFiend(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}");
|
||||
this.subtype.add(SubType.SPIRIT);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
|
@ -55,7 +53,8 @@ class BellowingFiendEffect extends OneShotEffect {
|
|||
|
||||
public BellowingFiendEffect() {
|
||||
super(Outcome.Detriment);
|
||||
this.staticText = "{this} deals 3 damage to that creature's controller"; }
|
||||
this.staticText = "{this} deals 3 damage to that creature's controller";
|
||||
}
|
||||
|
||||
public BellowingFiendEffect(final BellowingFiendEffect effect) {
|
||||
super(effect);
|
||||
|
|
@ -70,10 +69,11 @@ class BellowingFiendEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
boolean applied = false;
|
||||
Permanent damagedCreature = game.getPermanentOrLKIBattlefield(targetPointer.getFirst(game, source));
|
||||
if(damagedCreature != null) {
|
||||
if (damagedCreature != null) {
|
||||
Player controller = game.getPlayer(damagedCreature.getControllerId());
|
||||
if(controller != null) {
|
||||
controller.damage(3, source.getSourceId(), game, false, true); applied = true;
|
||||
if (controller != null) {
|
||||
controller.damage(3, source.getSourceId(), game);
|
||||
applied = true;
|
||||
}
|
||||
}
|
||||
return applied;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -19,8 +15,11 @@ import mage.game.Game;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetOpponent;
|
||||
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class BloodOath extends CardImpl {
|
||||
|
|
@ -112,7 +111,7 @@ class BloodOathEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
game.informPlayers(sourceObject.getLogName() + " deals " + (damageToDeal == 0 ? "no" : "" + damageToDeal) + " damage to " + opponent.getLogName());
|
||||
opponent.damage(damageToDeal, source.getSourceId(), game, false, true);
|
||||
opponent.damage(damageToDeal, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ class BombSquadDamgeEffect extends OneShotEffect {
|
|||
if (creature != null) {
|
||||
Player controller = game.getPlayer(creature.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(4, source.getSourceId(), game, false, true);
|
||||
controller.damage(4, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.condition.common.ManaWasSpentCondition;
|
||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||
|
|
@ -20,20 +18,21 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dilnu
|
||||
*/
|
||||
public final class BorosFuryShield extends CardImpl {
|
||||
private static final FilterAttackingOrBlockingCreature filter = new FilterAttackingOrBlockingCreature();
|
||||
|
||||
public BorosFuryShield(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}");
|
||||
|
||||
// Prevent all combat damage that would be dealt by target attacking or blocking creature this turn.
|
||||
this.getSpellAbility().addEffect(new PreventDamageByTargetEffect(Duration.EndOfTurn, true));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
|
||||
|
||||
|
||||
// If {R} was spent to cast Boros Fury-Shield, it deals damage to that creature's controller equal to the creature's power.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new BorosFuryShieldDamageEffect(),
|
||||
|
|
@ -48,7 +47,7 @@ public final class BorosFuryShield extends CardImpl {
|
|||
public BorosFuryShield copy() {
|
||||
return new BorosFuryShield(this);
|
||||
}
|
||||
|
||||
|
||||
static class BorosFuryShieldDamageEffect extends OneShotEffect {
|
||||
BorosFuryShieldDamageEffect() {
|
||||
super(Outcome.Damage);
|
||||
|
|
@ -63,12 +62,12 @@ public final class BorosFuryShield extends CardImpl {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
Permanent target = game.getPermanent(targetPointer.getFirst(game, source));
|
||||
if (target != null) {
|
||||
Player player = game.getPlayer(target.getControllerId());
|
||||
if (player != null) {
|
||||
int power = target.getPower().getValue();
|
||||
player.damage(power, source.getId(), game, false, true);
|
||||
}
|
||||
|
||||
Player player = game.getPlayer(target.getControllerId());
|
||||
if (player != null) {
|
||||
int power = target.getPower().getValue();
|
||||
player.damage(power, source.getId(), game);
|
||||
}
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
@ -77,6 +76,6 @@ public final class BorosFuryShield extends CardImpl {
|
|||
public Effect copy() {
|
||||
return new BorosFuryShieldDamageEffect(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.common.SacrificeSourceCost;
|
||||
|
|
@ -16,8 +14,9 @@ import mage.game.Game;
|
|||
import mage.game.permanent.token.DjinnToken;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author KholdFuzion
|
||||
*/
|
||||
public final class BottleOfSuleiman extends CardImpl {
|
||||
|
|
@ -66,7 +65,7 @@ class BottleOfSuleimanEffect extends OneShotEffect {
|
|||
token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId());
|
||||
return true;
|
||||
} else {
|
||||
you.damage(5, source.getSourceId(), game, false, true);
|
||||
you.damage(5, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.dynamicvalue.DynamicValue;
|
||||
|
|
@ -18,14 +16,15 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dilnu
|
||||
*/
|
||||
public final class Brightflame extends CardImpl {
|
||||
|
||||
public Brightflame(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{R}{R}{W}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{R}{R}{W}{W}");
|
||||
|
||||
// Radiance - Brightflame deals X damage to target creature and each other creature that shares a color with it. You gain life equal to the damage dealt this way.
|
||||
this.getSpellAbility().addEffect(new BrightflameEffect(ManacostVariableValue.instance));
|
||||
|
|
@ -69,13 +68,13 @@ class BrightflameEffect extends OneShotEffect {
|
|||
int damageDealt = 0;
|
||||
if (target != null) {
|
||||
ObjectColor color = target.getColor(game);
|
||||
damageDealt += target.damage(amount.calculate(game, source, this), source.getSourceId(), game, false, true);
|
||||
damageDealt += target.damage(amount.calculate(game, source, this), source.getSourceId(), game);
|
||||
for (Permanent p : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
||||
if (!target.getId().equals(p.getId()) && p.getColor(game).shares(color)) {
|
||||
damageDealt += p.damage(amount.calculate(game, source, this), source.getSourceId(), game, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Player you = game.getPlayer(source.getControllerId());
|
||||
if (you != null && damageDealt > 0) {
|
||||
you.gainLife(damageDealt, game, source);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
|
|
@ -18,8 +16,9 @@ import mage.game.events.GameEvent;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class BronzeBombshell extends CardImpl {
|
||||
|
|
@ -107,7 +106,7 @@ class BronzeBombshellEffect extends OneShotEffect {
|
|||
Player newController = game.getPlayer(bronzeBombshell.getControllerId());
|
||||
if (newController != null) {
|
||||
if (bronzeBombshell.sacrifice(source.getId(), game)) {//sacrificed by the new controlling player
|
||||
newController.damage(7, source.getSourceId(), game, false, true);//bronze bombshell does 7 damage to the controller
|
||||
newController.damage(7, source.getSourceId(), game);//bronze bombshell does 7 damage to the controller
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -14,18 +12,19 @@ import mage.game.Game;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetOpponent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Backfir3
|
||||
*/
|
||||
public final class Bulwark extends CardImpl {
|
||||
|
||||
public Bulwark(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}{R}");
|
||||
|
||||
|
||||
|
||||
// At the beginning of your upkeep, Bulwark deals X damage to target opponent, where X is
|
||||
// the number of cards in your hand minus the number of cards in that player's hand.
|
||||
// the number of cards in your hand minus the number of cards in that player's hand.
|
||||
Ability ability = new BeginningOfUpkeepTriggeredAbility(new BulwarkDamageEffect(), TargetController.YOU, false);
|
||||
ability.addTarget(new TargetOpponent());
|
||||
this.addAbility(ability);
|
||||
|
|
@ -45,7 +44,7 @@ class BulwarkDamageEffect extends OneShotEffect {
|
|||
|
||||
public BulwarkDamageEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Bulwark deals X damage to target opponent, where X is the number of cards in your hand minus the number of cards in that player's hand";
|
||||
staticText = "Bulwark deals X damage to target opponent, where X is the number of cards in your hand minus the number of cards in that player's hand";
|
||||
}
|
||||
|
||||
public BulwarkDamageEffect(final BulwarkDamageEffect effect) {
|
||||
|
|
@ -60,13 +59,13 @@ class BulwarkDamageEffect extends OneShotEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player opponent = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (opponent != null && controller != null) {
|
||||
int amount = controller.getHand().size() - opponent.getHand().size();
|
||||
if(amount > 0) {
|
||||
opponent.damage(amount, source.getSourceId(), game, false, true);
|
||||
return true;
|
||||
}
|
||||
int amount = controller.getHand().size() - opponent.getHand().size();
|
||||
if (amount > 0) {
|
||||
opponent.damage(amount, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.b;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.InfectAbility;
|
||||
|
|
@ -14,14 +12,15 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author ayratn
|
||||
*/
|
||||
public final class BurnTheImpure extends CardImpl {
|
||||
|
||||
public BurnTheImpure(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}");
|
||||
|
||||
// Burn the Impure deals 3 damage to target creature. If that creature has infect, Burn the Impure deals 3 damage to that creature’s controller.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
|
|
@ -63,7 +62,7 @@ class BurnTheImpureEffect extends OneShotEffect {
|
|||
if (permanent.getAbilities().contains(InfectAbility.getInstance())) {
|
||||
Player controller = game.getPlayer(permanent.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(3, source.getSourceId(), game, false, true);
|
||||
controller.damage(3, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -15,14 +13,15 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetOpponent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public final class CerebralEruption extends CardImpl {
|
||||
|
||||
public CerebralEruption(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{R}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}{R}");
|
||||
|
||||
// Target opponent reveals the top card of their library. Cerebral Eruption deals damage equal to the revealed card's converted mana cost to that player and each creature they control. If a land card is revealed this way, return Cerebral Eruption to its owner's hand.
|
||||
this.getSpellAbility().addTarget(new TargetOpponent());
|
||||
|
|
@ -61,7 +60,7 @@ class CerebralEruptionEffect extends OneShotEffect {
|
|||
player.revealCards(sourceObject.getIdName(), cards, game);
|
||||
game.getState().setValue(source.getSourceId().toString(), card);
|
||||
int damage = card.getConvertedManaCost();
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
for (Permanent perm : game.getBattlefield().getAllActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURES, player.getId(), game)) {
|
||||
perm.damage(damage, source.getSourceId(), game, false, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||
|
|
@ -20,14 +15,17 @@ import mage.players.Player;
|
|||
import mage.target.TargetPlayer;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author emerald000
|
||||
*/
|
||||
public final class CerebralVortex extends CardImpl {
|
||||
|
||||
public CerebralVortex(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{R}");
|
||||
|
||||
// Target player draws two cards, then Cerebral Vortex deals damage to that player equal to the number of cards they have drawn this turn.
|
||||
this.getSpellAbility().addEffect(new DrawCardTargetEffect(2));
|
||||
|
|
@ -47,28 +45,28 @@ public final class CerebralVortex extends CardImpl {
|
|||
}
|
||||
|
||||
class CerebralVortexEffect extends OneShotEffect {
|
||||
|
||||
|
||||
CerebralVortexEffect() {
|
||||
super(Outcome.Damage);
|
||||
this.staticText = ", then Cerebral Vortex deals damage to that player equal to the number of cards they have drawn this turn";
|
||||
}
|
||||
|
||||
|
||||
CerebralVortexEffect(final CerebralVortexEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CerebralVortexEffect copy() {
|
||||
return new CerebralVortexEffect(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player targetPlayer = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
||||
if (targetPlayer != null) {
|
||||
CerebralVortexWatcher watcher = game.getState().getWatcher(CerebralVortexWatcher.class);
|
||||
if (watcher != null) {
|
||||
targetPlayer.damage(watcher.getDraws(targetPlayer.getId()), source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(watcher.getDraws(targetPlayer.getId()), source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
|
|
@ -16,14 +14,15 @@ import mage.game.stack.Spell;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author emerald000
|
||||
*/
|
||||
public final class ChainLightning extends CardImpl {
|
||||
|
||||
public ChainLightning(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}");
|
||||
|
||||
// Chain Lightning deals 3 damage to any target. Then that player or that creature's controller may pay {R}{R}. If the player does, they may copy this spell and may choose a new target for that copy.
|
||||
this.getSpellAbility().addEffect(new ChainLightningEffect());
|
||||
|
|
@ -64,7 +63,7 @@ class ChainLightningEffect extends OneShotEffect {
|
|||
Player affectedPlayer = null;
|
||||
Player player = game.getPlayer(targetId);
|
||||
if (player != null) {
|
||||
player.damage(3, source.getSourceId(), game, false, true);
|
||||
player.damage(3, source.getSourceId(), game);
|
||||
affectedPlayer = player;
|
||||
} else {
|
||||
Permanent permanent = game.getPermanent(targetId);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.costs.common.DiscardCardCost;
|
||||
|
|
@ -16,8 +14,9 @@ import mage.game.stack.Spell;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ChainOfPlasma extends CardImpl {
|
||||
|
|
@ -64,7 +63,7 @@ class ChainOfPlasmaEffect extends OneShotEffect {
|
|||
Player affectedPlayer = null;
|
||||
Player player = game.getPlayer(targetId);
|
||||
if (player != null) {
|
||||
player.damage(3, source.getSourceId(), game, false, true);
|
||||
player.damage(3, source.getSourceId(), game);
|
||||
affectedPlayer = player;
|
||||
} else {
|
||||
Permanent permanent = game.getPermanent(targetId);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.MageObjectReference;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -29,8 +26,10 @@ import mage.target.common.TargetAnyTarget;
|
|||
import mage.target.common.TargetCardInGraveyard;
|
||||
import mage.target.common.TargetDiscard;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public final class ChandraAblaze extends CardImpl {
|
||||
|
|
@ -130,7 +129,7 @@ class ChandraAblazeEffect2 extends OneShotEffect {
|
|||
|
||||
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (player != null) {
|
||||
player.damage(4, source.getSourceId(), game, false, true);
|
||||
player.damage(4, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.LoyaltyAbility;
|
||||
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
|
||||
|
|
@ -12,8 +8,8 @@ import mage.abilities.effects.common.DamageTargetEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.game.Game;
|
||||
import mage.game.command.emblems.ChandraRoaringFlameEmblem;
|
||||
|
|
@ -21,8 +17,11 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.target.common.TargetPlayerOrPlaneswalker;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class ChandraRoaringFlame extends CardImpl {
|
||||
|
|
@ -87,7 +86,7 @@ class ChandraRoaringFlameEmblemEffect extends OneShotEffect {
|
|||
for (UUID playerId : game.getOpponents(controller.getId())) {
|
||||
Player opponent = game.getPlayer(playerId);
|
||||
if (opponent != null) {
|
||||
if (opponent.damage(6, source.getSourceId(), game, false, true) > 0) {
|
||||
if (opponent.damage(6, source.getSourceId(), game) > 0) {
|
||||
opponentsEmblem.add(opponent);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -14,8 +12,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class ChandrasIgnition extends CardImpl {
|
||||
|
|
@ -66,7 +65,7 @@ class ChandrasIgnitionEffect extends OneShotEffect {
|
|||
for (UUID opponentId : game.getOpponents(source.getControllerId())) {
|
||||
Player opponent = game.getPlayer(opponentId);
|
||||
if (opponent != null) {
|
||||
opponent.damage(targetCreature.getPower().getValue(), targetCreature.getId(), game, false, true);
|
||||
opponent.damage(targetCreature.getPower().getValue(), targetCreature.getId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
|
|
@ -12,19 +10,16 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.watchers.common.AttackedThisTurnWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class ChargingCinderhorn extends CardImpl {
|
||||
|
|
@ -102,7 +97,7 @@ class ChargingCinderhornDamageTargetEffect extends OneShotEffect {
|
|||
DynamicValue amount = new CountersSourceCount(CounterType.FURY);
|
||||
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (player != null) {
|
||||
player.damage(amount.calculate(game, source, this), source.getSourceId(), game, false, true);
|
||||
player.damage(amount.calculate(game, source, this), source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import mage.ObjectColor;
|
||||
|
|
@ -69,7 +68,7 @@ class CinderCloudEffect extends OneShotEffect {
|
|||
Player permanentController = game.getPlayer(permanent.getControllerId());
|
||||
if (permanentController != null) {
|
||||
int damage = permanent.getPower().getValue();
|
||||
permanentController.damage(damage, source.getSourceId(), game, false, true);
|
||||
permanentController.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.TriggeredAbility;
|
||||
|
|
@ -20,8 +18,9 @@ import mage.game.Game;
|
|||
import mage.game.events.GameEvent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Alexsandr0x
|
||||
*/
|
||||
public final class CitadelOfPain extends CardImpl {
|
||||
|
|
@ -72,7 +71,7 @@ class CitadelOfPainEffect extends OneShotEffect {
|
|||
Player player = game.getPlayer(game.getActivePlayerId());
|
||||
if (player != null) {
|
||||
int damage = game.getBattlefield().countAll(filter, game.getActivePlayerId(), game);
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -15,14 +13,15 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fenhl
|
||||
*/
|
||||
public final class CleansingBeam extends CardImpl {
|
||||
|
||||
public CleansingBeam(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{R}");
|
||||
|
||||
// Radiance — Cleansing Beam deals 2 damage to target creature and each other creature that shares a color with it.
|
||||
this.getSpellAbility().addEffect(new CleansingBeamEffect());
|
||||
|
|
@ -62,7 +61,7 @@ class CleansingBeamEffect extends OneShotEffect {
|
|||
Permanent target = game.getPermanent(targetPointer.getFirst(game, source));
|
||||
if (target != null) {
|
||||
ObjectColor color = target.getColor(game);
|
||||
target.damage(2, source.getSourceId(), game, false, true);
|
||||
target.damage(2, source.getSourceId(), game);
|
||||
for (Permanent p : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
||||
if (!target.getId().equals(p.getId()) && p.getColor(game).shares(color)) {
|
||||
p.damage(2, source.getSourceId(), game, false, true);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
|
||||
|
|
@ -9,13 +7,14 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author vereena42
|
||||
*/
|
||||
public final class CoalhaulerSwine extends CardImpl {
|
||||
|
|
@ -62,7 +61,7 @@ public final class CoalhaulerSwine extends CardImpl {
|
|||
for (UUID playerId : game.getPlayers().keySet()) {
|
||||
Player player = game.getPlayer(playerId);
|
||||
if (player != null) {
|
||||
player.damage((Integer) this.getValue("damage"), source.getSourceId(), game, false, true);
|
||||
player.damage((Integer) this.getValue("damage"), source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
|
|
@ -15,18 +13,19 @@ import mage.filter.common.FilterLandPermanent;
|
|||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class ColdSnap extends CardImpl {
|
||||
|
||||
public ColdSnap(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
|
||||
|
||||
// Cumulative upkeep {2}
|
||||
this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{2}")));
|
||||
|
||||
|
||||
// At the beginning of each player's upkeep, Cold Snap deals damage to that player equal to the number of snow lands they control.
|
||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ColdSnapDamageTargetEffect(), TargetController.ANY, false, true));
|
||||
}
|
||||
|
|
@ -41,24 +40,22 @@ public final class ColdSnap extends CardImpl {
|
|||
}
|
||||
}
|
||||
|
||||
class ColdSnapDamageTargetEffect extends OneShotEffect{
|
||||
|
||||
class ColdSnapDamageTargetEffect extends OneShotEffect {
|
||||
|
||||
private static final FilterLandPermanent filter = new FilterLandPermanent("snow lands");
|
||||
|
||||
static {
|
||||
filter.add(SuperType.SNOW.getPredicate());
|
||||
}
|
||||
|
||||
public ColdSnapDamageTargetEffect()
|
||||
{
|
||||
|
||||
public ColdSnapDamageTargetEffect() {
|
||||
super(Outcome.Damage);
|
||||
}
|
||||
|
||||
public ColdSnapDamageTargetEffect(ColdSnapDamageTargetEffect copy)
|
||||
{
|
||||
|
||||
public ColdSnapDamageTargetEffect(ColdSnapDamageTargetEffect copy) {
|
||||
super(copy);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getText(Mode mode) {
|
||||
return "{this} deals damage to that player equal to the number of snow lands they control";
|
||||
|
|
@ -69,7 +66,7 @@ class ColdSnapDamageTargetEffect extends OneShotEffect{
|
|||
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (player != null) {
|
||||
int damage = game.getBattlefield().getAllActivePermanents(filter, targetPointer.getFirst(game, source), game).size();
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.dynamicvalue.common.MultikickerCount;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -15,8 +14,9 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.targetadjustment.TargetAdjuster;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class CometStorm extends CardImpl {
|
||||
|
|
@ -77,7 +77,7 @@ class CometStormEffect extends OneShotEffect {
|
|||
permanent.damage(damage, source.getSourceId(), game, false, true);
|
||||
}
|
||||
if (player != null) {
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.PreventionEffectData;
|
||||
|
|
@ -19,14 +17,15 @@ import mage.game.stack.StackObject;
|
|||
import mage.players.Player;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class Comeuppance extends CardImpl {
|
||||
|
||||
public Comeuppance(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{W}");
|
||||
|
||||
|
||||
// Prevent all damage that would be dealt to you and planeswalkers you control this turn by sources you don't control. If damage from a creature source is prevented this way, Comeuppance deals that much damage to that creature. If damage from a noncreature source is prevented this way, Comeuppance deals that much damage to the source's controller.
|
||||
|
|
@ -43,6 +42,7 @@ public final class Comeuppance extends CardImpl {
|
|||
return new Comeuppance(this);
|
||||
}
|
||||
}
|
||||
|
||||
class ComeuppanceEffect extends PreventionEffectImpl {
|
||||
|
||||
public ComeuppanceEffect() {
|
||||
|
|
@ -72,7 +72,7 @@ class ComeuppanceEffect extends PreventionEffectImpl {
|
|||
UUID objectControllerId = null;
|
||||
if (damageDealingObject instanceof Permanent) {
|
||||
if (damageDealingObject.isCreature()) {
|
||||
((Permanent) damageDealingObject).damage(preventionData.getPreventedDamage(), source.getSourceId(), game, false, true);
|
||||
((Permanent) damageDealingObject).damage(preventionData.getPreventedDamage(), source.getSourceId(), game);
|
||||
} else {
|
||||
objectControllerId = ((Permanent) damageDealingObject).getControllerId();
|
||||
}
|
||||
|
|
@ -84,7 +84,7 @@ class ComeuppanceEffect extends PreventionEffectImpl {
|
|||
if (objectControllerId != null) {
|
||||
Player objectController = game.getPlayer(objectControllerId);
|
||||
if (objectController != null) {
|
||||
objectController.damage(preventionData.getPreventedDamage(), source.getSourceId(), game, false, true);
|
||||
objectController.damage(preventionData.getPreventedDamage(), source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -94,7 +94,7 @@ class ComeuppanceEffect extends PreventionEffectImpl {
|
|||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (!super.applies(event, source, game)) {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
boolean catched = false;
|
||||
if (event.getTargetId().equals(source.getControllerId())) {
|
||||
|
|
@ -116,7 +116,7 @@ class ComeuppanceEffect extends PreventionEffectImpl {
|
|||
} else if (damageSource instanceof Card) {
|
||||
return !((Card) damageSource).isOwnedBy(source.getControllerId());
|
||||
}
|
||||
Logger.getLogger(Comeuppance.class).error("Comeuppance: could not define source objects controller - " + (damageSource != null ? damageSource.getName(): "null"));
|
||||
Logger.getLogger(Comeuppance.class).error("Comeuppance: could not define source objects controller - " + (damageSource != null ? damageSource.getName() : "null"));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
|
|
@ -20,8 +17,10 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class CosmicHorror extends CardImpl {
|
||||
|
|
@ -80,7 +79,7 @@ class CosmicHorrorEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
if (cosmicHorror.destroy(source.getSourceId(), game, false)) {
|
||||
controller.damage(7, source.getSourceId(), game, false, true);
|
||||
controller.damage(7, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
|
|
@ -12,16 +10,17 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.predicate.permanent.CommanderPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class CrimsonHonorGuard extends CardImpl {
|
||||
|
|
@ -74,7 +73,7 @@ class CrimsonHonorGuardEffect extends OneShotEffect {
|
|||
if (player != null) {
|
||||
int numCommanders = game.getBattlefield().getAllActivePermanents(filter, player.getId(), game).size();
|
||||
if (numCommanders == 0) {
|
||||
player.damage(4, source.getSourceId(), game, false, true);
|
||||
player.damage(4, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
import mage.abilities.keyword.EnchantAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -11,22 +11,20 @@ import mage.constants.CardType;
|
|||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterPlaneswalkerPermanent;
|
||||
import mage.filter.predicate.permanent.ControllerIdPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.TargetPlayer;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.filter.common.FilterPlaneswalkerPermanent;
|
||||
import mage.filter.predicate.permanent.ControllerIdPredicate;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public final class CurseOfThePiercedHeart extends CardImpl {
|
||||
|
|
@ -138,7 +136,7 @@ class CurseOfThePiercedHeartEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
}
|
||||
opponent.damage(1, source.getSourceId(), game, false, true);
|
||||
opponent.damage(1, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
|
|
@ -21,8 +19,9 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author FenrisulfrX
|
||||
*/
|
||||
public final class DarigaazTheIgniter extends CardImpl {
|
||||
|
|
@ -82,7 +81,7 @@ class DarigaazTheIgniterEffect extends OneShotEffect {
|
|||
filter.add(new ColorPredicate(choice.getColor()));
|
||||
int damage = damagedPlayer.getHand().count(filter, source.getSourceId(), source.getControllerId(), game);
|
||||
if (damage > 0) {
|
||||
damagedPlayer.damage(damage, source.getSourceId(), game, false, true);
|
||||
damagedPlayer.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.PreventionEffectData;
|
||||
|
|
@ -18,14 +16,15 @@ import mage.game.stack.Spell;
|
|||
import mage.players.Player;
|
||||
import mage.target.TargetSource;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class DeflectingPalm extends CardImpl {
|
||||
|
||||
public DeflectingPalm(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}{W}");
|
||||
|
||||
// The next time a source of your choice would deal damage to you this turn, prevent that damage. If damage is prevented this way, Deflecting Palm deals that much damage to that source's controller.
|
||||
this.getSpellAbility().addEffect(new DeflectingPalmEffect());
|
||||
|
|
@ -44,7 +43,7 @@ public final class DeflectingPalm extends CardImpl {
|
|||
class DeflectingPalmEffect extends PreventionEffectImpl {
|
||||
|
||||
private final TargetSource target;
|
||||
|
||||
|
||||
public DeflectingPalmEffect() {
|
||||
super(Duration.EndOfTurn, Integer.MAX_VALUE, false, false);
|
||||
this.staticText = "The next time a source of your choice would deal damage to you this turn, prevent that damage. If damage is prevented this way, {this} deals that much damage to that source's controller";
|
||||
|
|
@ -68,7 +67,7 @@ class DeflectingPalmEffect extends PreventionEffectImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
PreventionEffectData preventionData = preventDamageAction(event, source, game);
|
||||
this.used = true;
|
||||
this.discard(); // only one use
|
||||
|
|
@ -85,19 +84,17 @@ class DeflectingPalmEffect extends PreventionEffectImpl {
|
|||
if (objectControllerId != null) {
|
||||
Player objectController = game.getPlayer(objectControllerId);
|
||||
if (objectController != null) {
|
||||
objectController.damage(preventionData.getPreventedDamage(), source.getSourceId(), game, false, true);
|
||||
objectController.damage(preventionData.getPreventedDamage(), source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (!this.used && super.applies(event, source, game)) {
|
||||
if (event.getTargetId().equals(source.getControllerId()) && event.getSourceId().equals(target.getFirstTarget())) {
|
||||
return true;
|
||||
}
|
||||
return event.getTargetId().equals(source.getControllerId()) && event.getSourceId().equals(target.getFirstTarget());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ class DeliriumEffect extends OneShotEffect {
|
|||
int amount = creature.getPower().getValue();
|
||||
Player controller = game.getPlayer(creature.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(amount, creature.getId(), game, false, true);
|
||||
controller.damage(amount, creature.getId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
|
|
@ -11,17 +9,14 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class DemonlordBelzenlok extends CardImpl {
|
||||
|
|
@ -90,7 +85,7 @@ class DemonlordBelzenlokEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
}
|
||||
controller.damage(addedToHand, source.getSourceId(), game, false, true);
|
||||
controller.damage(addedToHand, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,11 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.WatcherScope;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.predicate.permanent.ControllerIdPredicate;
|
||||
|
|
@ -24,8 +16,11 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetControlledPermanent;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
*/
|
||||
public final class Desolation extends CardImpl {
|
||||
|
|
@ -82,7 +77,7 @@ class DesolationEffect extends OneShotEffect {
|
|||
if (permanent != null) {
|
||||
permanent.sacrifice(source.getSourceId(), game);
|
||||
if (filterPlains.match(permanent, game)) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -104,7 +99,7 @@ class DesolationWatcher extends Watcher {
|
|||
private final Set<UUID> tappedForManaThisTurnPlayers = new HashSet<>();
|
||||
|
||||
public DesolationWatcher() {
|
||||
super( WatcherScope.GAME);
|
||||
super(WatcherScope.GAME);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -17,13 +16,12 @@ import mage.target.TargetPermanent;
|
|||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class DestructiveRevelry extends CardImpl {
|
||||
|
||||
public DestructiveRevelry(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}{G}");
|
||||
|
||||
// Destroy target artifact or enchantment. Destructive Revelry deals 2 damage to that permanent's controller.
|
||||
this.getSpellAbility().addEffect(new DestructiveRevelryEffect());
|
||||
|
|
@ -64,7 +62,7 @@ class DestructiveRevelryEffect extends OneShotEffect {
|
|||
permanent.destroy(source.getSourceId(), game, false);
|
||||
Player permController = game.getPlayer(permanent.getControllerId());
|
||||
if (permController != null) {
|
||||
permController.damage(2, source.getSourceId(), game, false, true);
|
||||
permController.damage(2, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -14,8 +12,9 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author ciaccona007
|
||||
*/
|
||||
public final class DingusStaff extends CardImpl {
|
||||
|
|
@ -36,6 +35,7 @@ public final class DingusStaff extends CardImpl {
|
|||
return new DingusStaff(this);
|
||||
}
|
||||
}
|
||||
|
||||
class DingusStaffEffect extends OneShotEffect {
|
||||
|
||||
public DingusStaffEffect() {
|
||||
|
|
@ -58,7 +58,7 @@ class DingusStaffEffect extends OneShotEffect {
|
|||
if (permanent != null) {
|
||||
Player controller = game.getPlayer(permanent.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(2,source.getSourceId(), game, false, true);
|
||||
controller.damage(2, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -16,10 +14,10 @@ import mage.filter.predicate.permanent.ControllerIdPredicate;
|
|||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LoneFox
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author LoneFox
|
||||
*/
|
||||
public final class Disorder extends CardImpl {
|
||||
|
||||
|
|
@ -30,7 +28,7 @@ public final class Disorder extends CardImpl {
|
|||
}
|
||||
|
||||
public Disorder(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}");
|
||||
|
||||
// Disorder deals 2 damage to each white creature and each player who controls a white creature.
|
||||
this.getSpellAbility().addEffect(new DamageAllEffect(2, filter));
|
||||
|
|
@ -57,7 +55,8 @@ class DisorderEffect extends OneShotEffect {
|
|||
|
||||
public DisorderEffect() {
|
||||
super(Outcome.Damage);
|
||||
this.staticText = "and each player who controls a white creature"; }
|
||||
this.staticText = "and each player who controls a white creature";
|
||||
}
|
||||
|
||||
public DisorderEffect(final DisorderEffect effect) {
|
||||
super(effect);
|
||||
|
|
@ -70,12 +69,12 @@ class DisorderEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
for(Player player : game.getPlayers().values()) {
|
||||
for (Player player : game.getPlayers().values()) {
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||
filter.add(new ControllerIdPredicate(player.getId()));
|
||||
filter.add(new ColorPredicate(ObjectColor.WHITE));
|
||||
if(game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game) > 0) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
if (game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game) > 0) {
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.PreventionEffectData;
|
||||
import mage.abilities.effects.PreventionEffectImpl;
|
||||
|
|
@ -15,13 +13,15 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author noxx
|
||||
*/
|
||||
public final class DivineDeflection extends CardImpl {
|
||||
|
||||
public DivineDeflection(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{X}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{W}");
|
||||
|
||||
|
||||
// Prevent the next X damage that would be dealt to you and/or permanents you control this turn. If damage is prevented this way, Divine Deflection deals that much damage to any target.
|
||||
|
|
@ -103,7 +103,7 @@ class DivineDeflectionPreventDamageTargetEffect extends PreventionEffectImpl {
|
|||
Player player = game.getPlayer(dealDamageTo);
|
||||
if (player != null) {
|
||||
game.informPlayers("Dealing " + prevented + " to " + player.getLogName() + " instead");
|
||||
player.damage(prevented, source.getSourceId(), game, false, true);
|
||||
player.damage(prevented, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
@ -123,9 +123,7 @@ class DivineDeflectionPreventDamageTargetEffect extends PreventionEffectImpl {
|
|||
}
|
||||
}
|
||||
// check player
|
||||
if (source.isControlledBy(event.getTargetId())) {
|
||||
return true;
|
||||
}
|
||||
return source.isControlledBy(event.getTargetId());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,25 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class DongZhouTheTyrant extends CardImpl {
|
||||
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature an opponent controls");
|
||||
|
||||
static {
|
||||
|
|
@ -32,8 +27,8 @@ public final class DongZhouTheTyrant extends CardImpl {
|
|||
}
|
||||
|
||||
public DongZhouTheTyrant(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.SOLDIER);
|
||||
this.power = new MageInt(3);
|
||||
|
|
@ -73,7 +68,7 @@ class DongZhouTheTyrantEffect extends OneShotEffect {
|
|||
int amount = creature.getPower().getValue();
|
||||
Player controller = game.getPlayer(creature.getControllerId());
|
||||
if (controller != null) {
|
||||
controller.damage(amount, creature.getId(), game, false, true);
|
||||
controller.damage(amount, creature.getId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -97,7 +96,7 @@ class DraconicRoarEffect extends OneShotEffect {
|
|||
if (permanent != null) {
|
||||
Player player = game.getPlayer(permanent.getControllerId());
|
||||
if (player != null) {
|
||||
player.damage(3, source.getSourceId(), game, false, true);
|
||||
player.damage(3, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
|
||||
import mage.abilities.effects.Effect;
|
||||
|
|
@ -20,8 +18,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class DragonTempest extends CardImpl {
|
||||
|
|
@ -99,7 +98,7 @@ class DragonTempestDamageEffect extends OneShotEffect {
|
|||
} else {
|
||||
Player player = game.getPlayer(source.getTargets().getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(amount, damageSource.getId(), game, false, true);
|
||||
player.damage(amount, damageSource.getId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
|
|
@ -20,6 +19,8 @@ import mage.players.Player;
|
|||
import mage.target.Target;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
|
|
@ -96,7 +97,7 @@ class DrakusethMawOfFlamesEffect extends OneShotEffect {
|
|||
}
|
||||
Player player = game.getPlayer(targetId);
|
||||
if (player != null) {
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -10,16 +8,17 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetLandPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Styxo
|
||||
*/
|
||||
public final class DwarvenDriller extends CardImpl {
|
||||
|
|
@ -71,7 +70,7 @@ class DwarvenDrillerEffect extends OneShotEffect {
|
|||
if (player != null) {
|
||||
String message = "Have Dwarven Driller do 2 damage to you?";
|
||||
if (player.chooseUse(Outcome.Damage, message, source, game)) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
} else {
|
||||
permanent.destroy(source.getId(), game, false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
|
|
@ -19,15 +17,16 @@ import mage.game.events.GameEvent.EventType;
|
|||
import mage.game.stack.Spell;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class DwarvenShrine extends CardImpl {
|
||||
|
||||
public DwarvenShrine(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}");
|
||||
|
||||
|
||||
|
||||
// Whenever a player casts a spell, Dwarven Shrine deals X damage to that player, where X is twice the number of cards in all graveyards with the same name as that spell.
|
||||
this.addAbility(new DwarvenShrineTriggeredAbility());
|
||||
|
|
@ -90,7 +89,7 @@ class DwarvenShrineEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
int count = 0;
|
||||
MageObject mageObject = game.getObject(source.getSourceId());
|
||||
if(mageObject != null) {
|
||||
if (mageObject != null) {
|
||||
Spell spell = (Spell) game.getState().getValue("dwarvenShrine" + mageObject);
|
||||
if (spell != null) {
|
||||
Player controller = game.getPlayer(spell.getControllerId());
|
||||
|
|
@ -104,7 +103,7 @@ class DwarvenShrineEffect extends OneShotEffect {
|
|||
count += player.getGraveyard().count(filterCardName, game);
|
||||
}
|
||||
}
|
||||
controller.damage(count * 2, mageObject.getId(), game, false, true);
|
||||
controller.damage(count * 2, mageObject.getId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.ObjectColor;
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -12,11 +10,7 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -25,8 +19,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
*/
|
||||
public final class ElderSpawn extends CardImpl {
|
||||
|
|
@ -36,7 +31,7 @@ public final class ElderSpawn extends CardImpl {
|
|||
static {
|
||||
filter.add(new ColorPredicate(ObjectColor.RED));
|
||||
}
|
||||
|
||||
|
||||
public ElderSpawn(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}{U}");
|
||||
this.subtype.add(SubType.SPAWN);
|
||||
|
|
@ -49,11 +44,11 @@ public final class ElderSpawn extends CardImpl {
|
|||
// Elder Spawn can't be blocked by red creatures.
|
||||
this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield)));
|
||||
}
|
||||
|
||||
|
||||
public ElderSpawn(final ElderSpawn card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ElderSpawn copy() {
|
||||
return new ElderSpawn(this);
|
||||
|
|
@ -63,10 +58,11 @@ public final class ElderSpawn extends CardImpl {
|
|||
class ElderSpawnEffect extends OneShotEffect {
|
||||
|
||||
private static final FilterControlledPermanent filter = new FilterControlledPermanent("an Island");
|
||||
|
||||
static {
|
||||
filter.add(SubType.ISLAND.getPredicate());
|
||||
}
|
||||
|
||||
|
||||
public ElderSpawnEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
staticText = "unless you sacrifice an Island, sacrifice {this} and it deals 6 damage to you";
|
||||
|
|
@ -92,7 +88,7 @@ class ElderSpawnEffect extends OneShotEffect {
|
|||
|| !cost.canPay(source, source.getSourceId(), source.getControllerId(), game)
|
||||
|| !cost.pay(source, game, source.getSourceId(), source.getControllerId(), true)) {
|
||||
sourcePermanent.sacrifice(source.getSourceId(), game);
|
||||
controller.damage(6, sourcePermanent.getId(), game, false, true);
|
||||
controller.damage(6, sourcePermanent.getId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.costs.mana.ManaCosts;
|
||||
|
|
@ -19,14 +17,15 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public final class Electropotence extends CardImpl {
|
||||
|
||||
public Electropotence(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
|
||||
|
||||
|
||||
// Whenever a creature enters the battlefield under your control, you may pay {2}{R}. If you do, that creature deals damage equal to its power to any target.
|
||||
|
|
@ -65,7 +64,7 @@ class ElectropotenceTriggeredAbility extends TriggeredAbilityImpl {
|
|||
Permanent permanent = game.getPermanent(event.getTargetId());
|
||||
if (permanent != null && permanent.isCreature()
|
||||
&& permanent.isControlledBy(this.controllerId)) {
|
||||
this.getEffects().get(0).setValue("damageSource", event.getTargetId());
|
||||
this.getEffects().get(0).setValue("damageSource", event.getTargetId());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -104,7 +103,7 @@ class ElectropotenceEffect extends OneShotEffect {
|
|||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (creature != null && controller != null) {
|
||||
if (controller.chooseUse(Outcome.Damage, "Pay {2}{R} to do the damage?", source, game)) {
|
||||
// if (controller.chooseUse(Outcome.Damage, "Pay {2}{R}? If you do, " + creature.getName() + " deals damage equal to its power to any target.", game)) {
|
||||
// if (controller.chooseUse(Outcome.Damage, "Pay {2}{R}? If you do, " + creature.getName() + " deals damage equal to its power to any target.", game)) {
|
||||
ManaCosts manaCosts = new ManaCostsImpl("{2}{R}");
|
||||
if (manaCosts.pay(source, game, source.getSourceId(), controller.getId(), false, null)) {
|
||||
int amount = creature.getPower().getValue();
|
||||
|
|
@ -115,12 +114,12 @@ class ElectropotenceEffect extends OneShotEffect {
|
|||
} else {
|
||||
Player player = game.getPlayer(target);
|
||||
if (player != null) {
|
||||
player.damage(amount, creature.getId(), game, false, true);
|
||||
player.damage(amount, creature.getId(), game);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class EmbersmithEffect extends OneShotEffect {
|
|||
}
|
||||
Player player = game.getPlayer(source.getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(1, source.getSourceId(), game, false, true);
|
||||
player.damage(1, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -14,8 +13,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetEnchantmentPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class EnchantersBane extends CardImpl {
|
||||
|
|
@ -72,7 +72,7 @@ class EnchantersBaneEffect extends OneShotEffect {
|
|||
if (player.chooseUse(Outcome.GainLife, "Sacrifice " + permanent.getLogName() + "?", source, game)) {
|
||||
permanent.sacrifice(source.getSourceId(), game);
|
||||
} else {
|
||||
player.damage(permanent.getConvertedManaCost(), permanent.getId(), game, false, true);
|
||||
player.damage(permanent.getConvertedManaCost(), permanent.getId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
|
|
@ -11,25 +9,22 @@ import mage.abilities.effects.common.continuous.ControlEnchantedEffect;
|
|||
import mage.abilities.keyword.EnchantAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Loki
|
||||
*/
|
||||
public final class Enslave extends CardImpl {
|
||||
|
||||
public Enslave(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{B}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{B}{B}");
|
||||
this.subtype.add(SubType.AURA);
|
||||
|
||||
// Enchant creature
|
||||
|
|
@ -76,7 +71,7 @@ class EnslaveEffect extends OneShotEffect {
|
|||
if (attached != null) {
|
||||
Player owner = game.getPlayer(attached.getOwnerId());
|
||||
if (owner != null) {
|
||||
owner.damage(1, attached.getId(), game, false, true);
|
||||
owner.damage(1, attached.getId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.Card;
|
||||
|
|
@ -15,8 +13,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author nigelzor
|
||||
*/
|
||||
public final class ErraticExplosion extends CardImpl {
|
||||
|
|
@ -77,7 +76,7 @@ class ErraticExplosionEffect extends OneShotEffect {
|
|||
} else {
|
||||
Player targetPlayer = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
||||
if (targetPlayer != null) {
|
||||
targetPlayer.damage(nonLandCard.getConvertedManaCost(), source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(nonLandCard.getConvertedManaCost(), source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -14,8 +12,9 @@ import mage.game.stack.Spell;
|
|||
import mage.players.Player;
|
||||
import mage.target.TargetSpell;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class EssenceBacklash extends CardImpl {
|
||||
|
|
@ -63,7 +62,7 @@ class EssenceBacklashEffect extends OneShotEffect {
|
|||
|
||||
result = game.getStack().counter(source.getFirstTarget(), source.getSourceId(), game);
|
||||
if (spellController != null) {
|
||||
spellController.damage(spell.getPower().getValue(), source.getSourceId(), game, false, true);
|
||||
spellController.damage(spell.getPower().getValue(), source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -18,8 +16,9 @@ import mage.players.Library;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class ExplosiveRevelation extends CardImpl {
|
||||
|
|
@ -86,7 +85,7 @@ class ExplosiveRevelationEffect extends OneShotEffect {
|
|||
} else {
|
||||
Player targetedPlayer = game.getPlayer(targetId);
|
||||
if (targetedPlayer != null) {
|
||||
targetedPlayer.damage(damage, source.getSourceId(), game, false, true);
|
||||
targetedPlayer.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.e;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -15,14 +13,15 @@ import mage.game.events.GameEvent;
|
|||
import mage.players.Player;
|
||||
import mage.target.TargetSource;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
*/
|
||||
public final class EyeForAnEye extends CardImpl {
|
||||
|
||||
public EyeForAnEye(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}{W}");
|
||||
|
||||
// The next time a source of your choice would deal damage to you this turn, instead that source deals that much damage to you and Eye for an Eye deals that much damage to that source's controller.
|
||||
this.getSpellAbility().addEffect(new EyeForAnEyeEffect());
|
||||
|
|
@ -84,7 +83,7 @@ class EyeForAnEyeEffect extends ReplacementEffectImpl {
|
|||
if (sourceControllerId != null) {
|
||||
Player sourceController = game.getPlayer(sourceControllerId);
|
||||
if (sourceController != null) {
|
||||
sourceController.damage(damageEvent.getAmount(), source.getSourceId(), game, false, true);
|
||||
sourceController.damage(damageEvent.getAmount(), source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -14,14 +11,16 @@ import mage.constants.TargetController;
|
|||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class FeveredVisions extends CardImpl {
|
||||
|
||||
public FeveredVisions(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}{R}");
|
||||
|
||||
// At the beginning of each player's end step, that player draws a card. If the player is your opponent and has four or more cards in hand,
|
||||
// Fevered Visions deals 2 damage to that player.
|
||||
|
|
@ -58,7 +57,7 @@ class FeveredVisionsEffect extends OneShotEffect {
|
|||
player.drawCards(1, game);
|
||||
Set<UUID> opponents = game.getOpponents(source.getControllerId());
|
||||
if (opponents.contains(player.getId()) && player.getHand().size() > 3) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.Cost;
|
||||
|
|
@ -15,17 +13,18 @@ import mage.constants.AbilityWord;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*
|
||||
*/
|
||||
public final class FieryBombardment extends CardImpl {
|
||||
|
||||
|
|
@ -83,7 +82,7 @@ class FieryBombardmentEffect extends OneShotEffect {
|
|||
if (damage > 0) {
|
||||
Player player = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
||||
if (player != null) {
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
} else {
|
||||
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||
if (creature != null) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -78,7 +77,7 @@ class FireballEffect extends OneShotEffect {
|
|||
} else {
|
||||
Player player = game.getPlayer(targetId);
|
||||
if (player != null) {
|
||||
player.damage(damagePer, source.getSourceId(), game, false, true);
|
||||
player.damage(damagePer, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ class FlameblastDragonEffect extends OneShotEffect {
|
|||
}
|
||||
Player targetPlayer = game.getPlayer(source.getFirstTarget());
|
||||
if (targetPlayer != null) {
|
||||
targetPlayer.damage(costX, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(costX, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ class FlayerEffect extends OneShotEffect {
|
|||
}
|
||||
Player player = game.getPlayer(target);
|
||||
if (player != null) {
|
||||
player.damage(amount, creature.getId(), game, false, true);
|
||||
player.damage(amount, creature.getId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.Card;
|
||||
|
|
@ -16,11 +15,13 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.Target;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.common.TargetCardInGraveyard;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public final class FleshBlood extends SplitCard {
|
||||
|
||||
public FleshBlood(UUID ownerId, CardSetInfo setInfo) {
|
||||
|
|
@ -111,7 +112,7 @@ class BloodEffect extends OneShotEffect {
|
|||
}
|
||||
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getFirstTarget());
|
||||
if (sourcePermanent != null && targetPlayer != null) {
|
||||
targetPlayer.damage(sourcePermanent.getPower().getValue(), sourcePermanent.getId(), game, false, true);
|
||||
targetPlayer.damage(sourcePermanent.getPower().getValue(), sourcePermanent.getId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,25 +1,24 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class FleshReaver extends CardImpl {
|
||||
|
|
@ -113,7 +112,7 @@ class FleshReaverEffect extends OneShotEffect {
|
|||
}
|
||||
int damageToDeal = (Integer) getValue("damage");
|
||||
if (damageToDeal > 0) {
|
||||
controller.damage(damageToDeal, source.getSourceId(), game, false, true);
|
||||
controller.damage(damageToDeal, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.keyword.ScryEffect;
|
||||
|
|
@ -14,8 +12,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Styxo
|
||||
*/
|
||||
public final class ForceDrain extends CardImpl {
|
||||
|
|
@ -69,7 +68,7 @@ class ForceDrainEffect extends OneShotEffect {
|
|||
|
||||
Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
|
||||
if (player != null) {
|
||||
if (player.damage(2, source.getId(), game, false, true) > 0) {
|
||||
if (player.damage(2, source.getId(), game) > 0) {
|
||||
controller.gainLife(2, game, source);
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
|
|
@ -12,20 +10,21 @@ import mage.abilities.keyword.TrampleAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class ForceOfNature extends CardImpl {
|
||||
|
||||
public ForceOfNature(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}{G}{G}");
|
||||
this.subtype.add(SubType.ELEMENTAL);
|
||||
this.power = new MageInt(8);
|
||||
this.toughness = new MageInt(8);
|
||||
|
|
@ -72,7 +71,7 @@ class ForceOfNatureEffect extends OneShotEffect {
|
|||
String message = "Would you like to pay {G}{G}{G}{G} to prevent taking 8 damage from {this}?";
|
||||
if (!(controller.chooseUse(Outcome.Benefit, message, source, game)
|
||||
&& cost.pay(source, game, source.getSourceId(), controller.getId(), false, null))) {
|
||||
controller.damage(8, source.getSourceId(), game, false, true);
|
||||
controller.damage(8, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
|
|
@ -17,8 +15,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetOpponentsCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class FormOfTheDinosaur extends CardImpl {
|
||||
|
|
@ -68,7 +67,7 @@ class FormOfTheDinosaurEffect extends OneShotEffect {
|
|||
Permanent targetCreature = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||
if (targetCreature != null) {
|
||||
targetCreature.damage(15, source.getSourceId(), game, false, true);
|
||||
controller.damage(targetCreature.getPower().getValue(), targetCreature.getId(), game, false, true);
|
||||
controller.damage(targetCreature.getPower().getValue(), targetCreature.getId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.f;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -13,8 +11,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class FriendlyFire extends CardImpl {
|
||||
|
|
@ -70,7 +69,7 @@ class FriendlyFireEffect extends OneShotEffect {
|
|||
controllerOfTargetCreature.revealCards(sourceObject.getName(), cards, game);
|
||||
int damage = card.getConvertedManaCost();
|
||||
targetCreature.damage(damage, source.getSourceId(), game, false, true);
|
||||
controllerOfTargetCreature.damage(damage, source.getSourceId(), game, false, true);
|
||||
controllerOfTargetCreature.damage(damage, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class GargantuanGorillaSacrificeEffect extends OneShotEffect {
|
|||
|| !cost.canPay(source, source.getSourceId(), source.getControllerId(), game)
|
||||
|| !cost.pay(source, game, source.getSourceId(), source.getControllerId(), true)) {
|
||||
sourcePermanent.sacrifice(source.getSourceId(), game);
|
||||
controller.damage(7, sourcePermanent.getId(), game, false, true);
|
||||
controller.damage(7, sourcePermanent.getId(), game);
|
||||
} else if (cost.isPaid()) {
|
||||
for (Permanent permanent : cost.getPermanents()) {
|
||||
if (filterSnow.match(permanent, game)) {
|
||||
|
|
|
|||
|
|
@ -1,26 +1,25 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class GazeOfAdamaro extends CardImpl {
|
||||
|
||||
public GazeOfAdamaro(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}{R}");
|
||||
this.subtype.add(SubType.ARCANE);
|
||||
|
||||
|
||||
|
|
@ -59,7 +58,7 @@ class GazeOfAdamaroEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source));
|
||||
if (targetPlayer != null) {
|
||||
targetPlayer.damage(targetPlayer.getHand().size(), source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(targetPlayer.getHand().size(), source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -10,22 +8,23 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author nantuko
|
||||
*/
|
||||
public final class GoblinBangchuckers extends CardImpl {
|
||||
|
||||
public GoblinBangchuckers(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
|
||||
this.subtype.add(SubType.GOBLIN);
|
||||
this.subtype.add(SubType.WARRIOR);
|
||||
|
||||
|
|
@ -71,7 +70,7 @@ class GoblinBangchuckersEffect extends OneShotEffect {
|
|||
}
|
||||
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (player != null) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -18,8 +16,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Plopman
|
||||
*/
|
||||
public final class GoblinCharbelcher extends CardImpl {
|
||||
|
|
@ -100,7 +99,7 @@ class GoblinCharbelcherEffect extends OneShotEffect {
|
|||
} else {
|
||||
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (targetPlayer != null) {
|
||||
targetPlayer.damage(damage, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
controller.putCardsOnBottomOfLibrary(cards, game, source, true);
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class GoblinLyreEffect extends OneShotEffect {
|
|||
}
|
||||
} else {
|
||||
int damage = game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), opponent.getId(), game).size();
|
||||
return controller.damage(damage, source.getSourceId(), game, false, true) > 0;
|
||||
return controller.damage(damage, source.getSourceId(), game) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -10,16 +8,17 @@ import mage.abilities.effects.ReplacementEffectImpl;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.DamageEvent;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
*/
|
||||
public final class GoblinPsychopath extends CardImpl {
|
||||
|
|
@ -99,7 +98,7 @@ class GoblinPsychopathEffect extends ReplacementEffectImpl {
|
|||
return false;
|
||||
}
|
||||
// TODO: make this redirect damage from all blockers
|
||||
controller.damage(event.getAmount(), source.getSourceId(), game, false, true);
|
||||
controller.damage(event.getAmount(), source.getSourceId(), game);
|
||||
String sourceLogName = game.getObject(source.getSourceId()).getLogName() + ": ";
|
||||
game.informPlayers(sourceLogName + "Redirected " + event.getAmount() + " damage to " + controller.getLogName());
|
||||
this.discard();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package mage.cards.g;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.JumpStartAbility;
|
||||
|
|
@ -14,8 +13,9 @@ import mage.players.Player;
|
|||
import mage.target.TargetPlayer;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class GraviticPunch extends CardImpl {
|
||||
|
|
@ -67,7 +67,7 @@ class GraviticPunchEffect extends OneShotEffect {
|
|||
if (player == null || controlledCreature == null) {
|
||||
return false;
|
||||
}
|
||||
player.damage(controlledCreature.getPower().getValue(), controlledCreature.getId(), game, false, true);
|
||||
player.damage(controlledCreature.getPower().getValue(), controlledCreature.getId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import mage.MageInt;
|
||||
|
|
@ -20,7 +19,6 @@ import mage.players.Player;
|
|||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class GreatbowDoyen extends CardImpl {
|
||||
|
|
@ -33,7 +31,7 @@ public final class GreatbowDoyen extends CardImpl {
|
|||
}
|
||||
|
||||
public GreatbowDoyen(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}");
|
||||
this.subtype.add(SubType.ELF);
|
||||
this.subtype.add(SubType.ARCHER);
|
||||
|
||||
|
|
@ -81,7 +79,7 @@ class GreatbowDoyenTriggeredAbility extends TriggeredAbilityImpl {
|
|||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
Permanent creature = game.getPermanent(event.getSourceId());
|
||||
Permanent damagedCreature = game.getPermanent(event.getTargetId());
|
||||
if (creature != null && damagedCreature != null
|
||||
if (creature != null && damagedCreature != null
|
||||
&& creature.isCreature()
|
||||
&& creature.hasSubtype(SubType.ARCHER, game)
|
||||
&& creature.isControlledBy(controllerId)) {
|
||||
|
|
@ -128,7 +126,7 @@ class GreatbowDoyenEffect extends OneShotEffect {
|
|||
if (permanent != null) {
|
||||
Player player = game.getPlayer(controllerId);
|
||||
if (player != null) {
|
||||
player.damage(damageAmount, sourceOfDamage, game, false, true);
|
||||
player.damage(damageAmount, sourceOfDamage, game);
|
||||
game.informPlayers(permanent.getName() + " deals " + damageAmount + " damage to " + player.getLogName());
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,23 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealsDamageToOpponentTriggeredAbility;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.constants.SubType;
|
||||
import mage.abilities.keyword.MeleeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class GrenzosRuffians extends CardImpl {
|
||||
|
|
@ -73,7 +72,7 @@ class GrenzosRuffiansEffect extends OneShotEffect {
|
|||
if (!Objects.equals(playerId, damagedOpponent)) {
|
||||
Player opponent = game.getPlayer(playerId);
|
||||
if (opponent != null) {
|
||||
int dealtDamage = opponent.damage(amount, source.getSourceId(), game, false, true);
|
||||
int dealtDamage = opponent.damage(amount, source.getSourceId(), game);
|
||||
game.informPlayers(object.getLogName() + " deals " + dealtDamage + " damage to " + opponent.getLogName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
|
|
@ -14,25 +12,22 @@ import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
|||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.AttachmentType;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author North
|
||||
*/
|
||||
public final class Hankyu extends CardImpl {
|
||||
|
||||
public Hankyu(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}");
|
||||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
/* Equipped creature has "{T}: Put an aim counter on Hankyu" and */
|
||||
|
|
@ -40,8 +35,8 @@ public final class Hankyu extends CardImpl {
|
|||
ability1.setSourceId(this.getId()); // to know where to put the counters on
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability1, AttachmentType.EQUIPMENT)));
|
||||
|
||||
/* "{T}, Remove all aim counters from Hankyu: This creature deals
|
||||
* damage to any target equal to the number of
|
||||
/* "{T}, Remove all aim counters from Hankyu: This creature deals
|
||||
* damage to any target equal to the number of
|
||||
* aim counters removed this way." */
|
||||
SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HankyuDealsDamageEffect(), new TapSourceCost());
|
||||
ability2.addCost(new HankyuCountersSourceCost(this.getId()));
|
||||
|
|
@ -64,7 +59,7 @@ public final class Hankyu extends CardImpl {
|
|||
|
||||
class HankyuAddCounterEffect extends OneShotEffect {
|
||||
|
||||
private UUID effectGivingEquipmentId;
|
||||
private UUID effectGivingEquipmentId;
|
||||
|
||||
public HankyuAddCounterEffect(UUID effectGivingEquipmentId) {
|
||||
super(Outcome.Benefit);
|
||||
|
|
@ -74,7 +69,7 @@ class HankyuAddCounterEffect extends OneShotEffect {
|
|||
|
||||
public HankyuAddCounterEffect(final HankyuAddCounterEffect effect) {
|
||||
super(effect);
|
||||
this.effectGivingEquipmentId = effect.effectGivingEquipmentId;
|
||||
this.effectGivingEquipmentId = effect.effectGivingEquipmentId;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -119,14 +114,14 @@ class HankyuDealsDamageEffect extends OneShotEffect {
|
|||
int damageAmount = cost.getRemovedCounters();
|
||||
if (damageAmount > 0) {
|
||||
|
||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||
if (permanent != null) {
|
||||
permanent.damage(damageAmount, source.getSourceId(), game, false, true);
|
||||
}
|
||||
Player player = game.getPlayer(source.getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(damageAmount, source.getSourceId(), game, false, true);
|
||||
}
|
||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||
if (permanent != null) {
|
||||
permanent.damage(damageAmount, source.getSourceId(), game, false, true);
|
||||
}
|
||||
Player player = game.getPlayer(source.getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(damageAmount, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -137,37 +132,37 @@ class HankyuDealsDamageEffect extends OneShotEffect {
|
|||
|
||||
class HankyuCountersSourceCost extends CostImpl {
|
||||
|
||||
private int removedCounters;
|
||||
private UUID effectGivingEquipmentId;
|
||||
private int removedCounters;
|
||||
private UUID effectGivingEquipmentId;
|
||||
|
||||
public HankyuCountersSourceCost(UUID effectGivingEquipmentId) {
|
||||
super();
|
||||
this.removedCounters = 0;
|
||||
this.effectGivingEquipmentId = effectGivingEquipmentId;
|
||||
this.text = "Remove all aim counters from Hankyu";
|
||||
public HankyuCountersSourceCost(UUID effectGivingEquipmentId) {
|
||||
super();
|
||||
this.removedCounters = 0;
|
||||
this.effectGivingEquipmentId = effectGivingEquipmentId;
|
||||
this.text = "Remove all aim counters from Hankyu";
|
||||
}
|
||||
|
||||
public HankyuCountersSourceCost(HankyuCountersSourceCost cost) {
|
||||
super(cost);
|
||||
this.effectGivingEquipmentId = cost.effectGivingEquipmentId;
|
||||
this.removedCounters = cost.removedCounters;
|
||||
this.effectGivingEquipmentId = cost.effectGivingEquipmentId;
|
||||
this.removedCounters = cost.removedCounters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPay(Ability ability, UUID sourceId, UUID controllerId, Game game) {
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) {
|
||||
Permanent equipment = game.getPermanent(this.effectGivingEquipmentId);
|
||||
if (equipment != null ) {
|
||||
this.removedCounters = equipment.getCounters(game).getCount(CounterType.AIM);
|
||||
if (this.removedCounters > 0) {
|
||||
equipment.removeCounters("aim", this.removedCounters, game);
|
||||
}
|
||||
}
|
||||
this.paid = true;
|
||||
if (equipment != null) {
|
||||
this.removedCounters = equipment.getCounters(game).getCount(CounterType.AIM);
|
||||
if (this.removedCounters > 0) {
|
||||
equipment.removeCounters("aim", this.removedCounters, game);
|
||||
}
|
||||
}
|
||||
this.paid = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -176,7 +171,7 @@ class HankyuCountersSourceCost extends CostImpl {
|
|||
return new HankyuCountersSourceCost(this);
|
||||
}
|
||||
|
||||
public int getRemovedCounters() {
|
||||
return this.removedCounters;
|
||||
}
|
||||
public int getRemovedCounters() {
|
||||
return this.removedCounters;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.DelayedTriggeredAbility;
|
||||
|
|
@ -12,11 +10,7 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.TurnPhase;
|
||||
import mage.constants.*;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.permanent.AttackingPredicate;
|
||||
import mage.game.Game;
|
||||
|
|
@ -27,8 +21,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.watchers.common.PlayerAttackedStepWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2 & L_J
|
||||
*/
|
||||
public final class HarshJustice extends CardImpl {
|
||||
|
|
@ -134,7 +129,7 @@ class HarshJusticeEffect extends OneShotEffect {
|
|||
Player controller = game.getPlayer(targetObject.getControllerId());
|
||||
if (controller != null) {
|
||||
game.informPlayers(sourceObject.getLogName() + ": " + targetObject.getLogName() + " deals " + damage + " damage to " + controller.getLogName());
|
||||
controller.damage(damage, sourceId, game, false, true);
|
||||
controller.damage(damage, sourceId, game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.AttacksTriggeredAbility;
|
||||
|
|
@ -11,20 +9,20 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LoneFox
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author LoneFox
|
||||
*/
|
||||
public final class HasranOgress extends CardImpl {
|
||||
|
||||
public HasranOgress(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}");
|
||||
this.subtype.add(SubType.OGRE);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(2);
|
||||
|
|
@ -67,7 +65,7 @@ class HasranOgressEffect extends OneShotEffect {
|
|||
String message = "Would you like to pay {2} to prevent taking 3 damage from Hasran Ogress?";
|
||||
if (!(controller.chooseUse(Outcome.Benefit, message, source, game)
|
||||
&& cost.pay(source, game, source.getSourceId(), controller.getId(), false, null))) {
|
||||
controller.damage(3, source.getSourceId(), game, false, true);
|
||||
controller.damage(3, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -13,19 +11,20 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.Target;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class HatchetBully extends CardImpl {
|
||||
|
|
@ -115,7 +114,7 @@ class HatchetBullyEffect extends OneShotEffect {
|
|||
}
|
||||
Player player = game.getPlayer(source.getFirstTarget());
|
||||
if (player != null) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
|
|
@ -21,8 +19,9 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetPlayerOrPlaneswalker;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author emerald000 & L_J
|
||||
*/
|
||||
public final class HeartOfBogardan extends CardImpl {
|
||||
|
|
@ -102,7 +101,7 @@ class HeartOfBogardanEffect extends OneShotEffect {
|
|||
if (player != null && sourcePermanent != null) {
|
||||
int damage = sourcePermanent.getCounters(game).getCount(CounterType.AGE) * 2 - 2;
|
||||
if (damage > 0) {
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
for (Permanent perm : game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId(), game)) {
|
||||
perm.damage(damage, source.getSourceId(), game, false, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
|
|
@ -9,22 +7,19 @@ import mage.abilities.costs.common.TapSourceCost;
|
|||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SuperType;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class HeartlessHidetsugu extends CardImpl {
|
||||
|
||||
public HeartlessHidetsugu(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}");
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.OGRE);
|
||||
this.subtype.add(SubType.SHAMAN);
|
||||
|
|
@ -71,7 +66,7 @@ class HeartlessHidetsuguDamageEffect extends OneShotEffect {
|
|||
Player player = game.getPlayer(playerId);
|
||||
if (player != null) {
|
||||
int damage = player.getLife() / 2;
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
player.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
|
|
@ -12,20 +10,21 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.Cards;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jeffwadsworth
|
||||
*/
|
||||
public final class HellholeRats extends CardImpl {
|
||||
|
||||
public HellholeRats(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}");
|
||||
this.subtype.add(SubType.RAT);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
|
@ -76,7 +75,7 @@ class HellholeRatsEffect extends OneShotEffect {
|
|||
for (Card card : cards.getCards(game)) {
|
||||
damage = card.getConvertedManaCost();
|
||||
}
|
||||
targetPlayer.damage(damage, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
|
|
@ -18,8 +15,10 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public final class HereticsPunishment extends CardImpl {
|
||||
|
|
@ -74,7 +73,7 @@ class HereticsPunishmentEffect extends OneShotEffect {
|
|||
}
|
||||
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (targetPlayer != null) {
|
||||
targetPlayer.damage(maxCost, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(maxCost, source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -12,14 +10,15 @@ import mage.game.Game;
|
|||
import mage.players.Player;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class HidetsugusSecondRite extends CardImpl {
|
||||
|
||||
public HidetsugusSecondRite(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}");
|
||||
|
||||
|
||||
// If target player has exactly 10 life, Hidetsugu's Second Rite deals 10 damage to that player.
|
||||
|
|
@ -58,7 +57,7 @@ class HidetsugusSecondRiteEffect extends OneShotEffect {
|
|||
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
||||
if (targetPlayer != null) {
|
||||
if (targetPlayer.getLife() == 10) {
|
||||
targetPlayer.damage(10, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(10, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
|
@ -22,8 +20,9 @@ import mage.target.TargetPlayer;
|
|||
import mage.target.common.TargetControlledPermanent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class HitRun extends SplitCard {
|
||||
|
|
@ -85,7 +84,7 @@ class HitEffect extends OneShotEffect {
|
|||
permanent.sacrifice(source.getSourceId(), game);
|
||||
int damage = permanent.getConvertedManaCost();
|
||||
if (damage > 0) {
|
||||
targetPlayer.damage(damage, source.getSourceId(), game, false, true);
|
||||
targetPlayer.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
|
|
@ -16,14 +14,15 @@ import mage.game.events.GameEvent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author L_J
|
||||
*/
|
||||
public final class HonorablePassage extends CardImpl {
|
||||
|
||||
public HonorablePassage(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}");
|
||||
|
||||
// The next time a source of your choice would deal damage to any target this turn, prevent that damage. If damage from a red source is prevented this way, Honorable Passage deals that much damage to the source's controller.
|
||||
this.getSpellAbility().addEffect(new HonorablePassageEffect());
|
||||
|
|
@ -41,15 +40,15 @@ public final class HonorablePassage extends CardImpl {
|
|||
}
|
||||
|
||||
class HonorablePassageEffect extends PreventNextDamageFromChosenSourceToTargetEffect {
|
||||
|
||||
|
||||
public HonorablePassageEffect() {
|
||||
super(Duration.EndOfTurn);
|
||||
}
|
||||
|
||||
|
||||
public HonorablePassageEffect(final HonorablePassageEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public HonorablePassageEffect copy() {
|
||||
return new HonorablePassageEffect(this);
|
||||
|
|
@ -66,7 +65,7 @@ class HonorablePassageEffect extends PreventNextDamageFromChosenSourceToTargetEf
|
|||
if (sourceControllerId != null) {
|
||||
Player sourceController = game.getPlayer(sourceControllerId);
|
||||
if (sourceController != null) {
|
||||
sourceController.damage(damage, source.getSourceId(), game, false, true);
|
||||
sourceController.damage(damage, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -14,6 +12,8 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.target.common.TargetPlayerOrPlaneswalker;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author JRHerlehy
|
||||
*/
|
||||
|
|
@ -58,7 +58,7 @@ public final class HungryFlames extends CardImpl {
|
|||
}
|
||||
|
||||
if (player != null) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -11,19 +8,21 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class HydraOmnivore extends CardImpl {
|
||||
|
||||
public HydraOmnivore(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}");
|
||||
this.subtype.add(SubType.HYDRA);
|
||||
|
||||
this.power = new MageInt(8);
|
||||
|
|
@ -65,11 +64,11 @@ class HydraOmnivoreEffect extends OneShotEffect {
|
|||
int amount = (Integer) getValue("damage");
|
||||
MageObject object = game.getObject(source.getSourceId());
|
||||
if (object != null && amount > 0 && damagedOpponent != null) {
|
||||
for (UUID playerId :game.getOpponents(source.getControllerId())) {
|
||||
for (UUID playerId : game.getOpponents(source.getControllerId())) {
|
||||
if (!Objects.equals(playerId, damagedOpponent)) {
|
||||
Player opponent = game.getPlayer(playerId);
|
||||
if (opponent != null) {
|
||||
int dealtDamage = opponent.damage(amount, source.getSourceId(), game, false, true);
|
||||
int dealtDamage = opponent.damage(amount, source.getSourceId(), game);
|
||||
game.informPlayers(object.getLogName() + " deals " + dealtDamage + " damage to " + opponent.getLogName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.i;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
|
@ -13,22 +11,23 @@ import mage.game.permanent.Permanent;
|
|||
import mage.players.Player;
|
||||
import mage.target.common.TargetLandPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class Icequake extends CardImpl {
|
||||
|
||||
public Icequake(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}{B}");
|
||||
|
||||
// Destroy target land.
|
||||
// If that land was a snow land, Icequake deals 1 damage to that land's controller.
|
||||
this.getSpellAbility().addEffect(new IcequakeEffect());
|
||||
this.getSpellAbility().addTarget(new TargetLandPermanent());
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public Icequake(final Icequake card) {
|
||||
|
|
@ -62,10 +61,10 @@ class IcequakeEffect extends OneShotEffect {
|
|||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||
if (permanent != null) {
|
||||
Player controller = game.getPlayer(permanent.getControllerId());
|
||||
if(controller != null) {
|
||||
if (controller != null) {
|
||||
permanent.destroy(source.getSourceId(), game, false);
|
||||
if (permanent.isSnow()) {
|
||||
controller.damage(1, source.getSourceId(), game, false, true);
|
||||
controller.damage(1, source.getSourceId(), game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,19 @@
|
|||
|
||||
package mage.cards.i;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.keyword.StormAbility;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.Cards;
|
||||
import mage.cards.CardsImpl;
|
||||
import mage.cards.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPlayer;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Plopman
|
||||
*/
|
||||
public final class IgniteMemories extends CardImpl {
|
||||
|
|
@ -65,7 +60,7 @@ class IgniteMemoriesEffect extends OneShotEffect {
|
|||
if (card != null) {
|
||||
revealed.add(card);
|
||||
controller.revealCards(sourceObject.getIdName(), revealed, game);
|
||||
controller.damage(card.getConvertedManaCost(), source.getSourceId(), game, false, true);
|
||||
controller.damage(card.getConvertedManaCost(), source.getSourceId(), game);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
package mage.cards.i;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.effects.common.continuous.DamageCantBePreventedEffect;
|
||||
import mage.abilities.keyword.AftermathAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.SplitCard;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -21,6 +19,8 @@ import mage.target.common.TargetCreaturePermanent;
|
|||
import mage.target.common.TargetPlayerOrPlaneswalker;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Stravant
|
||||
*/
|
||||
|
|
@ -115,7 +115,7 @@ class InjuryEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
if (player != null) {
|
||||
player.damage(2, source.getSourceId(), game, false, true);
|
||||
player.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
package mage.cards.i;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.CounterTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
|
|
@ -13,8 +11,9 @@ import mage.game.stack.Spell;
|
|||
import mage.players.Player;
|
||||
import mage.target.TargetSpell;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class Ionize extends CardImpl {
|
||||
|
|
@ -63,7 +62,7 @@ class IonizeEffect extends OneShotEffect {
|
|||
|
||||
result = game.getStack().counter(source.getFirstTarget(), source.getSourceId(), game);
|
||||
if (spellController != null) {
|
||||
spellController.damage(2, source.getSourceId(), game, false, true);
|
||||
spellController.damage(2, source.getSourceId(), game);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue