mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- C14: Added Wave of Vitriol
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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_indifference.txt svneol=native#text/plain
|
||||||
forge-gui/res/cardsfolder/w/wave_of_reckoning.txt -text
|
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_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/wavecrash_triton.txt -text
|
||||||
forge-gui/res/cardsfolder/w/waves_of_aggression.txt -text
|
forge-gui/res/cardsfolder/w/waves_of_aggression.txt -text
|
||||||
forge-gui/res/cardsfolder/w/waveskimmer_aven.txt svneol=native#text/plain
|
forge-gui/res/cardsfolder/w/waveskimmer_aven.txt svneol=native#text/plain
|
||||||
|
|||||||
@@ -55,11 +55,19 @@ public class RepeatEachEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
else if (sa.hasParam("DefinedCards")) {
|
else if (sa.hasParam("DefinedCards")) {
|
||||||
repeatCards = AbilityUtils.getDefinedCards(source, sa.getParam("DefinedCards"), sa);
|
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()) {
|
if (!repeatCards.isEmpty()) {
|
||||||
loopOverCards = true;
|
loopOverCards = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sa.hasParam("ClearRemembered")) {
|
||||||
|
source.clearRemembered();
|
||||||
|
}
|
||||||
|
|
||||||
if (loopOverCards) {
|
if (loopOverCards) {
|
||||||
// TODO (ArsenalNut 22 Dec 2012) Add logic to order cards for AI
|
// TODO (ArsenalNut 22 Dec 2012) Add logic to order cards for AI
|
||||||
if (sa.hasParam("ChooseOrder") && repeatCards.size() >= 2) {
|
if (sa.hasParam("ChooseOrder") && repeatCards.size() >= 2) {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import forge.game.ability.SpellAbilityEffect;
|
|||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCollectionView;
|
import forge.game.card.CardCollectionView;
|
||||||
import forge.game.card.CardLists;
|
import forge.game.card.CardLists;
|
||||||
|
import forge.game.card.CardUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -59,9 +60,10 @@ public class SacrificeAllEffect extends SpellAbilityEffect {
|
|||||||
card.clearRemembered();
|
card.clearRemembered();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (Card sac : list) {
|
||||||
if (game.getAction().sacrifice(list.get(i), sa) != null && remSacrificed) {
|
final Card lKICopy = CardUtil.getLKICopy(sac);
|
||||||
card.addRemembered(list.get(i));
|
if (game.getAction().sacrifice(sac, sa) != null && remSacrificed) {
|
||||||
|
card.addRemembered(lKICopy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
Name:Flash Foliage
|
Name:Flash Foliage
|
||||||
ManaCost:2 G
|
ManaCost:2 G
|
||||||
Types:Instant
|
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.
|
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:DBDraw:DB$ Draw | NumCards$ 1
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/flash_foliage.jpg
|
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.
|
||||||
|
|||||||
@@ -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$ 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.
|
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
|
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.
|
||||||
|
|||||||
13
forge-gui/res/cardsfolder/w/wave_of_vitriol.txt
Normal file
13
forge-gui/res/cardsfolder/w/wave_of_vitriol.txt
Normal 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.
|
||||||
Reference in New Issue
Block a user