4 DFT + 7 DRC cards (#6850)

* Support Aetheric Amplifier
This commit is contained in:
Fulgur14
2025-01-25 14:56:39 +01:00
committed by GitHub
parent 9bda7134d0
commit 5385678076
12 changed files with 125 additions and 11 deletions

View File

@@ -3,6 +3,7 @@ package forge.game.ability.effects;
import java.util.Map;
import forge.game.Game;
import forge.game.GameEntity;
import forge.game.GameEntityCounterTable;
import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
@@ -28,7 +29,7 @@ public class CountersMultiplyEffect extends SpellAbilityEffect {
}
sb.append(" on ");
sb.append(Lang.joinHomogenous(getTargetCards(sa)));
sb.append(Lang.joinHomogenous(getTargetEntities(sa)));
sb.append(".");
@@ -45,19 +46,23 @@ public class CountersMultiplyEffect extends SpellAbilityEffect {
final int n = Integer.parseInt(sa.getParamOrDefault("Multiplier", "2")) - 1;
GameEntityCounterTable table = new GameEntityCounterTable();
for (final Card tgtCard : getTargetCards(sa)) {
Card gameCard = game.getCardState(tgtCard, null);
// gameCard is LKI in that case, the card is not in game anymore
// or the timestamp did change
// this should check Self too
if (gameCard == null || !tgtCard.equalsWithGameTimestamp(gameCard)) {
continue;
for (GameEntity ge : getTargetEntities(sa)) {
if (ge instanceof Card) {
Card gameCard = game.getCardState((Card) ge, null);
// gameCard is LKI in that case, the card is not in game anymore
// or the timestamp did change
// this should check Self too
if (gameCard == null || !((Card) ge).equalsWithGameTimestamp(gameCard)) {
continue;
}
ge = gameCard;
}
if (counterType != null) {
gameCard.addCounter(counterType, gameCard.getCounters(counterType) * n, player, table);
ge.addCounter(counterType, ge.getCounters(counterType) * n, player, table);
} else {
for (Map.Entry<CounterType, Integer> e : gameCard.getCounters().entrySet()) {
gameCard.addCounter(e.getKey(), e.getValue() * n, player, table);
for (Map.Entry<CounterType, Integer> e : ge.getCounters().entrySet()) {
ge.addCounter(e.getKey(), e.getValue() * n, player, table);
}
}
}

View File

@@ -0,0 +1,10 @@
Name:Adaptive Omnitool
ManaCost:2
Types:Artifact Equipment
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each artifact you control.
T:Mode$ Attacks | ValidCard$ Card.EquippedBy | Execute$ TrigDig | TriggerDescription$ Whenever equipped creature attacks, look at the top six cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
SVar:TrigDig:DB$ Dig | DigNum$ 6 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Artifact | RestRandomOrder$ True
SVar:X:Count$Valid Artifact.YouCtrl
SVar:BuffedBy:Artifact
K:Equip:3
Oracle:Equipped creature gets +1/+1 for each artifact you control.\nWhenever equipped creature attacks, look at the top six cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.\nEquip {3}

View File

@@ -0,0 +1,9 @@
Name:Aetherflux Conduit
ManaCost:6
Types:Artifact
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ TrigEnergy | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell, you get an amount of {E} (energy counters) equal to the amount of mana spent to cast that spell.
SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ X
A:AB$ Draw | Cost$ PayEnergy<50> | NumCards$ 7 | SubAbility$ DBPlay | SpellDescription$ Draw seven cards. You may cast any number of spells from your hand without paying their mana costs.
SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell | ValidZone$ Hand | WithoutManaCost$ True | Amount$ All | Controller$ You | Optional$ True
SVar:X:TriggeredCard$CastTotalManaSpent
Oracle:Whenever you cast a spell, you get an amount of {E} (energy counters) equal to the amount of mana spent to cast that spell.\n{T}, Pay fifty {E}: Draw seven cards. You may cast any number of spells from your hand without paying their mana costs.

View File

@@ -0,0 +1,8 @@
Name:Aetheric Amplifier
ManaCost:3
Types:Artifact
A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color.
A:AB$ Charm | Cost$ 4 T | Choices$ DBPermanent,DBPlayer | CharmNum$ 1 | SorcerySpeed$ True | AdditionalDescription$ . Activate only as a sorcery.
SVar:DBPermanent:DB$ MultiplyCounter | ValidTgts$ Permanent | Multiplier$ 2 | SpellDescription$ Double the number of each kind of counter on target permanent.
SVar:DBPlayer:DB$ MultiplyCounter | Defined$ You | Multiplier$ 2 | SpellDescription$ Double the number of each kind of counter you have.
Oracle:{T}: Add one mana of any color.\n{4}, {T}: Choose one. Activate only as a sorcery.\n• Double the number of each kind of counter on target permanent.\n• Double the number of each kind of counter you have.

View File

@@ -0,0 +1,10 @@
Name:Marshals' Pathcruiser
ManaCost:3
Types:Artifact Vehicle
PT:6/5
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When this Vehicle enters, search your library for a basic land card, reveal it, put it into your hand, then shuffle.
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic
A:AB$ Animate | Cost$ W U B R G | Defined$ Self | Types$ Artifact,Creature | Exhaust$ True | Duration$ Permanent | SubAbility$ DBPutCounter | SpellDescription$ This Vehicle becomes an artifact creature. Put two +1/+1 counters on it. (Activate each exhaust ability only once.)
SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 2
K:Crew:5
Oracle:When this Vehicle enters, search your library for a basic land card, reveal it, put it into your hand, then shuffle.\nExhaust — {W}{U}{B}{R}{G}: This Vehicle becomes an artifact creature. Put two +1/+1 counters on it. (Activate each exhaust ability only once.)\nCrew 5

View File

@@ -0,0 +1,8 @@
Name:Nissa, Worldsoul Speaker
ManaCost:3 G
Types:Legendary Creature Elf Druid
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | TriggerZones$ Battlefield | ValidCard$ Land.YouCtrl | Execute$ TrigEnergy | TriggerDescription$ Landfall — Whenever a land you control enters, you get {E}{E} (two energy counters).
SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 2
S:Mode$ Continuous | Affected$ Card.YouCtrl+Permanent+nonLand | MayPlay$ True | MayPlayAltManaCost$ PayEnergy<8> | MayPlayDontGrantZonePermissions$ True | AffectedZone$ Hand,Graveyard,Exile,Library,Command | Description$ You may pay eight {E} rather than pay the mana cost for permanent spells you cast.
Oracle:Landfall — Whenever a land you control enters, you get {E}{E} (two energy counters).\nYou may pay eight {E} rather than pay the mana cost for permanent spells you cast.

View File

@@ -0,0 +1,12 @@
Name:Peema Trailblazer
ManaCost:2 G
Types:Creature Elephant Warrior
PT:3/3
K:Trample
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigEnergy | TriggerDescription$ Whenever this creature deals combat damage to a player, you get that many {E} (energy counters).
SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ TriggerCount$DamageAmount
A:AB$ PutCounter | Cost$ PayEnergy<6> | Defined$ Self | CounterType$ P1P1 | CounterNum$ 2 | Exhaust$ True | SubAbility$ DBDraw | SpellDescription$ Put two +1/+1 counters on this creature. Then draw cards equal to the greatest power among creatures you control. (Activate each exhaust ability only once.)
SVar:DBDraw:DB$ Draw | NumCards$ X
SVar:X:Count$Valid Creature.YouCtrl$GreatestPower
DeckHas:Ability$Counters
Oracle:Trample\nWhenever this creature deals combat damage to a player, you get that many {E} (energy counters).\nExhaust — Pay six {E}: Put two +1/+1 counters on this creature. Then draw cards equal to the greatest power among creatures you control. (Activate each exhaust ability only once.)

View File

@@ -0,0 +1,9 @@
Name:Possession Engine
ManaCost:3 U U
Types:Artifact Vehicle
PT:5/5
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When this Vehicle enters, gain control of target creature an opponent controls for as long as you control this Vehicle. That creature can't attack or block for as long as you control this Vehicle.
SVar:TrigChange:DB$ GainControl | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Choose target creature an opponent controls | LoseControl$ LeavesPlay,LoseControl | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | KW$ HIDDEN CARDNAME can't attack or block. | Duration$ AsLongAsControl | Defined$ Targeted
K:Crew:3
Oracle:When this Vehicle enters, gain control of target creature an opponent controls for as long as you control this Vehicle. That creature can't attack or block for as long as you control this Vehicle.\nCrew 3

View File

@@ -0,0 +1,14 @@
Name:Rampaging Aetherhood
ManaCost:4 G
Types:Creature Snake Hydra
PT:4/4
K:Trample
K:Ward:2
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigEnergy | TriggerDescription$ At the beginning of your upkeep, you get an amount of {E} (energy counters) equal to this creature's power. Then you may pay one or more {E}. If you do, put that many +1/+1 counters on this creature.
SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ X | SubAbility$ DBChooseNumber
SVar:DBChooseNumber:DB$ ChooseNumber | Max$ Max | ListTitle$ amount of energy to pay | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | UnlessCost$ PayEnergy<Y> | UnlessPayer$ You | UnlessSwitched$ True | CounterType$ P1P1 | CounterNum$ Y
SVar:X:Count$CardPower
SVar:Max:Count$YourCountersEnergy
SVar:Y:Count$ChosenNumber
Oracle:Trample, ward {2}\nAt the beginning of your upkeep, you get an amount of {E} (energy counters) equal to this creature's power. Then you may pay one or more {E}. If you do, put that many +1/+1 counters on this creature.

View File

@@ -0,0 +1,9 @@
Name:Spotcycle Scouter
ManaCost:1 W
Types:Artifact Vehicle
PT:3/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigScry | TriggerDescription$ When this Vehicle enters, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom and the rest on top in any order.)
SVar:TrigScry:DB$ Scry | ScryNum$ 2
K:Crew:1
DeckHas:Ability$Counters
Oracle:When this Vehicle enters, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom and the rest on top in any order.)\nCrew 1 (Tap any number of creatures you control with total power 1 or more: This Vehicle becomes an artifact creature until end of turn.)

View File

@@ -0,0 +1,9 @@
Name:Stridehangar Automaton
ManaCost:3
Types:Artifact Creature Construct
PT:1/4
S:Mode$ Continuous | Affected$ Thopter.YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Thopters you control get +1/+1.
R:Event$ CreateToken | ActiveZones$ Battlefield | ValidToken$ Artifact.YouCtrl | ReplaceWith$ DBReplace | Description$ If one or more artifact tokens would be created under your control, those tokens plus an additional 1/1 colorless Thopter artifact creature token with flying are created instead.
SVar:DBReplace:DB$ ReplaceToken | Type$ AddToken | Amount$ 1 | ValidCard$ Artifact.YouCtrl | TokenScript$ c_1_1_a_thopter_flying
DeckHas:Ability$Token
Oracle:Thopters you control get +1/+1.\nIf one or more artifact tokens would be created under your control, those tokens plus an additional 1/1 colorless Thopter artifact creature token with flying are created instead.

View File

@@ -0,0 +1,11 @@
Name:Wreck Remover
ManaCost:4
Types:Artifact Creature Construct
PT:3/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ Whenever this creature enters or attacks, exile up to one target card from a graveyard. You gain 1 life.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever this creature enters or attacks, exile up to one target card from a graveyard. You gain 1 life.
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target card in a graveyard to exile | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1
K:Cycling:2
SVar:HasAttackEffect:TRUE
Oracle:Whenever this creature enters or attacks, exile up to one target card from a graveyard. You gain 1 life.\nCycling {2} ({2}, Discard this card: Draw a card.)