fixed several damage doubling effects

This commit is contained in:
Evan Kranzler 2018-04-20 10:07:49 -04:00
parent e6bb4f4b83
commit 60ad447eeb
6 changed files with 32 additions and 28 deletions

View file

@ -81,7 +81,7 @@ class AnthemOfRakdosHellbentEffect extends ReplacementEffectImpl {
public AnthemOfRakdosHellbentEffect() {
super(Duration.WhileOnBattlefield, Outcome.Damage);
staticText = "<i>Hellbent</i> - As long as you have no cards in hand, if a source you control would deal damage to a creature or player, it deals double that damage to that creature or player instead.";
staticText = "<i>Hellbent</i> - As long as you have no cards in hand, if a source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead.";
}
public AnthemOfRakdosHellbentEffect(final AnthemOfRakdosHellbentEffect effect) {
@ -96,7 +96,8 @@ class AnthemOfRakdosHellbentEffect extends ReplacementEffectImpl {
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.DAMAGE_CREATURE
|| event.getType() == GameEvent.EventType.DAMAGE_PLAYER;
|| event.getType() == GameEvent.EventType.DAMAGE_PLAYER
|| event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER;
}
@Override

View file

@ -49,8 +49,7 @@ import mage.util.CardUtil;
public class FurnaceOfRath extends CardImpl {
public FurnaceOfRath(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}{R}{R}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}{R}");
// If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new FurnaceOfRathEffect()));
@ -70,7 +69,7 @@ class FurnaceOfRathEffect extends ReplacementEffectImpl {
public FurnaceOfRathEffect() {
super(Duration.WhileOnBattlefield, Outcome.Damage);
staticText = "If a source would deal damage to a creature or player, that source deals double that damage to that creature or player instead";
staticText = "If a source would deal damage to a permanent or player, that source deals double that damage to that permanent or player instead";
}
public FurnaceOfRathEffect(final FurnaceOfRathEffect effect) {
@ -89,10 +88,12 @@ class FurnaceOfRathEffect extends ReplacementEffectImpl {
return true;
case DAMAGE_CREATURE:
return true;
case DAMAGE_PLANESWALKER:
return true;
}
return false;
}
}
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
return true;

View file

@ -49,7 +49,7 @@ import mage.util.CardUtil;
public class GratuitousViolence extends CardImpl {
public GratuitousViolence(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}{R}{R}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{R}{R}");
// If a creature you control would deal damage to a creature or player, it deals double that damage to that creature or player instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GratuitousViolenceReplacementEffect()));
@ -69,7 +69,7 @@ class GratuitousViolenceReplacementEffect extends ReplacementEffectImpl {
GratuitousViolenceReplacementEffect() {
super(Duration.WhileOnBattlefield, Outcome.Damage);
staticText = "If a creature you control would deal damage to a creature or player, it deals double that damage to that creature or player instead";
staticText = "If a creature you control would deal damage to a permanent or player, it deals double that permanent to that creature or player instead";
}
GratuitousViolenceReplacementEffect(final GratuitousViolenceReplacementEffect effect) {
@ -81,17 +81,18 @@ class GratuitousViolenceReplacementEffect extends ReplacementEffectImpl {
return new GratuitousViolenceReplacementEffect(this);
}
@Override
@Override
public boolean checksEventType(GameEvent event, Game game) {
switch(event.getType()) {
switch (event.getType()) {
case DAMAGE_CREATURE:
case DAMAGE_PLAYER:
case DAMAGE_PLANESWALKER:
return true;
default:
return false;
}
}
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
Permanent permanent = game.getPermanentOrLKIBattlefield(event.getSourceId());

View file

@ -58,7 +58,7 @@ class InsultDoubleDamageEffect extends ReplacementEffectImpl {
public InsultDoubleDamageEffect() {
super(Duration.EndOfTurn, Outcome.Damage);
staticText = "If a source you control would deal damage this turn, it deals double that damage to that creature or player instead.";
staticText = "If a source you control would deal damage this turn, it deals double that damage to that permanent or player instead.";
}
public InsultDoubleDamageEffect(final InsultDoubleDamageEffect effect) {

View file

@ -49,12 +49,11 @@ import mage.util.CardUtil;
public class Overblaze extends CardImpl {
public Overblaze(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}");
this.subtype.add(SubType.ARCANE);
// Each time target permanent would deal damage to a creature or player this turn, it deals double that damage to that creature or player instead.
this.getSpellAbility().addEffect(new FireServantEffect());
this.getSpellAbility().addEffect(new OverblazeEffect());
this.getSpellAbility().addTarget(new TargetPermanent());
// Splice onto Arcane {2}{R}{R}
this.addAbility(new SpliceOntoArcaneAbility("{2}{R}{R}"));
@ -70,26 +69,27 @@ public class Overblaze extends CardImpl {
}
}
class FireServantEffect extends ReplacementEffectImpl {
class OverblazeEffect extends ReplacementEffectImpl {
public FireServantEffect() {
public OverblazeEffect() {
super(Duration.EndOfTurn, Outcome.Damage);
staticText = "Each time target permanent would deal damage to a creature or player this turn, it deals double that damage to that creature or player instead.";
staticText = "Each time target permanent would deal damage to a permanent or player this turn, it deals double that damage to that permanent or player instead.";
}
public FireServantEffect(final FireServantEffect effect) {
public OverblazeEffect(final OverblazeEffect effect) {
super(effect);
}
@Override
public FireServantEffect copy() {
return new FireServantEffect(this);
public OverblazeEffect copy() {
return new OverblazeEffect(this);
}
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.DAMAGE_CREATURE ||
event.getType() == GameEvent.EventType.DAMAGE_PLAYER;
return event.getType() == GameEvent.EventType.DAMAGE_CREATURE
|| event.getType() == GameEvent.EventType.DAMAGE_PLAYER
|| event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER;
}
@Override

View file

@ -54,7 +54,7 @@ import mage.util.CardUtil;
public class QuestForPureFlame extends CardImpl {
public QuestForPureFlame(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}");
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}");
// Whenever a source you control deals damage to an opponent, you may put a quest counter on Quest for Pure Flame.
this.addAbility(new QuestForPureFlameTriggeredAbility());
@ -113,7 +113,7 @@ class QuestForPureFlameEffect extends ReplacementEffectImpl {
public QuestForPureFlameEffect() {
super(Duration.EndOfTurn, Outcome.Damage);
staticText = "If any source you control would deal damage to a creature or player this turn, it deals double that damage to that creature or player instead";
staticText = "If any source you control would deal damage to a permanent or player this turn, it deals double that damage to that permanent or player instead";
}
public QuestForPureFlameEffect(final QuestForPureFlameEffect effect) {
@ -127,8 +127,9 @@ class QuestForPureFlameEffect extends ReplacementEffectImpl {
@Override
public boolean checksEventType(GameEvent event, Game game) {
return event.getType() == EventType.DAMAGE_CREATURE ||
event.getType() == EventType.DAMAGE_PLAYER;
return event.getType() == EventType.DAMAGE_CREATURE
|| event.getType() == EventType.DAMAGE_PLAYER
|| event.getType() == EventType.DAMAGE_PLANESWALKER;
}
@Override