Merge pull request #958 from kevlahnota/master

Ripple Cards
This commit is contained in:
Anthony Calosa
2017-03-10 12:58:02 +08:00
committed by GitHub
5 changed files with 72 additions and 31 deletions
+44 -1
View File
@@ -87742,7 +87742,7 @@ type=Land
name=Polymorph
target=creature
auto=bury
auto=transforms((,newability[Reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone target(creature|myreveal) moveto(mybattlefield) optiononeend optiontwo all(*|myreveal) bottomoflibrary optiontwoend revealend])) oneshot
auto=transforms((,newability[Reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone target(creature|myreveal) moveto(mybattlefield) and!( all(*|myreveal) bottomoflibrary )! optiononeend optiontwo all(*|myreveal) bottomoflibrary optiontwoend revealend])) oneshot
text=Destroy target creature. It can't be regenerated. Its controller reveals cards from the top of his or her library until he or she reveals a creature card. The player puts that card onto the battlefield, then shuffles all other cards revealed this way into his or her library.
mana={3}{U}
type=Sorcery
@@ -116138,7 +116138,50 @@ mana={p(B)}
type=Instant
[/card]
[card]
name=Surging AEther
target=*|battlefield
auto=moveto(ownerhand)
aicode=activate target(<upto:4>Surging AEther[zpos<=4]|mylibrary) castcard(normal)
autostack=if casted(this) then reveal:4 optionone name(Cast Card) target(<upto:4>Surging AEther|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!( activate castcard(normal) )! afterrevealedend revealend
text=Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.) -- Return target permanent to its owner's hand.
mana={3}{U}
type=Instant
[/card]
[card]
name=Surging Dementia
target=player
auto=ability$!name(discard) target(*|myhand) reject!$ targetedplayer
aicode=activate target(<upto:4>Surging Dementia[zpos<=4]|mylibrary) castcard(normal)
autostack=if casted(this) then reveal:4 optionone name(Cast Card) target(<upto:4>Surging Dementia|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!( activate castcard(normal) )! afterrevealedend revealend
text=Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.) -- Target player discards a card.
mana={1}{B}
type=Sorcery
[/card]
[card]
name=Surging Flame
target=creature,player
auto=damage:2
aicode=activate target(<upto:4>Surging Flame[zpos<=4]|mylibrary) castcard(normal)
autostack=if casted(this) then reveal:4 optionone name(Cast Card) target(<upto:4>Surging Flame|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!( activate castcard(normal) )! afterrevealedend revealend
text=Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.) -- Surging Flame deals 2 damage to target creature or player.
mana={1}{R}
type=Instant
[/card]
[card]
name=Surging Might
target=creature
auto=teach(creature) 2/2
aicode=activate target(<upto:4>Surging Might[zpos<=4]|mylibrary) castcard(normal)
autostack=if casted(this) then reveal:4 optionone name(Cast Card) target(<upto:4>Surging Might|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!( activate castcard(normal) )! afterrevealedend revealend
text=Enchant creature -- Enchanted creature gets +2/+2. -- Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.)
mana={2}{G}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Surging Sentinels
abilities=first strike
aicode=activate target(<upto:4>Surging Sentinels[zpos<=4]|mylibrary) castcard(normal)
autostack=if casted(this) then reveal:4 optionone name(Cast Card) target(<upto:4>Surging Sentinels|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!( activate castcard(normal) )! afterrevealedend revealend
text=First strike -- Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.)
mana={2}{W}
@@ -15486,31 +15486,6 @@ type=Artifact
subtype=Equipment
[/card]
[card]
name=Surging AEther
text=Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.) -- Return target permanent to its owner's hand.
mana={3}{U}
type=Instant
[/card]
[card]
name=Surging Dementia
text=Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.) -- Target player discards a card.
mana={1}{B}
type=Sorcery
[/card]
[card]
name=Surging Flame
text=Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.) -- Surging Flame deals 2 damage to target creature or player.
mana={1}{R}
type=Instant
[/card]
[card]
name=Surging Might
text=Enchant creature -- Enchanted creature gets +2/+2. -- Ripple 4 (When you cast this spell, you may reveal the top four cards of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library.)
mana={2}{G}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Surrak Dragonclaw
text=Flash -- Surrak Dragonclaw can't be countered. -- Creature spells you control can't be countered. -- Other creatures you control have trample.
mana={2}{G}{U}{R}
+2
View File
@@ -2102,6 +2102,7 @@ public:
int resolve();
const string getMenuText();
AALibraryBottom * clone() const;
~AALibraryBottom();
};
//Copier. ActivatedAbility
@@ -2115,6 +2116,7 @@ public:
int resolve();
const string getMenuText();
AACopier * clone() const;
~AACopier();
};
//phaseout
class AAPhaseOut: public ActivatedAbility
+23 -3
View File
@@ -1543,7 +1543,15 @@ const string AALibraryBottom::getMenuText()
AALibraryBottom * AALibraryBottom::clone() const
{
return NEW AALibraryBottom(*this);
AALibraryBottom * a = NEW AALibraryBottom(*this);
if(andAbility)
a->andAbility = andAbility->clone();
return a;
}
AALibraryBottom::~AALibraryBottom()
{
SAFE_DELETE(andAbility);
}
//AACopier
@@ -1687,7 +1695,15 @@ const string AACopier::getMenuText()
AACopier * AACopier::clone() const
{
return NEW AACopier(*this);
AACopier * a = NEW AACopier(*this);
if(andAbility)
a->andAbility = andAbility->clone();
return a;
}
AACopier::~AACopier()
{
SAFE_DELETE(andAbility);
}
//phaseout
@@ -4295,10 +4311,14 @@ ostream& AACloner::toString(ostream& out) const
AACloner * AACloner::clone() const
{
return NEW AACloner(*this);
AACloner * a = NEW AACloner(*this);
if(andAbility)
a->andAbility = andAbility->clone();
return a;
}
AACloner::~AACloner()
{
SAFE_DELETE(andAbility);
}
// Cast/Play Restriction modifier
+3 -2
View File
@@ -686,6 +686,9 @@ void GameObserver::gameStateBasedEffects()
int onum = w+1;
card->zpos = abs(onum - zone->nb_cards)+1;
}
//last controller override
if(card && zone->owner)
card->lastController = zone->owner;
}
@@ -714,8 +717,6 @@ void GameObserver::gameStateBasedEffects()
for (int j = zone->nb_cards - 1; j >= 0; j--)
{
MTGCardInstance * card = zone->cards[j];
//lastcontroller zone update
card->lastController = players[i];
card->entersBattlefield = 0;
card->LKIpower = card->power;
card->LKItoughness = card->toughness;