mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Added Rise//Fall
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -8638,6 +8638,7 @@ res/cardsfolder/r/riptide_pilferer.txt svneol=native#text/plain
|
|||||||
res/cardsfolder/r/riptide_replicator.txt -text
|
res/cardsfolder/r/riptide_replicator.txt -text
|
||||||
res/cardsfolder/r/riptide_shapeshifter.txt -text svneol=unset#text/plain
|
res/cardsfolder/r/riptide_shapeshifter.txt -text svneol=unset#text/plain
|
||||||
res/cardsfolder/r/riptide_survivor.txt svneol=native#text/plain
|
res/cardsfolder/r/riptide_survivor.txt svneol=native#text/plain
|
||||||
|
res/cardsfolder/r/rise_fall.txt -text
|
||||||
res/cardsfolder/r/rise_from_the_grave.txt svneol=native#text/plain
|
res/cardsfolder/r/rise_from_the_grave.txt svneol=native#text/plain
|
||||||
res/cardsfolder/r/rise_of_the_hobgoblins.txt svneol=native#text/plain
|
res/cardsfolder/r/rise_of_the_hobgoblins.txt svneol=native#text/plain
|
||||||
res/cardsfolder/r/risen_sanctuary.txt -text
|
res/cardsfolder/r/risen_sanctuary.txt -text
|
||||||
|
|||||||
21
res/cardsfolder/r/rise_fall.txt
Normal file
21
res/cardsfolder/r/rise_fall.txt
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Name:Rise
|
||||||
|
ManaCost:U B
|
||||||
|
AlternateMode: Split
|
||||||
|
Types:Sorcery
|
||||||
|
A:SP$ ChangeZone | Cost$ U B | ValidTgts$ Creature | TgtPrompt$ Select target creature in a graveyard | Origin$ Graveyard | Destination$ Hand | SubAbility$ DBChangeZone | SpellDescription$ Return target creature card from a graveyard and target creature on the battlefield to their owners' hands.
|
||||||
|
SVar:DBChangeZone:DB$ ChangeZone | ValidTgts$ Creature | TgtPrompt$ Select target creature on the battlefield | Origin$ Battlefield | Destination$ Hand | IsCurse$ True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/risefall.jpg
|
||||||
|
Oracle:Return target creature card from a graveyard and target creature on the battlefield to their owners' hands.
|
||||||
|
|
||||||
|
ALTERNATE
|
||||||
|
|
||||||
|
Name:Fall
|
||||||
|
ManaCost:B R
|
||||||
|
Types:Sorcery
|
||||||
|
A:SP$ Reveal | Cost$ B R | ValidTgts$ Player | IsCurse$ True | Random$ True | NumCards$ 2 | RememberRevealed$ True | SubAbility$ DBDiscard | SpellDescription$ Target player reveals two cards at random from his or her hand, then discards each nonland card revealed this way.
|
||||||
|
SVar:DBDiscard:DB$ Discard | Mode$ Defined | Defined$ Targeted | DefinedCards$ ValidHand Card.nonLand+IsRemembered | SubAbility$ DBCleanup
|
||||||
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
|
Oracle:Target player reveals two cards at random from his or her hand, then discards each nonland card revealed this way.
|
||||||
|
|
||||||
|
SetInfo:DDH Uncommon
|
||||||
|
SetInfo:DIS Uncommon
|
||||||
@@ -28,19 +28,30 @@ public class RevealEffect extends RevealEffectBase {
|
|||||||
if (handChoices.size() > 0) {
|
if (handChoices.size() > 0) {
|
||||||
final List<Card> revealed = new ArrayList<Card>();
|
final List<Card> revealed = new ArrayList<Card>();
|
||||||
if (sa.hasParam("Random")) {
|
if (sa.hasParam("Random")) {
|
||||||
|
if (sa.hasParam("NumCards")) {
|
||||||
|
final int num = AbilityUtils.calculateAmount(host, sa.getParam("NumCards"), sa);
|
||||||
|
final int revealnum = Math.min(handChoices.size(), num);
|
||||||
|
final List<Card> hand = new ArrayList<Card>(handChoices);
|
||||||
|
for (int i = 0; i < revealnum; i++) {
|
||||||
|
final Card random = Aggregates.random(hand);
|
||||||
|
revealed.add(random);
|
||||||
|
hand.remove(random);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
revealed.add(Aggregates.random(handChoices));
|
revealed.add(Aggregates.random(handChoices));
|
||||||
|
}
|
||||||
GuiChoose.oneOrNone("Revealed card(s)", revealed);
|
GuiChoose.oneOrNone("Revealed card(s)", revealed);
|
||||||
} else {
|
} else {
|
||||||
List<Card> valid = new ArrayList<Card>(handChoices);
|
List<Card> valid = new ArrayList<Card>(handChoices);
|
||||||
int max = 1;
|
int max = 1;
|
||||||
if (sa.hasParam("RevealValid")) {
|
if (anyNumber) {
|
||||||
valid = CardLists.getValidCards(valid, sa.getParam("RevealValid"), p, host);
|
valid = CardLists.getValidCards(valid, sa.getParam("RevealValid"), p, host);
|
||||||
}
|
}
|
||||||
if (sa.hasParam("AnyNumber")) {
|
if (sa.hasParam("AnyNumber")) {
|
||||||
max = valid.size();
|
max = valid.size();
|
||||||
}
|
}
|
||||||
else if (sa.hasParam("NumCards")) {
|
else if (sa.hasParam("NumCards")) {
|
||||||
max = Math.min(valid.size(), AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumCards"), sa));
|
max = Math.min(valid.size(), AbilityUtils.calculateAmount(host, sa.getParam("NumCards"), sa));
|
||||||
}
|
}
|
||||||
//revealed.addAll(getRevealedList(sa.getActivatingPlayer(), valid, max, anyNumber));
|
//revealed.addAll(getRevealedList(sa.getActivatingPlayer(), valid, max, anyNumber));
|
||||||
revealed.addAll(getRevealedList(p, valid, max, anyNumber));
|
revealed.addAll(getRevealedList(p, valid, max, anyNumber));
|
||||||
|
|||||||
Reference in New Issue
Block a user