mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
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:
@@ -278,7 +278,7 @@ public class ChangeZoneAllAi extends SpellAbilityAi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (destination.equals(ZoneType.Battlefield)) {
|
if (destination.equals(ZoneType.Battlefield)) {
|
||||||
if (sa.getParam("GainControl") != null) {
|
if (sa.hasParam("GainControl")) {
|
||||||
// Check if the cards are valuable enough
|
// Check if the cards are valuable enough
|
||||||
if (CardLists.getNotType(oppType, "Creature").size() == 0
|
if (CardLists.getNotType(oppType, "Creature").size() == 0
|
||||||
&& CardLists.getNotType(computerType, "Creature").size() == 0) {
|
&& CardLists.getNotType(computerType, "Creature").size() == 0) {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import forge.ai.SpecialCardAi;
|
|||||||
import forge.ai.SpellAbilityAi;
|
import forge.ai.SpellAbilityAi;
|
||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
|
import forge.game.GameEntity;
|
||||||
import forge.game.GameObject;
|
import forge.game.GameObject;
|
||||||
import forge.game.ability.AbilityUtils;
|
import forge.game.ability.AbilityUtils;
|
||||||
import forge.game.ability.ApiType;
|
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) {
|
private boolean damageChooseNontargeted(Player ai, final SpellAbility saMe, final int dmg) {
|
||||||
// TODO: Improve circumstances where the Defined Damage is unwanted
|
// 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 urgent = false; // can it wait?
|
||||||
boolean positive = false;
|
boolean positive = false;
|
||||||
|
|
||||||
for (final Object o : objects) {
|
for (final GameEntity o : objects) {
|
||||||
if (o instanceof Card) {
|
if (o instanceof Card) {
|
||||||
Card c = (Card) o;
|
Card c = (Card) o;
|
||||||
final int restDamage = ComputerUtilCombat.predictDamageTo(c, dmg, saMe.getHostCard(), false);
|
final int restDamage = ComputerUtilCombat.predictDamageTo(c, dmg, saMe.getHostCard(), false);
|
||||||
|
|||||||
@@ -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;
|
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
|
// TODO Creature.Other might not work yet as it should
|
||||||
TargetChoices newTarget = chooser.getController().chooseNewTargetsFor(changingTgtSA, filter, false);
|
TargetChoices newTarget = chooser.getController().chooseNewTargetsFor(changingTgtSA, filter, false);
|
||||||
if (null != newTarget) {
|
changingTgtSI.updateTarget(newTarget, sa.getHostCard());
|
||||||
changingTgtSI.updateTarget(newTarget, sa.getHostCard());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
changingTgtSI = changingTgtSI.getSubInstance();
|
changingTgtSI = changingTgtSI.getSubInstance();
|
||||||
|
|||||||
@@ -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);
|
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 totalcmc = sa.getParam("WithTotalCMC");
|
||||||
|
final String totalpower = sa.getParam("WithTotalPower");
|
||||||
int totcmc = AbilityUtils.calculateAmount(source, totalcmc, sa);
|
int totcmc = AbilityUtils.calculateAmount(source, totalcmc, sa);
|
||||||
|
int totpower = AbilityUtils.calculateAmount(source, totalpower, sa);
|
||||||
|
|
||||||
fetchList.sort();
|
fetchList.sort();
|
||||||
|
|
||||||
@@ -1163,6 +1165,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
fetchList = CardLists.getValidCards(fetchList, "Card.cmcLE" + totcmc, source.getController(), source, sa);
|
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.
|
// If we're choosing multiple cards, only need to show the reveal dialog the first time through.
|
||||||
boolean shouldReveal = (i == 0);
|
boolean shouldReveal = (i == 0);
|
||||||
@@ -1203,6 +1210,9 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
if (totalcmc != null) {
|
if (totalcmc != null) {
|
||||||
totcmc -= c.getCMC();
|
totcmc -= c.getCMC();
|
||||||
}
|
}
|
||||||
|
if (totalpower != null) {
|
||||||
|
totpower -= c.getCurrentPower();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1501,7 +1511,8 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
&& !sa.hasParam("DifferentCMC")
|
&& !sa.hasParam("DifferentCMC")
|
||||||
&& !sa.hasParam("AtRandom")
|
&& !sa.hasParam("AtRandom")
|
||||||
&& (!sa.hasParam("Defined") || sa.hasParam("ChooseFromDefined"))
|
&& (!sa.hasParam("Defined") || sa.hasParam("ChooseFromDefined"))
|
||||||
&& sa.getParam("WithTotalCMC") == null;
|
&& !sa.hasParam("WithTotalCMC")
|
||||||
|
&& !sa.hasParam("WithTotalPower");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -395,14 +395,8 @@ public class CardProperty {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!card.getEntityAttachedTo().isValid(restriction, sourceController, source, spellAbility)) {
|
if (!card.getEntityAttachedTo().isValid(restriction, sourceController, source, spellAbility)) {
|
||||||
boolean found = false;
|
// only few cases need players
|
||||||
for (final GameObject o : AbilityUtils.getDefinedObjects(source, restriction, spellAbility)) {
|
if (!(restriction.contains("Player") ? AbilityUtils.getDefinedPlayers(source, restriction, spellAbility) : AbilityUtils.getDefinedCards(source, restriction, spellAbility)).contains(card.getEntityAttachedTo())) {
|
||||||
if (o.equals(card.getEntityAttachedTo())) {
|
|
||||||
found = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!found) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ public class Combat {
|
|||||||
|
|
||||||
//gets attacked player opponents (ignores planeswalkers)
|
//gets attacked player opponents (ignores planeswalkers)
|
||||||
public final FCollection<Player> getAttackedOpponents(Player atk) {
|
public final FCollection<Player> getAttackedOpponents(Player atk) {
|
||||||
FCollection<Player> attackedOpps = new FCollection<Player>();
|
FCollection<Player> attackedOpps = new FCollection<>();
|
||||||
if (atk == playerWhoAttacks) {
|
if (atk == playerWhoAttacks) {
|
||||||
for (Player defender : getDefendingPlayers()) {
|
for (Player defender : getDefendingPlayers()) {
|
||||||
if (!getAttackersOf(defender).isEmpty()) {
|
if (!getAttackersOf(defender).isEmpty()) {
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
return true;
|
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"))) {
|
if ("True".equals(getParam("EvolveCondition"))) {
|
||||||
final Card moved = (Card) runParams.get(AbilityKey.Card);
|
final Card moved = (Card) runParams.get(AbilityKey.Card);
|
||||||
if (moved == null) {
|
if (moved == null) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Name:Gorex, the Tombshell
|
|||||||
ManaCost:6 B B
|
ManaCost:6 B B
|
||||||
Types:Legendary Creature Zombie Turtle
|
Types:Legendary Creature Zombie Turtle
|
||||||
PT:4/4
|
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.
|
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:X:Count$xPaid
|
||||||
SVar:Y:SVar$X/Times.2
|
SVar:Y:SVar$X/Times.2
|
||||||
|
|||||||
@@ -6,9 +6,7 @@ T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | Comba
|
|||||||
SVar:TrigCharm:DB$ Charm | Choices$ DBGoad,DBExile
|
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: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: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: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
|
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.
|
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.
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ Types:Creature Wolf
|
|||||||
PT:2/2
|
PT:2/2
|
||||||
K:First Strike
|
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.
|
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: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:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource
|
||||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
|
||||||
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.
|
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.
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Name:Hubris
|
Name:Hubris
|
||||||
ManaCost:1 U
|
ManaCost:1 U
|
||||||
Types:Instant
|
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.
|
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.
|
||||||
SVar:DBBounce:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered,Aura.AttachedTo Targeted | Origin$ Battlefield | Destination$ Hand | UseAllOriginZones$ True | SubAbility$ DBCleanup
|
AI:RemoveDeck:All
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
|
||||||
Oracle:Return target creature and all Auras attached to it to their owners' hands.
|
Oracle:Return target creature and all Auras attached to it to their owners' hands.
|
||||||
|
|||||||
@@ -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
|
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.
|
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: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:DBPlayIt:DB$ Play | Defined$ Imprinted | Amount$ All | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | SubAbility$ DBCleanup
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
|
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.
|
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.
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ ManaCost:3 W
|
|||||||
Types:Creature Human Soldier
|
Types:Creature Human Soldier
|
||||||
PT:2/2
|
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.
|
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: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:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource
|
||||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
|
||||||
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.
|
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.
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ ManaCost:1 W
|
|||||||
Types:Creature Human Soldier
|
Types:Creature Human Soldier
|
||||||
PT:1/1
|
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.
|
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: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:EliteDefence:DB$ SacrificeAll | Defined$ EffectSource
|
||||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
|
||||||
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.
|
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.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ ManaCost:5 W
|
|||||||
Types:Creature Human Knight
|
Types:Creature Human Knight
|
||||||
PT:4/4
|
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.
|
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:DBExile:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Exile
|
||||||
SVar:X:Count$ValidGraveyard Creature.YouOwn+Other
|
SVar:X:Count$ValidGraveyard Creature.YouOwn+Other
|
||||||
SVar:Y:TriggeredCard$CardPower
|
SVar:Y:TriggeredCard$CardPower
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
Name:Portal of Sanctuary
|
Name:Portal of Sanctuary
|
||||||
ManaCost:2 U
|
ManaCost:2 U
|
||||||
Types:Artifact
|
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.
|
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.
|
||||||
SVar:DBBounce:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered,Aura.AttachedTo Targeted | Origin$ Battlefield | Destination$ Hand | UseAllOriginZones$ True | SubAbility$ DBCleanup
|
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
|
||||||
AI:RemoveDeck:All
|
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.
|
Oracle:{1}, {T}: Return target creature you control and each Aura attached to it to their owners' hands. Activate only during your turn.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Name:Scarab of the Unseen
|
Name:Scarab of the Unseen
|
||||||
ManaCost:2
|
ManaCost:2
|
||||||
Types:Artifact
|
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: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
|
SVar:DrawSlowtrip:DB$ Draw | NumCards$ 1 | Defined$ You
|
||||||
AI:RemoveDeck:Random
|
AI:RemoveDeck:Random
|
||||||
|
|||||||
@@ -3,9 +3,7 @@ ManaCost:4 R
|
|||||||
Types:Enchantment
|
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.
|
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: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: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
|
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.
|
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.
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ PT:2/2
|
|||||||
K:Islandwalk
|
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.
|
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: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: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
|
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.
|
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.
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ Types:Artifact Creature Necron Wizard
|
|||||||
PT:3/3
|
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.
|
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: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
|
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.
|
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.
|
||||||
@@ -3,7 +3,7 @@ ManaCost:3 R
|
|||||||
Types:Creature Astartes Warlock
|
Types:Creature Astartes Warlock
|
||||||
PT:3/3
|
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.)
|
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: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
|
SVar:RemoveEffect:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self
|
||||||
DeckHas:Keyword$Cascade
|
DeckHas:Keyword$Cascade
|
||||||
|
|||||||
12
forge-gui/res/cardsfolder/upcoming/redemptor_dreadnought.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/redemptor_dreadnought.txt
Normal 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.
|
||||||
Reference in New Issue
Block a user