Skip to content

Commit c2cb4ff

Browse files
committed
[SOS] Implement Postmortem Professor
1 parent eb03e17 commit c2cb4ff

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package mage.cards.p;
2+
3+
import java.util.UUID;
4+
import mage.MageInt;
5+
import mage.abilities.Ability;
6+
import mage.abilities.common.AttacksTriggeredAbility;
7+
import mage.abilities.common.CantBlockAbility;
8+
import mage.abilities.common.SimpleActivatedAbility;
9+
import mage.abilities.costs.common.ExileFromGraveCost;
10+
import mage.abilities.costs.mana.ManaCostsImpl;
11+
import mage.abilities.effects.common.GainLifeEffect;
12+
import mage.abilities.effects.common.LoseLifeOpponentsEffect;
13+
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
14+
import mage.constants.SubType;
15+
import mage.constants.Zone;
16+
import mage.filter.FilterCard;
17+
import mage.filter.common.FilterInstantOrSorceryCard;
18+
import mage.target.common.TargetCardInYourGraveyard;
19+
import mage.cards.CardImpl;
20+
import mage.cards.CardSetInfo;
21+
import mage.constants.CardType;
22+
23+
/**
24+
*
25+
* @author muz
26+
*/
27+
public final class PostmortemProfessor extends CardImpl {
28+
29+
private static final FilterCard filter = new FilterInstantOrSorceryCard("an instant or sorcery card from your graveyard");
30+
31+
public PostmortemProfessor(UUID ownerId, CardSetInfo setInfo) {
32+
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}");
33+
34+
this.subtype.add(SubType.ZOMBIE);
35+
this.subtype.add(SubType.WARLOCK);
36+
this.power = new MageInt(2);
37+
this.toughness = new MageInt(2);
38+
39+
// This creature can't block.
40+
this.addAbility(new CantBlockAbility());
41+
42+
// Whenever this creature attacks, each opponent loses 1 life and you gain 1 life.
43+
Ability ability = new AttacksTriggeredAbility(new LoseLifeOpponentsEffect(1));
44+
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
45+
this.addAbility(ability);
46+
47+
// {1}{B}, Exile an instant or sorcery card from your graveyard: Return this card from your graveyard to the battlefield.
48+
Ability ability2 = new SimpleActivatedAbility(
49+
Zone.GRAVEYARD,
50+
new ReturnSourceFromGraveyardToBattlefieldEffect(),
51+
new ManaCostsImpl<>("{1}{B}")
52+
);
53+
ability2.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
54+
this.addAbility(ability2);
55+
}
56+
57+
private PostmortemProfessor(final PostmortemProfessor card) {
58+
super(card);
59+
}
60+
61+
@Override
62+
public PostmortemProfessor copy() {
63+
return new PostmortemProfessor(this);
64+
}
65+
}

Mage.Sets/src/mage/sets/SecretsOfStrixhaven.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ private SecretsOfStrixhaven() {
118118
cards.add(new SetCardInfo("Plains", 273, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
119119
cards.add(new SetCardInfo("Planar Engineering", 158, Rarity.RARE, mage.cards.p.PlanarEngineering.class, NON_FULL_USE_VARIOUS));
120120
cards.add(new SetCardInfo("Planar Engineering", 340, Rarity.RARE, mage.cards.p.PlanarEngineering.class, NON_FULL_USE_VARIOUS));
121+
cards.add(new SetCardInfo("Postmortem Professor", 327, Rarity.RARE, mage.cards.p.PostmortemProfessor.class));
121122
cards.add(new SetCardInfo("Practiced Offense", 25, Rarity.RARE, mage.cards.p.PracticedOffense.class, NON_FULL_USE_VARIOUS));
122123
cards.add(new SetCardInfo("Practiced Offense", 313, Rarity.RARE, mage.cards.p.PracticedOffense.class, NON_FULL_USE_VARIOUS));
123124
cards.add(new SetCardInfo("Practiced Scrollsmith", 210, Rarity.UNCOMMON, mage.cards.p.PracticedScrollsmith.class));

Utils/mtg-cards-data.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62145,6 +62145,7 @@ Mathemagics|Secrets of Strixhaven|320|M|{X}{X}{U}{U}|Sorcery|||Target player dra
6214562145
Pensive Professor|Secrets of Strixhaven|321|R|{1}{U}{U}|Creature - Human Wizard|0|2|Increment$Whenever one or more +1/+1 counters are put on this creature, draw a card.|
6214662146
Wisdom of Ages|Secrets of Strixhaven|323|R|{4}{U}{U}{U}|Sorcery|||Return all instant and sorcery cards from your graveyard to your hand. You have no maximum hand size for the rest of the game.$Exile Wisdom of Ages.|
6214762147
Grave Researcher|Secrets of Strixhaven|325|R|{2}{B}|Creature - Troll Warlock|3|3|At the beginning of your upkeep, surveil 1. Then if there are three or more creature cards in your graveyard, this creature becomes prepared.$Reanimate$Sorcery {B}$Put target creature card from a graveyard onto the battlefield under your control. You lose life equal to that card's mana value.|
62148+
Postmortem Professor|Secrets of Strixhaven|327|R|{1}{B}|Creature - Zombie Warlock|2|2|This creature can't block.$Whenever this creature attacks, each opponent loses 1 life and you gain 1 life.${1}{B}, Exile an instant or sorcery card from your graveyard: Return this card from your graveyard to the battlefield.|
6214862149
Withering Curse|Secrets of Strixhaven|330|M|{1}{B}{B}|Sorcery|||All creatures get -2/-2 until end of turn.$Infusion -- If you gained life this turn, destroy all creatures instead.|
6214962150
Emeritus of Conflict|Secrets of Strixhaven|332|M|{1}{R}|Creature - Human Wizard|2|2|First strike$Whenever you cast your third spell each turn, this creature becomes prepared.$Lightning Bolt$Instant {R}$Lightning Bolt deals 3 damage to any target.|
6215062151
Flashback|Secrets of Strixhaven|333|R|{R}|Instant|||Target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost.|

0 commit comments

Comments
 (0)