mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
@@ -18,6 +18,7 @@ import forge.game.card.CardZoneTable;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.TextUtil;
|
||||
|
||||
public class DestroyAllEffect extends SpellAbilityEffect {
|
||||
@@ -46,10 +47,11 @@ public class DestroyAllEffect extends SpellAbilityEffect {
|
||||
public void resolve(SpellAbility sa) {
|
||||
final boolean noRegen = sa.hasParam("NoRegen");
|
||||
final Card card = sa.getHostCard();
|
||||
final boolean isOptional = sa.hasParam("Optional");
|
||||
final Game game = sa.getActivatingPlayer().getGame();
|
||||
final String desc = sa.getParamOrDefault("ValidDescription", "");
|
||||
|
||||
Player targetPlayer = sa.getTargets().getFirstTargetedPlayer();
|
||||
|
||||
String valid = sa.getParamOrDefault("ValidCards", "");
|
||||
|
||||
// Ugh. If calculateAmount needs to be called with DestroyAll it _needs_
|
||||
@@ -76,7 +78,12 @@ public class DestroyAllEffect extends SpellAbilityEffect {
|
||||
if (sa.hasParam("RememberAllObjects")) {
|
||||
card.addRemembered(list);
|
||||
}
|
||||
|
||||
if (list.isEmpty() && isOptional) {
|
||||
return;
|
||||
}
|
||||
if (isOptional && !sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeDestroy", desc), null)) {
|
||||
return;
|
||||
}
|
||||
// exclude cards that can't be destroyed at this moment
|
||||
list = CardLists.filter(list, CardPredicates.Presets.CAN_BE_DESTROYED);
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
Name:Anoint with Affliction
|
||||
ManaCost:1 B
|
||||
Types:Instant
|
||||
A:SP$ ChangeZone | Defined$ Targeted | ValidTgts$ Creature | ConditionCheckSVar$ X | CondtionSVarCompare$ GE3 | Origin$ Battlefield | Destination$ Exile | SubAbility$ NotPoisoned | SpellDescription$ Exile target creature if it has mana value 3 or less. Corrupted — Exile that creature instead if its controller has three or more poison counters.
|
||||
SVar:NotPoisoned:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Exile | ConditionDefined$ Targeted | ConditionPresent$ Permanent.nonLand+cmcLE3
|
||||
DeckHints:Ability$Proliferate & Keyword$Infect|Toxic
|
||||
SVar:X:TargetedController$PoisonCounters
|
||||
Oracle:Exile target creature if it has mana value 3 or less.\nCorrupted — Exile that creature instead if its controller has three or more poison counters.
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:Awaken the Sleeper
|
||||
ManaCost:3 R
|
||||
Types:Sorcery
|
||||
A:SP$ GainControl | ValidTgts$ Creature | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | SubAbility$ ChompEquip | SpellDescription$ Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn.
|
||||
SVar:ChompEquip:DB$ DestroyAll | ValidCards$ Targeted.Equipment+Attached | ValidDescription$ each equipment equipped to target creature | Optional$ True | SpellDescription$ If it's equipped, you may destroy all Equipment attached to that creature.
|
||||
Oracle:Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. If it's equipped, you may destroy all Equipment attached to that creature.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Basilica Skullbomb
|
||||
ManaCost:1
|
||||
Types:Artifact
|
||||
A:AB$ Draw | Cost$ 1 Sac<1/CARDNAME> | SpellDescription$ Draw a card.
|
||||
A:AB$ Pump | Cost$ 2 W Sac<1/CARDNAME> | ValidTgts$ Creature.YouCtrl | NumAtt$ 2 | NumDef$ 2 | SubAbility$ DBDraw | KW$ Flying | TgtPrompt$ Select target creature you control | SorcerySpeed$ True | SpellDescription$ Target creature you control gets +2/+2 and gains flying until end of turn. Draw a card. Activate only as a sorcery.
|
||||
SVar:DBDraw:DB$ Draw
|
||||
AI:RemoveDeck:Random
|
||||
DeckHas:Color$White & Ability$Sacrifice
|
||||
Oracle:{1}, Sacrifice Basilica Skullbomb: Draw a card.\n{2}{W}, Sacrifice Basilica Skullbomb: Target creature you control gets +2/+2 and gains flying until end of turn. Draw a card. Activate only as a sorcery.
|
||||
@@ -0,0 +1,7 @@
|
||||
Name:Bilious Skulldweller
|
||||
ManaCost:B
|
||||
Types:Creature Phyrexian Insect
|
||||
PT:1/1
|
||||
K:Deathtouch
|
||||
K:Toxic:1
|
||||
Oracle:Deathtouch\nToxic 1 (Players dealt combat damage by this creature also get a poison counter.)
|
||||
11
forge-gui/res/cardsfolder/upcoming/cacophony_scamp.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/cacophony_scamp.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Cacophony Scamp
|
||||
ManaCost:R
|
||||
Types:Creature Phyrexian Goblin Warrior
|
||||
PT:1/1
|
||||
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigProliferate | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice it. If you do, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
|
||||
SVar:TrigProliferate:AB$ Proliferate | Cost$ Sac<1/CARDNAME>
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME dies, it deals damage equal to its power to any target.
|
||||
SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X
|
||||
SVar:X:TriggeredCard$CardPower
|
||||
DeckHas:Ability$Sacrifice
|
||||
Oracle:Whenever Cacophony Scamp deals combat damage to a player, you may sacrifice it. If you do, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)\nWhen Cacophony Scamp dies, it deals damage equal to its power to any target.
|
||||
@@ -0,0 +1,7 @@
|
||||
Name:Carnivorous Canopy
|
||||
ManaCost:2 G
|
||||
Types:Sorcery
|
||||
A:SP$ Destroy | ValidTgts$ Artifact,Enchantment,Creature.withFlying | TgtPrompt$ Select target artifact, enchantment, or creature with flying. | SubAbility$ DBProliferate | SpellDescription$ Destroy target artifact, enchantment, or creature with flying.
|
||||
SVar:DBProliferate:DB$ Proliferate | ConditionDefined$ Targeted | ConditionPresent$ Permanent.cmcLE3 | SpellDescription$ If that permanent's mana value was 3 or less, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
|
||||
DeckHas:Ability$Proliferate
|
||||
Oracle:Destroy target artifact, enchantment, or creature with flying.\nIf that permanent's mana value was 3 or less, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
|
||||
9
forge-gui/res/cardsfolder/upcoming/ichorplate_golem.txt
Normal file
9
forge-gui/res/cardsfolder/upcoming/ichorplate_golem.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:Ichorplate Golem
|
||||
ManaCost:3
|
||||
Types:Artifact Creature Phyrexian Golem
|
||||
PT:2/3
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | TriggerZones$ Battlefield | ValidCard$ Creature.YouCtrl+counters_GE1_OIL | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature enters the battlefield under your control, if it has one or more oil counters on it, put an oil counter on it.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ TriggeredCardLKICopy | ConditionDefined$ TriggeredCard | ConditionPresent$ Creature.counters_GE1_OIL | CounterNum$ 1 | CounterType$ OIL
|
||||
S:Mode$ Continuous | AddPower$ 1 | AddToughness$ 1 | Affected$ Creature.YouCtrl+counters_GE1_OIL | Description$ Creatures you control with oil counters on them get +1/+1.
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Whenever a creature enters the battlefield under your control, if it has one or more oil counters on it, put an oil counter on it.\nCreatures you control with oil counters on them get +1/+1.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Kinzu of the Bleak Coven
|
||||
ManaCost:4 B
|
||||
Types:Legendary Creature Phyrexian Vampire
|
||||
PT:5/4
|
||||
K:Flying
|
||||
T:Mode$ ChangesZone | ValidCard$ Creature.nonToken+Other+YouCtrl | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ Whenever another nontoken creature you control dies, you may pay 2 life and exile it. If you do, create a token that's a copy of that creature, except it's 1/1 and has toxic 1. (Players dealt combat damage by it also get a poison counter.)
|
||||
SVar:TrigExile:AB$ CopyPermanent | Cost$ PayLife<2> ExileFromGrave<1/Card.TriggeredCard/Exile nontoken creature that just died> | PumpKeywords$ Toxic:1 | Defined$ TriggeredCardLKICopy | SetPower$ 1 | SetToughness$ 1
|
||||
DeckHas:Ability$Token
|
||||
Oracle:Flying\nWhenever another nontoken creature you control dies, you may pay 2 life and exile it. If you do, create a token that's a copy of that creature, except it's 1/1 and has toxic 1. (Players dealt combat damage by it also get a poison counter.)
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:Prosthetic Injector
|
||||
ManaCost:1
|
||||
Types:Artifact Equipment
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddToughness$ 2 | AddKeyword$ Toxic:1 | Description$ Equipped creature gets +0/+2 and has toxic 1. (Players dealt damage by equipped creature also get a poison counter.)
|
||||
K:Equip:1
|
||||
Oracle:Equipped creature gets +0/+2 and has toxic 1. (Players dealt damage by equipped creature also get a poison counter.)\nEquip {1}
|
||||
11
forge-gui/res/cardsfolder/upcoming/serum_sovereign.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/serum_sovereign.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Serum Sovereign
|
||||
ManaCost:4 U
|
||||
Types:Creature Phyrexian Sphinx
|
||||
PT:4/4
|
||||
K:Flying
|
||||
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a noncreature spell, put an oil counter on CARDNAME.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ OIL | CounterNum$ 1
|
||||
A:AB$ Draw | Cost$ U SubCounter<1/OIL/NICKNAME> | SubAbility$ DBScry | SpellDescription$ Draw a card, then scry 2.
|
||||
SVar:DBScry:DB$ Scry | ScryNum$ 2
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Flying\nWhenever you cast a noncreature spell, put an oil counter on Serum Sovereign.\n{U}, Remove an oil counter from Serum Sovereign: Draw a card, then scry 2.
|
||||
@@ -2944,3 +2944,4 @@ lblEffect=Wirkung
|
||||
lblEmblem=Emblem
|
||||
lblBoon=Vorteil
|
||||
lblExitToWoldMap=Zurück zur Weltkarte?
|
||||
lblWouldYouLikeDestroy=Would you like to destroy {0} ?
|
||||
@@ -2948,3 +2948,4 @@ lblEffect=Effect
|
||||
lblEmblem=Emblem
|
||||
lblBoon=Boon
|
||||
lblExitToWoldMap=Exit to the World Map?
|
||||
lblWouldYouLikeDestroy=Would you like to destroy {0} ?
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2946,3 +2946,4 @@ lblEffect=Effet
|
||||
lblEmblem=Emblème
|
||||
lblBoon=Aubaine
|
||||
lblExitToWoldMap=Sortir sur la carte du monde?
|
||||
lblWouldYouLikeDestroy=Would you like to destroy {0} ?
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2943,3 +2943,4 @@ lblEffect=効果
|
||||
lblEmblem=エンブレム
|
||||
lblBoon=ブーン
|
||||
lblExitToWoldMap=世界地図に終了しますか?
|
||||
lblWouldYouLikeDestroy=Would you like to destroy {0} ?
|
||||
@@ -3033,3 +3033,4 @@ lblEffect=Efeito
|
||||
lblEmblem=Emblem
|
||||
lblBoon=Boon
|
||||
lblExitToWoldMap=Sair para o mapa do mundo?
|
||||
lblWouldYouLikeDestroy=Would you like to destroy {0} ?
|
||||
@@ -2926,3 +2926,4 @@ lblEffect=影响
|
||||
lblEmblem=象征
|
||||
lblBoon=恩赐
|
||||
lblExitToWoldMap=退出世界地图?
|
||||
lblWouldYouLikeDestroy=Would you like to destroy {0} ?
|
||||
Reference in New Issue
Block a user