mirror of
https://github.com/correl/mage.git
synced 2024-12-25 11:11:16 +00:00
Added ferocious hint for cards (you control reature with power 4);
This commit is contained in:
parent
1b32793388
commit
0d4e6772ed
22 changed files with 132 additions and 83 deletions
|
@ -1,24 +1,25 @@
|
||||||
|
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalRestrictionEffect;
|
import mage.abilities.decorator.ConditionalRestrictionEffect;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.DamageAllEffect;
|
import mage.abilities.effects.common.DamageAllEffect;
|
||||||
import mage.abilities.effects.common.combat.CantBlockAllEffect;
|
import mage.abilities.effects.common.combat.CantBlockAllEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES;
|
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class BarrageOfBoulders extends CardImpl {
|
public final class BarrageOfBoulders extends CardImpl {
|
||||||
|
@ -41,6 +42,7 @@ public final class BarrageOfBoulders extends CardImpl {
|
||||||
new LockedInCondition(FerociousCondition.instance), null);
|
new LockedInCondition(FerociousCondition.instance), null);
|
||||||
effect.setText("<br/><i>Ferocious</i> — If you control a creature with power 4 or greater, creatures can't block this turn");
|
effect.setText("<br/><i>Ferocious</i> — If you control a creature with power 4 or greater, creatures can't block this turn");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BarrageOfBoulders(final BarrageOfBoulders card) {
|
public BarrageOfBoulders(final BarrageOfBoulders card) {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import mage.abilities.Ability;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
@ -33,6 +34,7 @@ public final class ClearTheStage extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new ClearTheStageEffect());
|
this.getSpellAbility().addEffect(new ClearTheStageEffect());
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter));
|
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ClearTheStage(final ClearTheStage card) {
|
private ClearTheStage(final ClearTheStage card) {
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ColossalMajesty extends CardImpl {
|
public final class ColossalMajesty extends CardImpl {
|
||||||
|
@ -27,9 +28,9 @@ public final class ColossalMajesty extends CardImpl {
|
||||||
),
|
),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"At the beginning of your upkeep, "
|
"At the beginning of your upkeep, "
|
||||||
+ "if you control a creature with power 4 or greater, "
|
+ "if you control a creature with power 4 or greater, "
|
||||||
+ "draw a card."
|
+ "draw a card."
|
||||||
));
|
).addHint(FerociousHint.instance));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ColossalMajesty(final ColossalMajesty card) {
|
public ColossalMajesty(final ColossalMajesty card) {
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
|
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.dynamicvalue.IntPlusDynamicValue;
|
import mage.abilities.dynamicvalue.IntPlusDynamicValue;
|
||||||
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
|
import mage.abilities.dynamicvalue.common.ManacostVariableValue;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author emerald000
|
* @author emerald000
|
||||||
*/
|
*/
|
||||||
public final class CratersClaws extends CardImpl {
|
public final class CratersClaws extends CardImpl {
|
||||||
|
@ -28,8 +28,9 @@ public final class CratersClaws extends CardImpl {
|
||||||
new DamageTargetEffect(ManacostVariableValue.instance),
|
new DamageTargetEffect(ManacostVariableValue.instance),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"{this} deals X damage to any target."
|
"{this} deals X damage to any target."
|
||||||
+ "<br><i>Ferocious</i> — {this} deals X plus 2 damage to that permanent or player instead if you control a creature with power 4 or greater"));
|
+ "<br><i>Ferocious</i> — {this} deals X plus 2 damage to that permanent or player instead if you control a creature with power 4 or greater"));
|
||||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CratersClaws(final CratersClaws card) {
|
public CratersClaws(final CratersClaws card) {
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
|
@ -12,6 +10,7 @@ import mage.abilities.effects.common.AttachEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
|
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
|
||||||
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashSourceEffect;
|
import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashSourceEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.abilities.keyword.EnchantAbility;
|
import mage.abilities.keyword.EnchantAbility;
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
import mage.abilities.keyword.FirstStrikeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -20,21 +19,23 @@ import mage.constants.*;
|
||||||
import mage.target.TargetPermanent;
|
import mage.target.TargetPermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class DragonGrip extends CardImpl {
|
public final class DragonGrip extends CardImpl {
|
||||||
|
|
||||||
public DragonGrip(UUID ownerId, CardSetInfo setInfo) {
|
public DragonGrip(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
|
||||||
this.subtype.add(SubType.AURA);
|
this.subtype.add(SubType.AURA);
|
||||||
|
|
||||||
// Ferocious - If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash.
|
// Ferocious - If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash.
|
||||||
AsThoughEffect effect = new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame);
|
AsThoughEffect effect = new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame);
|
||||||
effect.setText("<i>Ferocious</i> — If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash");
|
effect.setText("<i>Ferocious</i> — If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash");
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new ConditionalAsThoughEffect(effect,
|
this.addAbility(new SimpleStaticAbility(Zone.ALL, new ConditionalAsThoughEffect(effect,
|
||||||
FerociousCondition.instance)));
|
FerociousCondition.instance))
|
||||||
|
.addHint(FerociousHint.instance));
|
||||||
|
|
||||||
// Enchant creature
|
// Enchant creature
|
||||||
TargetPermanent auraTarget = new TargetCreaturePermanent();
|
TargetPermanent auraTarget = new TargetCreaturePermanent();
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
|
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class FeedTheClan extends CardImpl {
|
public final class FeedTheClan extends CardImpl {
|
||||||
|
|
||||||
public FeedTheClan(UUID ownerId, CardSetInfo setInfo) {
|
public FeedTheClan(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}");
|
||||||
|
|
||||||
// You gain 5 life.
|
// You gain 5 life.
|
||||||
// Ferocious - You gain 10 life instead if you control a creature with power 4 or greater
|
// Ferocious - You gain 10 life instead if you control a creature with power 4 or greater
|
||||||
|
@ -25,7 +25,7 @@ public final class FeedTheClan extends CardImpl {
|
||||||
new GainLifeEffect(5),
|
new GainLifeEffect(5),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"You gain 5 life. <br><i>Ferocious</i> — You gain 10 life instead if you control a creature with power 4 or greater"));
|
"You gain 5 life. <br><i>Ferocious</i> — You gain 10 life instead if you control a creature with power 4 or greater"));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public FeedTheClan(final FeedTheClan card) {
|
public FeedTheClan(final FeedTheClan card) {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import mage.abilities.Ability;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.DamageAllEffect;
|
import mage.abilities.effects.common.DamageAllEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -30,6 +31,7 @@ public final class FlamesOfTheRazeBoar extends CardImpl {
|
||||||
// Flames of the Raze-Boar deals 4 damage to target creature an opponent controls. Then Flames of the Raze-Boar deals 2 damage to each other creature that player controls if you control a creature with power 4 or greater.
|
// Flames of the Raze-Boar deals 4 damage to target creature an opponent controls. Then Flames of the Raze-Boar deals 2 damage to each other creature that player controls if you control a creature with power 4 or greater.
|
||||||
this.getSpellAbility().addEffect(new FlamesOfTheRazeBoarEffect());
|
this.getSpellAbility().addEffect(new FlamesOfTheRazeBoarEffect());
|
||||||
this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent());
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
private FlamesOfTheRazeBoar(final FlamesOfTheRazeBoar card) {
|
private FlamesOfTheRazeBoar(final FlamesOfTheRazeBoar card) {
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
|
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.AttacksEachCombatStaticAbility;
|
import mage.abilities.common.AttacksEachCombatStaticAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
||||||
|
@ -10,6 +8,7 @@ import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlSourceEffect;
|
import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlSourceEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -19,8 +18,9 @@ import mage.constants.SubType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class FlamewakePhoenix extends CardImpl {
|
public final class FlamewakePhoenix extends CardImpl {
|
||||||
|
@ -46,7 +46,7 @@ public final class FlamewakePhoenix extends CardImpl {
|
||||||
TargetController.YOU, false, false),
|
TargetController.YOU, false, false),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"<i>Ferocious</i> — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return {this} from your graveyard to the battlefield."
|
"<i>Ferocious</i> — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return {this} from your graveyard to the battlefield."
|
||||||
));
|
).addHint(FerociousHint.instance));
|
||||||
}
|
}
|
||||||
|
|
||||||
public FlamewakePhoenix(final FlamewakePhoenix card) {
|
public FlamewakePhoenix(final FlamewakePhoenix card) {
|
||||||
|
|
|
@ -1,34 +1,35 @@
|
||||||
|
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.DrawDiscardControllerEffect;
|
import mage.abilities.effects.common.DrawDiscardControllerEffect;
|
||||||
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class ForceAway extends CardImpl {
|
public final class ForceAway extends CardImpl {
|
||||||
|
|
||||||
public ForceAway(UUID ownerId, CardSetInfo setInfo) {
|
public ForceAway(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}");
|
||||||
|
|
||||||
// Return target creature to its owner's hand.
|
// Return target creature to its owner's hand.
|
||||||
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
||||||
// <i>Ferocious</i> — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card.
|
// <i>Ferocious</i> — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card.
|
||||||
Effect effect = new ConditionalOneShotEffect(new DrawDiscardControllerEffect(1,1, true),
|
Effect effect = new ConditionalOneShotEffect(new DrawDiscardControllerEffect(1, 1, true),
|
||||||
FerociousCondition.instance , "<br><i>Ferocious</i> — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card");
|
FerociousCondition.instance, "<br><i>Ferocious</i> — If you control a creature with power 4 or greater, you may draw a card. If you do, discard a card");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ForceAway(final ForceAway card) {
|
public ForceAway(final ForceAway card) {
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
|
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.EntersBattlefieldAbility;
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class FrontierMastodon extends CardImpl {
|
public final class FrontierMastodon extends CardImpl {
|
||||||
|
|
||||||
public FrontierMastodon(UUID ownerId, CardSetInfo setInfo) {
|
public FrontierMastodon(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.ELEPHANT);
|
this.subtype.add(SubType.ELEPHANT);
|
||||||
this.power = new MageInt(3);
|
this.power = new MageInt(3);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
@ -28,8 +28,8 @@ public final class FrontierMastodon extends CardImpl {
|
||||||
this.addAbility(new EntersBattlefieldAbility(
|
this.addAbility(new EntersBattlefieldAbility(
|
||||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"<i>Ferocious</i> — {this} enters the battlefield with a +1/+1 counter on it if you control a creature with power 4 or greater.",""
|
"<i>Ferocious</i> — {this} enters the battlefield with a +1/+1 counter on it if you control a creature with power 4 or greater.", ""
|
||||||
));
|
).addHint(FerociousHint.instance));
|
||||||
}
|
}
|
||||||
|
|
||||||
public FrontierMastodon(final FrontierMastodon card) {
|
public FrontierMastodon(final FrontierMastodon card) {
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
|
|
||||||
package mage.cards.h;
|
package mage.cards.h;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.abilities.keyword.DeathtouchAbility;
|
import mage.abilities.keyword.DeathtouchAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class HeirOfTheWilds extends CardImpl {
|
public final class HeirOfTheWilds extends CardImpl {
|
||||||
|
|
||||||
public HeirOfTheWilds(UUID ownerId, CardSetInfo setInfo) {
|
public HeirOfTheWilds(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
|
||||||
this.subtype.add(SubType.HUMAN);
|
this.subtype.add(SubType.HUMAN);
|
||||||
this.subtype.add(SubType.WARRIOR);
|
this.subtype.add(SubType.WARRIOR);
|
||||||
|
|
||||||
|
@ -33,10 +33,11 @@ public final class HeirOfTheWilds extends CardImpl {
|
||||||
this.addAbility(DeathtouchAbility.getInstance());
|
this.addAbility(DeathtouchAbility.getInstance());
|
||||||
// <em>Ferocious</em> - Whenever Heir of the Wilds attacks, if you control a creature with power 4 or greater, Heir of the Wilds gets +1/+1 until end of turn.
|
// <em>Ferocious</em> - Whenever Heir of the Wilds attacks, if you control a creature with power 4 or greater, Heir of the Wilds gets +1/+1 until end of turn.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new AttacksTriggeredAbility(new BoostSourceEffect(1,1,Duration.EndOfTurn), false),
|
new AttacksTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), false),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"<i>Ferocious</i> — Whenever {this} attacks, if you control a creature with power 4 or greater, {this} gets +1/+1 until end of turn."
|
"<i>Ferocious</i> — Whenever {this} attacks, if you control a creature with power 4 or greater, {this} gets +1/+1 until end of turn."
|
||||||
);
|
);
|
||||||
|
ability.addHint(FerociousHint.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.i;
|
package mage.cards.i;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -8,6 +7,7 @@ import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
|
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
|
||||||
import mage.abilities.effects.common.TapTargetEffect;
|
import mage.abilities.effects.common.TapTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -35,6 +35,7 @@ public final class IcyBlast extends CardImpl {
|
||||||
effect.setText("<br/><i>Ferocious</i> — If you control a creature with power 4 or greater, those creatures don't untap during their controllers' next untap steps");
|
effect.setText("<br/><i>Ferocious</i> — If you control a creature with power 4 or greater, those creatures don't untap during their controllers' next untap steps");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
this.getSpellAbility().setTargetAdjuster(IcyBlastAdjuster.instance);
|
this.getSpellAbility().setTargetAdjuster(IcyBlastAdjuster.instance);
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IcyBlast(final IcyBlast card) {
|
public IcyBlast(final IcyBlast card) {
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
|
|
||||||
package mage.cards.r;
|
package mage.cards.r;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
import mage.abilities.effects.common.combat.MustBeBlockedByAllTargetEffect;
|
import mage.abilities.effects.common.combat.MustBeBlockedByAllTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.abilities.keyword.IndestructibleAbility;
|
import mage.abilities.keyword.IndestructibleAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
@ -14,14 +13,15 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class RoarOfChallenge extends CardImpl {
|
public final class RoarOfChallenge extends CardImpl {
|
||||||
|
|
||||||
public RoarOfChallenge(UUID ownerId, CardSetInfo setInfo) {
|
public RoarOfChallenge(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}");
|
||||||
|
|
||||||
|
|
||||||
// All creatures able to block target creature this turn do so.
|
// All creatures able to block target creature this turn do so.
|
||||||
|
@ -32,6 +32,7 @@ public final class RoarOfChallenge extends CardImpl {
|
||||||
new LockedInCondition(FerociousCondition.instance),
|
new LockedInCondition(FerociousCondition.instance),
|
||||||
"<br><i>Ferocious</i> — That creature gains indestructible until end of turn if you control a creature with power 4 or greater."));
|
"<br><i>Ferocious</i> — That creature gains indestructible until end of turn if you control a creature with power 4 or greater."));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public RoarOfChallenge(final RoarOfChallenge card) {
|
public RoarOfChallenge(final RoarOfChallenge card) {
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.FightTargetsEffect;
|
import mage.abilities.effects.common.FightTargetsEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -19,8 +18,9 @@ import mage.target.Target;
|
||||||
import mage.target.common.TargetControlledCreaturePermanent;
|
import mage.target.common.TargetControlledCreaturePermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class SavagePunch extends CardImpl {
|
public final class SavagePunch extends CardImpl {
|
||||||
|
@ -40,6 +40,7 @@ public final class SavagePunch extends CardImpl {
|
||||||
new LockedInCondition(FerociousCondition.instance),
|
new LockedInCondition(FerociousCondition.instance),
|
||||||
"<i>Ferocious</i> — The creature you control gets +2/+2 until end of turn before it fights if you control a creature with power 4 or greater");
|
"<i>Ferocious</i> — The creature you control gets +2/+2 until end of turn before it fights if you control a creature with power 4 or greater");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
|
|
||||||
// Target creature you control fights target creature you don't control.
|
// Target creature you control fights target creature you don't control.
|
||||||
effect = new FightTargetsEffect();
|
effect = new FightTargetsEffect();
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.condition.InvertCondition;
|
import mage.abilities.condition.InvertCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.cards.Cards;
|
import mage.cards.Cards;
|
||||||
|
@ -19,8 +18,9 @@ import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.TargetCard;
|
import mage.target.TargetCard;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class SeeTheUnwritten extends CardImpl {
|
public final class SeeTheUnwritten extends CardImpl {
|
||||||
|
@ -35,7 +35,8 @@ public final class SeeTheUnwritten extends CardImpl {
|
||||||
new SeeTheUnwrittenEffect(2),
|
new SeeTheUnwrittenEffect(2),
|
||||||
new InvertCondition(FerociousCondition.instance),
|
new InvertCondition(FerociousCondition.instance),
|
||||||
"Reveal the top eight cards of your library. You may put a creature card from among them onto the battlefield. Put the rest into your graveyard."
|
"Reveal the top eight cards of your library. You may put a creature card from among them onto the battlefield. Put the rest into your graveyard."
|
||||||
+ "<br/><i>Ferocious</i> — If you control a creature with power 4 or greater, you may put two creature cards onto the battlefield instead of one"));
|
+ "<br/><i>Ferocious</i> — If you control a creature with power 4 or greater, you may put two creature cards onto the battlefield instead of one"));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SeeTheUnwritten(final SeeTheUnwritten card) {
|
public SeeTheUnwritten(final SeeTheUnwritten card) {
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
|
|
||||||
package mage.cards.s;
|
package mage.cards.s;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.InvertCondition;
|
import mage.abilities.condition.InvertCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.costs.mana.GenericManaCost;
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.common.CounterTargetEffect;
|
import mage.abilities.effects.common.CounterTargetEffect;
|
||||||
import mage.abilities.effects.common.CounterUnlessPaysEffect;
|
import mage.abilities.effects.common.CounterUnlessPaysEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -16,31 +15,35 @@ import mage.filter.predicate.Predicates;
|
||||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||||
import mage.target.TargetSpell;
|
import mage.target.TargetSpell;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author emerald000
|
* @author emerald000
|
||||||
*/
|
*/
|
||||||
public final class StubbornDenial extends CardImpl {
|
public final class StubbornDenial extends CardImpl {
|
||||||
|
|
||||||
private static final FilterSpell filter = new FilterSpell("noncreature spell");
|
private static final FilterSpell filter = new FilterSpell("noncreature spell");
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public StubbornDenial(UUID ownerId, CardSetInfo setInfo) {
|
public StubbornDenial(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{U}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}");
|
||||||
|
|
||||||
// Counter target noncreature spell unless its controller pays {1}.
|
// Counter target noncreature spell unless its controller pays {1}.
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||||
new CounterUnlessPaysEffect(new GenericManaCost(1)),
|
new CounterUnlessPaysEffect(new GenericManaCost(1)),
|
||||||
new InvertCondition(FerociousCondition.instance),
|
new InvertCondition(FerociousCondition.instance),
|
||||||
"Counter target noncreature spell unless its controller pays {1}."));
|
"Counter target noncreature spell unless its controller pays {1}."));
|
||||||
|
|
||||||
// <i>Ferocious</i> — If you control a creature with power 4 or greater, counter that spell instead.
|
// <i>Ferocious</i> — If you control a creature with power 4 or greater, counter that spell instead.
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||||
new CounterTargetEffect(),
|
new CounterTargetEffect(),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"<br><i>Ferocious</i> &mdash If you control a creature with power 4 or greater, counter that spell instead"));
|
"<br><i>Ferocious</i> &mdash If you control a creature with power 4 or greater, counter that spell instead"));
|
||||||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public StubbornDenial(final StubbornDenial card) {
|
public StubbornDenial(final StubbornDenial card) {
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
|
|
||||||
package mage.cards.t;
|
package mage.cards.t;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -14,27 +13,28 @@ import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class TemurBattleRage extends CardImpl {
|
public final class TemurBattleRage extends CardImpl {
|
||||||
|
|
||||||
private final static String rule = "<br><i>Ferocious</i> — That creature also gains trample until end of turn if you control a creature with power 4 or greater";
|
private final static String rule = "<br><i>Ferocious</i> — That creature also gains trample until end of turn if you control a creature with power 4 or greater";
|
||||||
|
|
||||||
public TemurBattleRage(UUID ownerId, CardSetInfo setInfo) {
|
public TemurBattleRage(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}");
|
||||||
|
|
||||||
// Target creature gains double strike until end of turn.
|
// Target creature gains double strike until end of turn.
|
||||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn));
|
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn));
|
||||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||||
|
|
||||||
// <i>Ferocious</i> That creature also gains trample until end of turn if you control a creature with power 4 or greater.
|
// <i>Ferocious</i> That creature also gains trample until end of turn if you control a creature with power 4 or greater.
|
||||||
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
|
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
|
||||||
new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn),
|
new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn),
|
||||||
new LockedInCondition(FerociousCondition.instance),
|
new LockedInCondition(FerociousCondition.instance),
|
||||||
rule));
|
rule));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TemurBattleRage(final TemurBattleRage card) {
|
public TemurBattleRage(final TemurBattleRage card) {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
import mage.abilities.effects.common.SacrificeEffect;
|
import mage.abilities.effects.common.SacrificeEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -29,6 +30,7 @@ public final class UndercitysEmbrace extends CardImpl {
|
||||||
new GainLifeEffect(4), FerociousCondition.instance,
|
new GainLifeEffect(4), FerociousCondition.instance,
|
||||||
"If you control a creature with power 4 or greater, you gain 4 life."
|
"If you control a creature with power 4 or greater, you gain 4 life."
|
||||||
));
|
));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
private UndercitysEmbrace(final UndercitysEmbrace card) {
|
private UndercitysEmbrace(final UndercitysEmbrace card) {
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
|
|
||||||
package mage.cards.w;
|
package mage.cards.w;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.effects.mana.BasicManaEffect;
|
import mage.abilities.effects.mana.BasicManaEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.abilities.mana.ActivateIfConditionManaAbility;
|
import mage.abilities.mana.ActivateIfConditionManaAbility;
|
||||||
import mage.abilities.mana.GreenManaAbility;
|
import mage.abilities.mana.GreenManaAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
@ -17,14 +16,15 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class WhispererOfTheWilds extends CardImpl {
|
public final class WhispererOfTheWilds extends CardImpl {
|
||||||
|
|
||||||
public WhispererOfTheWilds(UUID ownerId, CardSetInfo setInfo) {
|
public WhispererOfTheWilds(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
|
||||||
this.subtype.add(SubType.HUMAN);
|
this.subtype.add(SubType.HUMAN);
|
||||||
this.subtype.add(SubType.SHAMAN);
|
this.subtype.add(SubType.SHAMAN);
|
||||||
this.power = new MageInt(0);
|
this.power = new MageInt(0);
|
||||||
|
@ -36,6 +36,7 @@ public final class WhispererOfTheWilds extends CardImpl {
|
||||||
// Ferocious - {T}: Add {G}{G}. Activate this ability only if you control a creature with power 4 or greater.
|
// Ferocious - {T}: Add {G}{G}. Activate this ability only if you control a creature with power 4 or greater.
|
||||||
Ability ability = new ActivateIfConditionManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.GreenMana(2)), new TapSourceCost(), FerociousCondition.instance);
|
Ability ability = new ActivateIfConditionManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.GreenMana(2)), new TapSourceCost(), FerociousCondition.instance);
|
||||||
ability.setAbilityWord(AbilityWord.FEROCIOUS);
|
ability.setAbilityWord(AbilityWord.FEROCIOUS);
|
||||||
|
ability.addHint(FerociousHint.instance);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,34 @@
|
||||||
|
|
||||||
package mage.cards.w;
|
package mage.cards.w;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect;
|
import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect;
|
||||||
import mage.abilities.effects.ContinuousRuleModifyingEffect;
|
import mage.abilities.effects.ContinuousRuleModifyingEffect;
|
||||||
import mage.abilities.effects.common.DamageTargetEffect;
|
import mage.abilities.effects.common.DamageTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.DamageCantBePreventedEffect;
|
import mage.abilities.effects.common.continuous.DamageCantBePreventedEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.target.common.TargetAnyTarget;
|
import mage.target.common.TargetAnyTarget;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class WildSlash extends CardImpl {
|
public final class WildSlash extends CardImpl {
|
||||||
|
|
||||||
public WildSlash(UUID ownerId, CardSetInfo setInfo) {
|
public WildSlash(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
|
||||||
|
|
||||||
// <i>Ferocious</i> If you control a creature with power 4 or greater, damage can't be prevented this turn.
|
// <i>Ferocious</i> If you control a creature with power 4 or greater, damage can't be prevented this turn.
|
||||||
ContinuousRuleModifyingEffect effect = new DamageCantBePreventedEffect(Duration.EndOfTurn, "damage can't be prevented this turn", false, false);
|
ContinuousRuleModifyingEffect effect = new DamageCantBePreventedEffect(Duration.EndOfTurn, "damage can't be prevented this turn", false, false);
|
||||||
effect.setText("<i>Ferocious</i> — If you control a creature with power 4 or greater, damage can't be prevented this turn.<br>");
|
effect.setText("<i>Ferocious</i> — If you control a creature with power 4 or greater, damage can't be prevented this turn.<br>");
|
||||||
this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect(effect,
|
this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect(effect,
|
||||||
new LockedInCondition(FerociousCondition.instance)));
|
new LockedInCondition(FerociousCondition.instance)));
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
|
|
||||||
// Wild Slash deals 2 damage to any target.
|
// Wild Slash deals 2 damage to any target.
|
||||||
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
|
|
||||||
package mage.cards.w;
|
package mage.cards.w;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.condition.LockedInCondition;
|
import mage.abilities.condition.LockedInCondition;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.decorator.ConditionalReplacementEffect;
|
import mage.abilities.decorator.ConditionalReplacementEffect;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect;
|
import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect;
|
||||||
|
import mage.abilities.hint.common.FerociousHint;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
@ -15,8 +14,9 @@ import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class WindsOfQalSisma extends CardImpl {
|
public final class WindsOfQalSisma extends CardImpl {
|
||||||
|
@ -28,7 +28,7 @@ public final class WindsOfQalSisma extends CardImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
public WindsOfQalSisma(UUID ownerId, CardSetInfo setInfo) {
|
public WindsOfQalSisma(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}");
|
||||||
|
|
||||||
// Prevent all combat damage that would be dealt this turn.
|
// Prevent all combat damage that would be dealt this turn.
|
||||||
// Ferocious - If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control.
|
// Ferocious - If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control.
|
||||||
|
@ -37,8 +37,9 @@ public final class WindsOfQalSisma extends CardImpl {
|
||||||
new LockedInCondition(FerociousCondition.instance),
|
new LockedInCondition(FerociousCondition.instance),
|
||||||
new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true));
|
new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true));
|
||||||
effect.setText("Prevent all combat damage that would be dealt this turn.<br>" +
|
effect.setText("Prevent all combat damage that would be dealt this turn.<br>" +
|
||||||
"<i>Ferocious</i> — If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control");
|
"<i>Ferocious</i> — If you control a creature with power 4 or greater, instead prevent all combat damage that would be dealt this turn by creatures your opponents control");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
this.getSpellAbility().addHint(FerociousHint.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public WindsOfQalSisma(final WindsOfQalSisma card) {
|
public WindsOfQalSisma(final WindsOfQalSisma card) {
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package mage.abilities.hint.common;
|
||||||
|
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
|
import mage.abilities.hint.ConditionHint;
|
||||||
|
import mage.abilities.hint.Hint;
|
||||||
|
import mage.game.Game;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author JayDi85
|
||||||
|
*/
|
||||||
|
public enum FerociousHint implements Hint {
|
||||||
|
|
||||||
|
instance;
|
||||||
|
private static final ConditionHint hint = new ConditionHint(FerociousCondition.instance, "You control a creature with power 4+");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getText(Game game, Ability ability) {
|
||||||
|
return hint.getText(game, ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Hint copy() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue