mirror of
https://github.com/correl/mage.git
synced 2025-01-12 03:00:13 +00:00
Implemented Creeping Chill
This commit is contained in:
parent
34e40febb8
commit
ba8b2a609a
3 changed files with 77 additions and 1 deletions
74
Mage.Sets/src/mage/cards/c/CreepingChill.java
Normal file
74
Mage.Sets/src/mage/cards/c/CreepingChill.java
Normal file
|
@ -0,0 +1,74 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.common.ZoneChangeTriggeredAbility;
|
||||
import mage.abilities.costs.common.ExileSourceFromGraveCost;
|
||||
import mage.abilities.effects.common.DamagePlayersEffect;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.GainLifeEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class CreepingChill extends CardImpl {
|
||||
|
||||
public CreepingChill(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}");
|
||||
|
||||
// Creeping Chill deals 3 damage to each opponent and you gain 3 life.
|
||||
this.getSpellAbility().addEffect(
|
||||
new DamagePlayersEffect(3, TargetController.OPPONENT)
|
||||
);
|
||||
this.getSpellAbility().addEffect(
|
||||
new GainLifeEffect(3).setText("and you gain 3 life")
|
||||
);
|
||||
|
||||
// When Creeping Chill is put into your graveyard from your library, you may exile it. If you do, Creeping Chill deals 3 damage to each opponent and you gain 3 life.
|
||||
this.addAbility(new CreepingChillAbility());
|
||||
}
|
||||
|
||||
public CreepingChill(final CreepingChill card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CreepingChill copy() {
|
||||
return new CreepingChill(this);
|
||||
}
|
||||
}
|
||||
|
||||
class CreepingChillAbility extends ZoneChangeTriggeredAbility {
|
||||
|
||||
public CreepingChillAbility() {
|
||||
super(
|
||||
Zone.LIBRARY, Zone.GRAVEYARD,
|
||||
new DoIfCostPaid(
|
||||
new DamagePlayersEffect(3, TargetController.OPPONENT),
|
||||
new ExileSourceFromGraveCost()
|
||||
).addEffect(new GainLifeEffect(3)),
|
||||
"", true
|
||||
);
|
||||
}
|
||||
|
||||
public CreepingChillAbility(final CreepingChillAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CreepingChillAbility copy() {
|
||||
return new CreepingChillAbility(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When {this} is put into your graveyard from your library, "
|
||||
+ "you may exile it. If you do, {this} deals 3 damage "
|
||||
+ "to each opponent and you gain 3 life.";
|
||||
}
|
||||
}
|
|
@ -47,6 +47,7 @@ public final class GuildsOfRavnica extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Conclave Tribunal", 6, Rarity.UNCOMMON, mage.cards.c.ConclaveTribunal.class));
|
||||
cards.add(new SetCardInfo("Connive // Concoct", 222, Rarity.RARE, mage.cards.c.ConniveConcoct.class));
|
||||
cards.add(new SetCardInfo("Crackling Drake", 163, Rarity.UNCOMMON, mage.cards.c.CracklingDrake.class));
|
||||
cards.add(new SetCardInfo("Creeping Chill", 66, Rarity.UNCOMMON, mage.cards.c.CreepingChill.class));
|
||||
cards.add(new SetCardInfo("Darkblade Agent", 164, Rarity.COMMON, mage.cards.d.DarkbladeAgent.class));
|
||||
cards.add(new SetCardInfo("Deadly Visit", 68, Rarity.COMMON, mage.cards.d.DeadlyVisit.class));
|
||||
cards.add(new SetCardInfo("Deafening Clarion", 165, Rarity.RARE, mage.cards.d.DeafeningClarion.class));
|
||||
|
|
|
@ -54,8 +54,9 @@ public class DoIfCostPaid extends OneShotEffect {
|
|||
this.optional = effect.optional;
|
||||
}
|
||||
|
||||
public void addEffect(Effect effect) {
|
||||
public DoIfCostPaid addEffect(Effect effect) {
|
||||
executingEffects.add(effect);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue