- C14: Added Wave of Vitriol

This commit is contained in:
swordshine
2014-12-01 11:54:57 +00:00
parent a9f05080f9
commit 597334a66a
6 changed files with 35 additions and 9 deletions

1
.gitattributes vendored
View File

@@ -15185,6 +15185,7 @@ forge-gui/res/cardsfolder/w/wave_elemental.txt svneol=native#text/plain
forge-gui/res/cardsfolder/w/wave_of_indifference.txt svneol=native#text/plain
forge-gui/res/cardsfolder/w/wave_of_reckoning.txt -text
forge-gui/res/cardsfolder/w/wave_of_terror.txt svneol=native#text/plain
forge-gui/res/cardsfolder/w/wave_of_vitriol.txt -text
forge-gui/res/cardsfolder/w/wavecrash_triton.txt -text
forge-gui/res/cardsfolder/w/waves_of_aggression.txt -text
forge-gui/res/cardsfolder/w/waveskimmer_aven.txt svneol=native#text/plain

View File

@@ -55,11 +55,19 @@ public class RepeatEachEffect extends SpellAbilityEffect {
}
else if (sa.hasParam("DefinedCards")) {
repeatCards = AbilityUtils.getDefinedCards(source, sa.getParam("DefinedCards"), sa);
if (sa.hasParam("AdditionalRestriction")) { // lki cards might not be in game
repeatCards = CardLists.getValidCards(repeatCards,
sa.getParam("AdditionalRestriction"), source.getController(), source);
}
if (!repeatCards.isEmpty()) {
loopOverCards = true;
}
}
if (sa.hasParam("ClearRemembered")) {
source.clearRemembered();
}
if (loopOverCards) {
// TODO (ArsenalNut 22 Dec 2012) Add logic to order cards for AI
if (sa.hasParam("ChooseOrder") && repeatCards.size() >= 2) {

View File

@@ -6,6 +6,7 @@ import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollectionView;
import forge.game.card.CardLists;
import forge.game.card.CardUtil;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
@@ -59,9 +60,10 @@ public class SacrificeAllEffect extends SpellAbilityEffect {
card.clearRemembered();
}
for (int i = 0; i < list.size(); i++) {
if (game.getAction().sacrifice(list.get(i), sa) != null && remSacrificed) {
card.addRemembered(list.get(i));
for (Card sac : list) {
final Card lKICopy = CardUtil.getLKICopy(sac);
if (game.getAction().sacrifice(sac, sa) != null && remSacrificed) {
card.addRemembered(lKICopy);
}
}
}

View File

@@ -1,6 +1,7 @@
Name:Flash Foliage
ManaCost:2 G
Types:Instant
A:SP$ Token | Cost$ 2 G | ValidTgts$ Creature.attackingYou | TgtPrompt$ Select target creature attacking you | TokenAmount$ 1 | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | TokenBlocking$ Targeted | ActivationPhases$ Declare Blockers->EndCombat | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Cast CARDNAME only during combat after blockers are declared. Put a 1/1 green Saproling creature token onto the battlefield blocking target creature attacking you. Draw a card.
SVar:DBDraw:DB$ Draw | NumCards$ 1
SVar:Picture:http://www.wizards.com/global/images/magic/general/flash_foliage.jpg
Name:Flash Foliage
ManaCost:2 G
Types:Instant
A:SP$ Token | Cost$ 2 G | ValidTgts$ Creature.attackingYou | TgtPrompt$ Select target creature attacking you | TokenAmount$ 1 | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | TokenBlocking$ Targeted | ActivationPhases$ Declare Blockers->EndCombat | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Cast CARDNAME only during combat after blockers are declared. Put a 1/1 green Saproling creature token onto the battlefield blocking target creature attacking you. Draw a card.
SVar:DBDraw:DB$ Draw | NumCards$ 1
SVar:Picture:http://www.wizards.com/global/images/magic/general/flash_foliage.jpg
Oracle:Cast Flash Foliage only during combat after blockers are declared.\nPut a 1/1 green Saproling creature token onto the battlefield blocking target creature attacking you.\nDraw a card.

View File

@@ -5,3 +5,4 @@ K:CARDNAME enters the battlefield tapped.
A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add {1} to your mana pool.
A:AB$ ChangeZone | Cost$ 2 T Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | Tapped$ True | ChangeNum$ 2 | ShareLandType$ True | SpellDescription$ Search your library for up to two basic land cards that share a land type, put them onto the battlefield tapped, then shuffle your library.
SVar:Picture:http://www.wizards.com/global/images/magic/general/myriad_landscape.jpg
Oracle:Myriad Landscape enters the battlefield tapped.\n{T}: Add {1} to your mana pool.\n{2}, {T}, Sacrifice Myriad Landscape: Search your library for up to two basic land cards that share a land type, put them onto the battlefield tapped, then shuffle your library.

View File

@@ -0,0 +1,13 @@
Name:Wave of Vitriol
ManaCost:5 G G
Types:Sorcery
A:SP$ SacrificeAll | Cost$ 5 G G | ValidCards$ Artifact,Enchantment,Land.nonBasic | RememberSacrificed$ True | SubAbility$ DBRepeat | SpellDescription$ Each player sacrifices all artifacts, enchantments, and nonbasic lands he or she controls. For each land sacrificed this way, its controller may search his or her library for a basic land card and put it onto the battlefield tapped. Then each player who searched his or her library this way shuffles it.
SVar:DBRepeat:DB$ RepeatEach | DefinedCards$ DirectRemembered | AdditionalRestriction$ Land | UseImprinted$ True | RepeatSubAbility$ DBSearch | ClearRemembered$ True | SubAbility$ DBShuffle
SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | ChangeNum$ 1 | Tapped$ True | RememberChanged$ True | DefinedPlayer$ ImprintedController | Chooser$ ImprintedController | NoShuffle$ True | Optional$ True
SVar:DBShuffle:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ShuffleSearched | SubAbility$ DBCleanup
SVar:ShuffleSearched:DB$ Shuffle | Defined$ Player.IsRemembered | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X
SVar:X:Count$Valid Card.IsRemembered+RememberedPlayerCtrl
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/wave_of_vitriol.jpg
Oracle:Each player sacrifices all artifacts, enchantments, and nonbasic lands he or she controls. For each land sacrificed this way, its controller may search his or her library for a basic land card and put it onto the battlefield tapped. Then each player who searched his or her library this way shuffles it.