Redemptor Dreadnought + some fixes (#1578)

* Redemptor Dreadnought

* Cleanup

* Fix Moorland Rescuer

* Fix AttachedTo returning players for valid card params

* Fix cost

* Fixes

Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.59>
This commit is contained in:
tool4ever
2022-09-24 06:06:43 +02:00
committed by GitHub
parent e9e5303710
commit 84589e06c5
22 changed files with 52 additions and 48 deletions

View File

@@ -278,7 +278,7 @@ public class ChangeZoneAllAi extends SpellAbilityAi {
}
if (destination.equals(ZoneType.Battlefield)) {
if (sa.getParam("GainControl") != null) {
if (sa.hasParam("GainControl")) {
// Check if the cards are valuable enough
if (CardLists.getNotType(oppType, "Creature").size() == 0
&& CardLists.getNotType(computerType, "Creature").size() == 0) {

View File

@@ -25,6 +25,7 @@ import forge.ai.SpecialCardAi;
import forge.ai.SpellAbilityAi;
import forge.card.mana.ManaCost;
import forge.game.Game;
import forge.game.GameEntity;
import forge.game.GameObject;
import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType;
@@ -805,11 +806,11 @@ public class DamageDealAi extends DamageAiBase {
*/
private boolean damageChooseNontargeted(Player ai, final SpellAbility saMe, final int dmg) {
// TODO: Improve circumstances where the Defined Damage is unwanted
final List<GameObject> objects = AbilityUtils.getDefinedObjects(saMe.getHostCard(), saMe.getParam("Defined"), saMe);
final List<GameEntity> objects = AbilityUtils.getDefinedEntities(saMe.getHostCard(), saMe.getParam("Defined"), saMe);
boolean urgent = false; // can it wait?
boolean positive = false;
for (final Object o : objects) {
for (final GameEntity o : objects) {
if (o instanceof Card) {
Card c = (Card) o;
final int restDamage = ComputerUtilCombat.predictDamageTo(c, dmg, saMe.getHostCard(), false);

View File

@@ -132,9 +132,7 @@ public class ChangeTargetsEffect extends SpellAbilityEffect {
Predicate<GameObject> filter = sa.hasParam("TargetRestriction") ? GameObjectPredicates.restriction(sa.getParam("TargetRestriction").split(","), activator, sa.getHostCard(), sa) : null;
// TODO Creature.Other might not work yet as it should
TargetChoices newTarget = chooser.getController().chooseNewTargetsFor(changingTgtSA, filter, false);
if (null != newTarget) {
changingTgtSI.updateTarget(newTarget, sa.getHostCard());
}
changingTgtSI.updateTarget(newTarget, sa.getHostCard());
}
}
changingTgtSI = changingTgtSI.getSubInstance();

View File

@@ -1093,7 +1093,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
String selectPrompt = sa.hasParam("SelectPrompt") ? sa.getParam("SelectPrompt") : MessageUtil.formatMessage(Localizer.getInstance().getMessage("lblSelectCardFromPlayerZone", "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase()), decider, player);
final String totalcmc = sa.getParam("WithTotalCMC");
final String totalpower = sa.getParam("WithTotalPower");
int totcmc = AbilityUtils.calculateAmount(source, totalcmc, sa);
int totpower = AbilityUtils.calculateAmount(source, totalpower, sa);
fetchList.sort();
@@ -1163,6 +1165,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
fetchList = CardLists.getValidCards(fetchList, "Card.cmcLE" + totcmc, source.getController(), source, sa);
}
}
if (totalpower != null) {
if (totpower >= 0) {
fetchList = CardLists.getValidCards(fetchList, "Card.powerLE" + totpower, source.getController(), source, sa);
}
}
// If we're choosing multiple cards, only need to show the reveal dialog the first time through.
boolean shouldReveal = (i == 0);
@@ -1203,6 +1210,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
if (totalcmc != null) {
totcmc -= c.getCMC();
}
if (totalpower != null) {
totpower -= c.getCurrentPower();
}
}
}
@@ -1501,7 +1511,8 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
&& !sa.hasParam("DifferentCMC")
&& !sa.hasParam("AtRandom")
&& (!sa.hasParam("Defined") || sa.hasParam("ChooseFromDefined"))
&& sa.getParam("WithTotalCMC") == null;
&& !sa.hasParam("WithTotalCMC")
&& !sa.hasParam("WithTotalPower");
}
/**

View File

@@ -395,14 +395,8 @@ public class CardProperty {
}
if (!card.getEntityAttachedTo().isValid(restriction, sourceController, source, spellAbility)) {
boolean found = false;
for (final GameObject o : AbilityUtils.getDefinedObjects(source, restriction, spellAbility)) {
if (o.equals(card.getEntityAttachedTo())) {
found = true;
break;
}
}
if (!found) {
// only few cases need players
if (!(restriction.contains("Player") ? AbilityUtils.getDefinedPlayers(source, restriction, spellAbility) : AbilityUtils.getDefinedCards(source, restriction, spellAbility)).contains(card.getEntityAttachedTo())) {
return false;
}
}

View File

@@ -203,7 +203,7 @@ public class Combat {
//gets attacked player opponents (ignores planeswalkers)
public final FCollection<Player> getAttackedOpponents(Player atk) {
FCollection<Player> attackedOpps = new FCollection<Player>();
FCollection<Player> attackedOpps = new FCollection<>();
if (atk == playerWhoAttacks) {
for (Player defender : getDefendingPlayers()) {
if (!getAttackersOf(defender).isEmpty()) {

View File

@@ -348,7 +348,7 @@ public abstract class Trigger extends TriggerReplacementBase {
return true;
}
public boolean meetsRequirementsOnTriggeredObjects(Game game, final Map<AbilityKey, Object> runParams) {
public boolean meetsRequirementsOnTriggeredObjects(Game game, final Map<AbilityKey, Object> runParams) {
if ("True".equals(getParam("EvolveCondition"))) {
final Card moved = (Card) runParams.get(AbilityKey.Card);
if (moved == null) {

View File

@@ -2,7 +2,7 @@ Name:Gorex, the Tombshell
ManaCost:6 B B
Types:Legendary Creature Zombie Turtle
PT:4/4
A:SP$ PermanentCreature | Cost$ 6 B B ExileFromGrave<X/Creature/creature cards> | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way.
A:SP$ PermanentCreature | Cost$ 6 B B ExileFromGrave<X/Creature> | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way.
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way.
SVar:X:Count$xPaid
SVar:Y:SVar$X/Times.2

View File

@@ -6,9 +6,7 @@ T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | Comba
SVar:TrigCharm:DB$ Charm | Choices$ DBGoad,DBExile
SVar:DBGoad:DB$ Goad | ValidTgts$ Creature | TargetsWithDefinedController$ TriggeredTarget | TgtPrompt$ Select target creature damaged player controls | SpellDescription$ Goad target creature that player controls.
SVar:DBExile:DB$ Dig | Defined$ TriggeredDefendingPlayer | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top card of that player's library. Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it.
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | Triggers$ TriggerCastDoM | RememberObjects$ Remembered | SubAbility$ DBCleanup
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ExileOnMoved$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup
SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreColor$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it.
SVar:TriggerCastDoM:Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ TrigRemoveSelf | Static$ True
SVar:TrigRemoveSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Whenever a creature you control deals combat damage to a player, choose one —\n• Goad target creature that player controls.\n• Exile the top card of that player's library. Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast that spell.

View File

@@ -4,8 +4,7 @@ Types:Creature Wolf
PT:2/2
K:First Strike
A:AB$ Pump | Cost$ T | NumAtt$ +2 | KW$ First Strike | ValidTgts$ Creature.Dwarf | TgtPrompt$ Select target dwarf creature | ActivationPhases$ BeginCombat->EndCombat | SubAbility$ EliteGuardEffect | SpellDescription$ Target Dwarf creature gets +2/+0 and gains first strike until end of turn. When that creature leaves the battlefield this turn, sacrifice CARDNAME. Activate only during combat.
SVar:EliteGuardEffect:DB$ Effect | Triggers$ LostTheGuarded | RememberObjects$ Targeted
SVar:EliteGuardEffect:DB$ Effect | Triggers$ LostTheGuarded | RememberObjects$ Targeted | ExileOnMoved$ Battlefield
SVar:LostTheGuarded:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE.
SVar:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource
Oracle:First strike\n{T}: Target Dwarf creature gets +2/+0 and gains first strike until end of turn. When that creature leaves the battlefield this turn, sacrifice Heart Wolf. Activate only during combat.

View File

@@ -1,7 +1,6 @@
Name:Hubris
ManaCost:1 U
Types:Instant
A:SP$ Pump | Cost$ 1 U | ValidTgts$ Creature | IsCurse$ True | RememberTargets$ True | SubAbility$ DBBounce | StackDescription$ Return {c:Targeted} and all Auras attached to it to their owners' hands. | SpellDescription$ Return target creature and all Auras attached to it to their owners' hands.
SVar:DBBounce:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered,Aura.AttachedTo Targeted | Origin$ Battlefield | Destination$ Hand | UseAllOriginZones$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:SP$ ChangeZoneAll | Cost$ 1 U | ValidTgts$ Creature | ChangeType$ TargetedCard.Self,Aura.AttachedTo Targeted | Origin$ Battlefield | Destination$ Hand | UseAllOriginZones$ True | StackDescription$ Return {c:Targeted} and all Auras attached to it to their owners' hands. | SpellDescription$ Return target creature and all Auras attached to it to their owners' hands.
AI:RemoveDeck:All
Oracle:Return target creature and all Auras attached to it to their owners' hands.

View File

@@ -11,6 +11,6 @@ SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination
SVar:DBLibraryBottom:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Library | Destination$ Library | LibraryPosition$ -1
A:AB$ RepeatEach | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | RepeatPlayers$ Player | RepeatSubAbility$ DBJaceExile | SubAbility$ DBPlayIt | SpellDescription$ For each player, search that player's library for a nonland card and exile it, then that player shuffles. You may cast those cards without paying their mana costs.
SVar:DBJaceExile:DB$ ChangeZone | Origin$ Library | Destination$ Exile | DefinedPlayer$ Remembered | Chooser$ You | ChangeType$ Card.nonLand | ChangeNum$ 1 | Imprint$ True | Shuffle$ True
SVar:DBPlayIt:DB$ Play | Defined$ Imprinted | Amount$ All | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | RememberPlayed$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
SVar:DBPlayIt:DB$ Play | Defined$ Imprinted | Amount$ All | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True
Oracle:[+1]: Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.\n[-2]: Reveal the top three cards of your library. An opponent separates those cards into two piles. Put one pile into your hand and the other on the bottom of your library in any order.\n[-8]: For each player, search that player's library for a nonland card and exile it, then that player shuffles. You may cast those cards without paying their mana costs.

View File

@@ -3,8 +3,7 @@ ManaCost:3 W
Types:Creature Human Soldier
PT:2/2
A:AB$ Pump | Cost$ T | NumAtt$ +2 | NumDef$ +2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | ActivationPhases$ BeginCombat->EndCombat | SubAbility$ EliteGuardEffect | SpellDescription$ Target creature gets +2/+2 until end of turn. When that creature leaves the battlefield this turn, sacrifice CARDNAME. Activate only during combat.
SVar:EliteGuardEffect:DB$ Effect | Name$ Elite Guard Escort | Triggers$ LostTheGuarded | RememberObjects$ Targeted
SVar:EliteGuardEffect:DB$ Effect | Name$ Elite Guard Escort | Triggers$ LostTheGuarded | RememberObjects$ Targeted | ExileOnMoved$ Battlefield
SVar:LostTheGuarded:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE.
SVar:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource
Oracle:{T}: Target creature gets +2/+2 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard. Activate only during combat.

View File

@@ -3,8 +3,7 @@ ManaCost:1 W
Types:Creature Human Soldier
PT:1/1
A:AB$ Pump | Cost$ T | NumAtt$ +1 | NumDef$ +1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | ActivationPhases$ BeginCombat->EndCombat | IsPresent$ Land.Snow+DefenderCtrl | PresentCompare$ EQ0 | SubAbility$ KjeldoranGuardEffect | SpellDescription$ Target creature gets +1/+1 until end of turn. When that creature leaves the battlefield this turn, sacrifice CARDNAME. Activate only during combat and only if defending player controls no snow lands.
SVar:KjeldoranGuardEffect:DB$ Effect | Triggers$ TrigSacGuard | RememberObjects$ Targeted
SVar:KjeldoranGuardEffect:DB$ Effect | Triggers$ TrigSacGuard | RememberObjects$ Targeted | ExileOnMoved$ Battlefield
SVar:TrigSacGuard:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE.
SVar:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource
Oracle:{T}: Target creature gets +1/+1 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Guard. Activate only during combat and only if defending player controls no snow lands.

View File

@@ -3,7 +3,7 @@ ManaCost:5 W
Types:Creature Human Knight
PT:4/4
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME dies, return any number of other creature cards with total power X or less from the graveyard to the battlefield, where X is CARDNAME's power. Exile CARDNAME.
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Creature.YouOwn+Other | MaxTotalTargetPower$ Y | SubAbility$ DBExile | TgtPrompt$ Select any number of other creature cards with total power X or less
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature.YouOwn+Other | WithTotalPower$ Y | ChangeNum$ X | Hidden$ True | AnyNumber$ True | SelectPrompt$ Choose any number of creature cards with total power up to this creature's power | SubAbility$ DBExile
SVar:DBExile:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Exile
SVar:X:Count$ValidGraveyard Creature.YouOwn+Other
SVar:Y:TriggeredCard$CardPower

View File

@@ -1,8 +1,6 @@
Name:Portal of Sanctuary
ManaCost:2 U
Types:Artifact
A:AB$ Pump | Cost$ 1 T | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | RememberTargets$ True | SubAbility$ DBBounce | StackDescription$ Return {c:Targeted} and all Auras attached to it to their owners' hands. | PlayerTurn$ True | SpellDescription$ Return target creature you control and all Auras attached to it to their owners' hands. Activate only during your turn.
SVar:DBBounce:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered,Aura.AttachedTo Targeted | Origin$ Battlefield | Destination$ Hand | UseAllOriginZones$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:AB$ ChangeZoneAll | Cost$ 1 T | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | ChangeType$ TargetedCard.Self,Aura.AttachedTo Targeted | Origin$ Battlefield | Destination$ Hand | UseAllOriginZones$ True | PlayerTurn$ True | SpellDescription$ Return target creature you control and all Auras attached to it to their owners' hands. Activate only during your turn. | StackDescription$ Return {c:Targeted} and all Auras attached to it to their owners' hands.
AI:RemoveDeck:All
Oracle:{1}, {T}: Return target creature you control and each Aura attached to it to their owners' hands. Activate only during your turn.

View File

@@ -1,7 +1,7 @@
Name:Scarab of the Unseen
ManaCost:2
Types:Artifact
A:AB$ ChangeZoneAll | Cost$ T Sac<1/CARDNAME> | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Permanent.YouOwn | TgtPrompt$ Select target permanent you own | ChangeType$ Aura.AttachedTo Targeted | SubAbility$ DelTrigSlowtrip | SpellDescription$ Return all Auras attached to target permanent you own to their owners' hands. Draw a card at the beginning of the next turn's upkeep.
A:AB$ ChangeZoneAll | Cost$ T Sac<1/CARDNAME> | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Permanent.YouOwn | TgtPrompt$ Select target permanent you own | ChangeType$ Aura.AttachedTo Targeted | UseAllOriginZones$ True | SubAbility$ DelTrigSlowtrip | SpellDescription$ Return all Auras attached to target permanent you own to their owners' hands. Draw a card at the beginning of the next turn's upkeep.
SVar:DelTrigSlowtrip:DB$ DelayedTrigger | NextTurn$ True | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ DrawSlowtrip | TriggerDescription$ Draw a card.
SVar:DrawSlowtrip:DB$ Draw | NumCards$ 1 | Defined$ You
AI:RemoveDeck:Random

View File

@@ -3,9 +3,7 @@ ManaCost:4 R
Types:Enchantment
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of your upkeep, exile the top card of each opponent's library. Until end of turn, you may cast spells from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells.
SVar:TrigExile:DB$ Dig | Defined$ Player.Opponent | DigNum$ 1 | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top card of each opponent's library. Until end of turn, you may cast nonland cards from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells.
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | Triggers$ TriggerCastDoM | RememberObjects$ Remembered | SubAbility$ DBCleanup
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ExileOnMoved$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup
SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreColor$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it.
SVar:TriggerCastDoM:Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ TrigRemoveSelf | Static$ True
SVar:TrigRemoveSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:At the beginning of your upkeep, exile the top card of each opponent's library. Until end of turn, you may cast spells from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells.

View File

@@ -5,9 +5,7 @@ PT:2/2
K:Islandwalk
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, search that player's library for an artifact card and exile it. Then that player shuffles. Until end of turn, you may play that card.
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | DefinedPlayer$ TriggeredTarget | Chooser$ You | ChangeType$ Artifact | ChangeNum$ 1 | RememberChanged$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | Triggers$ TriggerCastDoM | RememberObjects$ Remembered | SubAbility$ DBCleanup
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ExileOnMoved$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup
SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until end of turn, you may play that card.
SVar:TriggerCastDoM:Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ TrigRemoveSelf | Static$ True
SVar:TrigRemoveSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Islandwalk (This creature can't be blocked as long as defending player controls an Island.)\nWhenever Thada Adel, Acquisitor deals combat damage to a player, search that player's library for an artifact card and exile it. Then that player shuffles. Until end of turn, you may play that card.

View File

@@ -4,6 +4,6 @@ Types:Artifact Creature Necron Wizard
PT:3/3
A:AB$ ChooseCard | Cost$ 1 B T | ValidTgts$ Artifact.Creature+YouCtrl+Other | TgtPrompt$ Choose another target artifact creature you control | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:Targeted} dies this turn, return that card to the battlefield tapped. | SpellDescription$ Choose another target artifact creature you control. When that creature dies this turn, return it to the battlefield tapped under your control.
SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigReturn | StackDescription$ None | TriggerDescription$ When that creature dies this turn, return it to the battlefield tapped under your control.
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ TriggeredCard | Tapped$ True
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ TriggeredCard | Tapped$ True | GainControl$ True
DeckHints:Ability$Graveyard
Oracle:{1}{B}, {T}: Choose another target artifact creature you control. When that creature dies this turn, return it to the battlefield tapped under your control.

View File

@@ -3,7 +3,7 @@ ManaCost:3 R
Types:Creature Astartes Warlock
PT:3/3
A:AB$ Effect | PrecostDesc$ Gift of Chaos — | Cost$ 3 T | StaticAbilities$ GrantCascade | Triggers$ ExileEffect | SpellDescription$ The next noncreature spell you cast this turn has cascade. (When you cast that spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.)
SVar:GrantCascade:Mode$ Continuous | EffectZone$ Command | Affected$ Card.nonCreature+YouOwn | AffectedZone$ Stack | Execute$ ExileEff | AddKeyword$ Cascade | Description$ The next noncreature spell you cast this turn has cascade.
SVar:GrantCascade:Mode$ Continuous | EffectZone$ Command | Affected$ Card.nonCreature+YouOwn | AffectedZone$ Stack | AddKeyword$ Cascade | Description$ The next noncreature spell you cast this turn has cascade.
SVar:ExileEffect:Mode$ SpellCast | EffectZone$ Command | Valid$ Card.nonCreature+YouOwn | AffectedZone$ Stack | Execute$ RemoveEffect | Static$ True
SVar:RemoveEffect:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self
DeckHas:Keyword$Cascade

View File

@@ -0,0 +1,12 @@
Name:Redemptor Dreadnought
ManaCost:5
Types:Artifact Creature Astartes Dreadnought
PT:4/4
K:Trample
A:SP$ PermanentCreature | Cost$ 5 ExileFromGrave<X/Creature> | XMaxLimit$ 1
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | IsPresent$ Card.ExiledWithSource | PresentZone$ Exile | TriggerDescription$ Plasma Incinerator — Whenever CARDNAME attacks, if a card is exiled with it, it gets +X/+X until end of turn, where X is the power of the exiled card.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumDef$ Y | NumAtt$ Y
SVar:X:Count$xPaid
SVar:Y:Count$ValidExile Card.ExiledWithSource$CardPower
SVar:HasAttackEffect:TRUE
Oracle:Fallen Warrior — As an additional cost to cast this spell, you may exile a creature card from your graveyard.\nTrample\nPlasma Incinerator — Whenever Redemptor Dreadnought attacks, if a card is exiled with it, it gets +X/+X until end of turn, where X is the power of the exiled card.