mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Added Scythe Specter
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -9122,6 +9122,7 @@ res/cardsfolder/s/scuttling_death.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/scuzzback_marauders.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/scuzzback_scrapper.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/scythe_of_the_wretched.txt -text
|
||||
res/cardsfolder/s/scythe_specter.txt -text
|
||||
res/cardsfolder/s/scythe_tiger.txt -text
|
||||
res/cardsfolder/s/sea_drake.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/sea_eagle.txt svneol=native#text/plain
|
||||
|
||||
14
res/cardsfolder/s/scythe_specter.txt
Normal file
14
res/cardsfolder/s/scythe_specter.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Name:Scythe Specter
|
||||
ManaCost:4 B B
|
||||
Types:Creature Specter
|
||||
PT:4/4
|
||||
K:Flying
|
||||
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, each opponent discards a card. Each player who discarded a card with the highest converted mana cost among cards discarded this way loses life equal to that converted mana cost.
|
||||
SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Mode$ TgtChoose | NumCards$ 1 | Defined$ Player.Opponent | RememberDiscarded$ True | SubAbility$ DBRepeatLoseLife
|
||||
SVar:DBRepeatLoseLife:DB$ RepeatEach | UseImprinted$ True | RepeatCards$ Card.greatestRememberedCMC | Zone$ Battlefield,Graveyard,Exile,Library,Hand | RepeatSubAbility$ DBLoseLife | SubAbility$ DBCleanup
|
||||
SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | References$ X | Defined$ ImprintedController
|
||||
SVar:X:Imprinted$CardManaCost
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/scythe_specter.jpg
|
||||
Oracle:Flying\nWhenever Scythe Specter deals combat damage to a player, each opponent discards a card. Each player who discarded a card with the highest converted mana cost among cards discarded this way loses life equal to that converted mana cost.
|
||||
SetInfo:COM Rare
|
||||
@@ -7102,6 +7102,27 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (property.startsWith("greatestRememberedCMC")) {
|
||||
final List<Card> list = new ArrayList<Card>();
|
||||
for (final Object o : source.getRemembered()) {
|
||||
if (o instanceof Card) {
|
||||
list.add(Singletons.getModel().getGame().getCardState((Card) o));
|
||||
}
|
||||
}
|
||||
if (!list.contains(this)) {
|
||||
return false;
|
||||
}
|
||||
for (final Card crd : list) {
|
||||
if (crd.getRules() != null && crd.getRules().getSplitType() == CardSplitType.Split) {
|
||||
if (crd.getCMC(Card.SplitCMCMode.LeftSplitCMC) > this.getCMC() || crd.getCMC(Card.SplitCMCMode.RightSplitCMC) > this.getCMC()) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (crd.getCMC() > this.getCMC()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (property.startsWith("lowestCMC")) {
|
||||
final List<Card> list = Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield);
|
||||
for (final Card crd : list) {
|
||||
|
||||
@@ -731,6 +731,10 @@ public class AbilityUtils {
|
||||
players.add(((Card) rem).getController());
|
||||
}
|
||||
}
|
||||
} else if (defined.equals("ImprintedController")) {
|
||||
for (final Card rem : card.getImprinted()) {
|
||||
players.add(rem.getController());
|
||||
}
|
||||
} else if (defined.startsWith("Triggered")) {
|
||||
final SpellAbility root = sa.getRootAbility();
|
||||
Object o = null;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package forge.card.ability.effects;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -39,8 +40,12 @@ public class RepeatEachEffect extends SpellAbilityEffect {
|
||||
List<Card> repeatCards = null;
|
||||
|
||||
if (sa.hasParam("RepeatCards")) {
|
||||
ZoneType zone = sa.hasParam("Zone") ? ZoneType.smartValueOf(sa.getParam("Zone")) : ZoneType.Battlefield;
|
||||
|
||||
List<ZoneType> zone = new ArrayList<ZoneType>();
|
||||
if (sa.hasParam("Zone")) {
|
||||
zone = ZoneType.listValueOf(sa.getParam("Zone"));
|
||||
} else {
|
||||
zone.add(ZoneType.Battlefield);
|
||||
}
|
||||
repeatCards = CardLists.getValidCards(game.getCardsIn(zone),
|
||||
sa.getParam("RepeatCards"), source.getController(), source);
|
||||
loopOverCards = true;
|
||||
|
||||
Reference in New Issue
Block a user