mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28: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_marauders.txt svneol=native#text/plain
|
||||||
res/cardsfolder/s/scuzzback_scrapper.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_of_the_wretched.txt -text
|
||||||
|
res/cardsfolder/s/scythe_specter.txt -text
|
||||||
res/cardsfolder/s/scythe_tiger.txt -text
|
res/cardsfolder/s/scythe_tiger.txt -text
|
||||||
res/cardsfolder/s/sea_drake.txt svneol=native#text/plain
|
res/cardsfolder/s/sea_drake.txt svneol=native#text/plain
|
||||||
res/cardsfolder/s/sea_eagle.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")) {
|
} else if (property.startsWith("lowestCMC")) {
|
||||||
final List<Card> list = Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield);
|
final List<Card> list = Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield);
|
||||||
for (final Card crd : list) {
|
for (final Card crd : list) {
|
||||||
|
|||||||
@@ -731,6 +731,10 @@ public class AbilityUtils {
|
|||||||
players.add(((Card) rem).getController());
|
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")) {
|
} else if (defined.startsWith("Triggered")) {
|
||||||
final SpellAbility root = sa.getRootAbility();
|
final SpellAbility root = sa.getRootAbility();
|
||||||
Object o = null;
|
Object o = null;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package forge.card.ability.effects;
|
package forge.card.ability.effects;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -39,8 +40,12 @@ public class RepeatEachEffect extends SpellAbilityEffect {
|
|||||||
List<Card> repeatCards = null;
|
List<Card> repeatCards = null;
|
||||||
|
|
||||||
if (sa.hasParam("RepeatCards")) {
|
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),
|
repeatCards = CardLists.getValidCards(game.getCardsIn(zone),
|
||||||
sa.getParam("RepeatCards"), source.getController(), source);
|
sa.getParam("RepeatCards"), source.getController(), source);
|
||||||
loopOverCards = true;
|
loopOverCards = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user