mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- RemAIDeck update: next iteration.
This commit is contained in:
@@ -700,7 +700,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
|
|||||||
protected boolean checkPhaseRestrictions(Player ai, SpellAbility sa, PhaseHandler ph) {
|
protected boolean checkPhaseRestrictions(Player ai, SpellAbility sa, PhaseHandler ph) {
|
||||||
String aiLogic = sa.getParamOrDefault("AILogic", "");
|
String aiLogic = sa.getParamOrDefault("AILogic", "");
|
||||||
|
|
||||||
if (aiLogic.equals("SurvivalOfTheFittest")) {
|
if (aiLogic.equals("SurvivalOfTheFittest") || aiLogic.equals("AtOppEOT")) {
|
||||||
return ph.getNextTurn().equals(ai) && ph.is(PhaseType.END_OF_TURN);
|
return ph.getNextTurn().equals(ai) && ph.is(PhaseType.END_OF_TURN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -809,6 +809,14 @@ public class ChangeZoneAi extends SpellAbilityAi {
|
|||||||
if (sa.hasParam("AITgts")) {
|
if (sa.hasParam("AITgts")) {
|
||||||
list = CardLists.getValidCards(list, sa.getParam("AITgts"), ai, source);
|
list = CardLists.getValidCards(list, sa.getParam("AITgts"), ai, source);
|
||||||
}
|
}
|
||||||
|
if (sa.hasParam("AITgtsOnlyBetterThanSelf")) {
|
||||||
|
list = CardLists.filter(list, new Predicate<Card>() {
|
||||||
|
@Override
|
||||||
|
public boolean apply(Card card) {
|
||||||
|
return ComputerUtilCard.evaluateCreature(card) > ComputerUtilCard.evaluateCreature(source) + 30;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
if (source.isInZone(ZoneType.Hand)) {
|
if (source.isInZone(ZoneType.Hand)) {
|
||||||
list = CardLists.filter(list, Predicates.not(CardPredicates.nameEquals(source.getName()))); // Don't get the same card back.
|
list = CardLists.filter(list, Predicates.not(CardPredicates.nameEquals(source.getName()))); // Don't get the same card back.
|
||||||
}
|
}
|
||||||
@@ -1381,7 +1389,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
|
|||||||
String logic = sa.getParam("AILogic");
|
String logic = sa.getParam("AILogic");
|
||||||
if ("NeverBounceItself".equals(logic)) {
|
if ("NeverBounceItself".equals(logic)) {
|
||||||
Card source = sa.getHostCard();
|
Card source = sa.getHostCard();
|
||||||
if (fetchList.contains(source) && fetchList.size() > 1) {
|
if (fetchList.contains(source) && (fetchList.size() > 1 || sa.getTriggeringAbility().isMandatory())) {
|
||||||
// For cards that should never be bounced back to hand with their own [e.g. triggered] abilities, such as guild lands.
|
// For cards that should never be bounced back to hand with their own [e.g. triggered] abilities, such as guild lands.
|
||||||
fetchList.remove(source);
|
fetchList.remove(source);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -537,6 +537,10 @@ public class PumpAi extends PumpAiBase {
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sa.hasParam("AITgts")) {
|
||||||
|
list = CardLists.getValidCards(list, sa.getParam("AITgts"), sa.getActivatingPlayer(), source);
|
||||||
|
}
|
||||||
|
|
||||||
if (list.isEmpty()) {
|
if (list.isEmpty()) {
|
||||||
if (ComputerUtil.activateForCost(sa, ai)) {
|
if (ComputerUtil.activateForCost(sa, ai)) {
|
||||||
return pumpMandatoryTarget(ai, sa);
|
return pumpMandatoryTarget(ai, sa);
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
package forge.game.card;
|
package forge.game.card;
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import forge.card.CardStateName;
|
|
||||||
import forge.util.TextUtil;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
import forge.card.ColorSet;
|
import forge.card.ColorSet;
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
import forge.game.Direction;
|
import forge.game.Direction;
|
||||||
@@ -25,7 +17,12 @@ import forge.game.trigger.Trigger;
|
|||||||
import forge.game.zone.Zone;
|
import forge.game.zone.Zone;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.util.Expressions;
|
import forge.util.Expressions;
|
||||||
|
import forge.util.TextUtil;
|
||||||
import forge.util.collect.FCollectionView;
|
import forge.util.collect.FCollectionView;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class CardProperty {
|
public class CardProperty {
|
||||||
|
|
||||||
@@ -848,6 +845,14 @@ public class CardProperty {
|
|||||||
if (!card.canProduceSameManaTypeWith(source)) {
|
if (!card.canProduceSameManaTypeWith(source)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.startsWith("canProduceManaColor")) {
|
||||||
|
final String color = property.split("canProduceManaColor ")[1];
|
||||||
|
for (SpellAbility ma : card.getManaAbilities()) {
|
||||||
|
if (ma.getManaPart().canProduce(MagicColor.toShortString(color))) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
} else if (property.startsWith("sharesNameWith")) {
|
} else if (property.startsWith("sharesNameWith")) {
|
||||||
if (property.equals("sharesNameWith")) {
|
if (property.equals("sharesNameWith")) {
|
||||||
if (!card.sharesNameWith(source)) {
|
if (!card.sharesNameWith(source)) {
|
||||||
@@ -1291,6 +1296,10 @@ public class CardProperty {
|
|||||||
if (!card.isEquipping()) {
|
if (!card.isEquipping()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.startsWith("notEquipping")) {
|
||||||
|
if (card.isEquipping()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else if (property.startsWith("token")) {
|
} else if (property.startsWith("token")) {
|
||||||
if (!card.isToken()) {
|
if (!card.isToken()) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -4,6 +4,5 @@ Types:Legendary Creature Human Druid
|
|||||||
PT:4/3
|
PT:4/3
|
||||||
A:AB$ Animate | Cost$ G | ValidTgts$ Land | TgtPrompt$ Select target land | Power$ 1 | Toughness$ 1 | Types$ Creature | SpellDescription$ Target land becomes a 1/1 creature until end of turn. It's still a land.
|
A:AB$ Animate | Cost$ G | ValidTgts$ Land | TgtPrompt$ Select target land | Power$ 1 | Toughness$ 1 | Types$ Creature | SpellDescription$ Target land becomes a 1/1 creature until end of turn. It's still a land.
|
||||||
A:AB$ PumpAll | Cost$ 2 G G G | ValidCards$ Creature.YouCtrl | NumAtt$ +3 | NumDef$ +3 | KW$ Trample | SpellDescription$ Creatures you control get +3/+3 and gain trample until end of turn.
|
A:AB$ PumpAll | Cost$ 2 G G G | ValidCards$ Creature.YouCtrl | NumAtt$ +3 | NumDef$ +3 | KW$ Trample | SpellDescription$ Creatures you control get +3/+3 and gain trample until end of turn.
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kamahl_fist_of_krosa.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kamahl_fist_of_krosa.jpg
|
||||||
Oracle:{G}: Target land becomes a 1/1 creature until end of turn. It's still a land.\n{2}{G}{G}{G}: Creatures you control get +3/+3 and gain trample until end of turn.
|
Oracle:{G}: Target land becomes a 1/1 creature until end of turn. It's still a land.\n{2}{G}{G}{G}: Creatures you control get +3/+3 and gain trample until end of turn.
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ Name:Kami of Twisted Reflection
|
|||||||
ManaCost:1 U U
|
ManaCost:1 U U
|
||||||
Types:Creature Spirit
|
Types:Creature Spirit
|
||||||
PT:2/2
|
PT:2/2
|
||||||
A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target creature you control to its owner's hand.
|
A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.YouCtrl | AITgts$ Creature.Other+YouCtrl | AITgtsOnlyBetterThanSelf$ True | TgtPrompt$ Select target creature you control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target creature you control to its owner's hand.
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kami_of_twisted_reflection.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kami_of_twisted_reflection.jpg
|
||||||
Oracle:Sacrifice Kami of Twisted Reflection: Return target creature you control to its owner's hand.
|
Oracle:Sacrifice Kami of Twisted Reflection: Return target creature you control to its owner's hand.
|
||||||
|
|||||||
@@ -4,10 +4,9 @@ Types:Enchantment Aura
|
|||||||
K:Enchant creature
|
K:Enchant creature
|
||||||
A:SP$ Attach | Cost$ 1 G | ValidTgts$ Creature | AILogic$ Pump
|
A:SP$ Attach | Cost$ 1 G | ValidTgts$ Creature | AILogic$ Pump
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card.
|
||||||
SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ 1
|
SVar:TrigDraw:DB$ Draw | NumCards$ 1
|
||||||
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddAbility$ AnyMana | Description$ Enchanted creature has "{T}: Add one mana of any color to your mana pool."
|
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddAbility$ AnyMana | Description$ Enchanted creature has "{T}: Add one mana of any color to your mana pool."
|
||||||
SVar:AnyMana:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color to your mana pool.
|
SVar:AnyMana:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color to your mana pool.
|
||||||
SVar:NonStackingAttachEffect:True
|
SVar:NonStackingAttachEffect:True
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/karametras_favor.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/karametras_favor.jpg
|
||||||
Oracle:Enchant creature\nWhen Karametra's Favor enters the battlefield, draw a card.\nEnchanted creature has "{T}: Add one mana of any color to your mana pool."
|
Oracle:Enchant creature\nWhen Karametra's Favor enters the battlefield, draw a card.\nEnchanted creature has "{T}: Add one mana of any color to your mana pool."
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ K:CARDNAME enters the battlefield tapped.
|
|||||||
A:AB$ Mana | Cost$ T | Produced$ C W | SpellDescription$ Add {C}{W} to your mana pool.
|
A:AB$ Mana | Cost$ T | Produced$ C W | SpellDescription$ Add {C}{W} to your mana pool.
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSacUnless | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return an untapped Plains you control to its owner's hand.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSacUnless | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return an untapped Plains you control to its owner's hand.
|
||||||
SVar:TrigSacUnless:DB$ Sacrifice | Defined$ Self | UnlessCost$ Return<1/Plains.untapped/untapped Plains> | UnlessPayer$ You
|
SVar:TrigSacUnless:DB$ Sacrifice | Defined$ Self | UnlessCost$ Return<1/Plains.untapped/untapped Plains> | UnlessPayer$ You
|
||||||
SVar:RemAIDeck:True
|
SVar:NeedsToPlay:Plains.YouCtrl+inZoneBattlefield+untapped
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/karoo.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/karoo.jpg
|
||||||
Oracle:Karoo enters the battlefield tapped.\nWhen Karoo enters the battlefield, sacrifice it unless you return an untapped Plains you control to its owner's hand.\n{T}: Add {C}{W} to your mana pool.
|
Oracle:Karoo enters the battlefield tapped.\nWhen Karoo enters the battlefield, sacrifice it unless you return an untapped Plains you control to its owner's hand.\n{T}: Add {C}{W} to your mana pool.
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ Types:Creature Minotaur Warrior
|
|||||||
PT:3/3
|
PT:3/3
|
||||||
K:Cumulative upkeep:FlipCoin<1>:Flip a coin.
|
K:Cumulative upkeep:FlipCoin<1>:Flip a coin.
|
||||||
T:Mode$ FlippedCoin | ValidPlayer$ You | ValidResult$ Win | TriggerZones$ Battlefield | Execute$ TrigYouDmg | TriggerDescription$ Whenever you win a coin flip, CARDNAME deals 1 damage to target creature or player.
|
T:Mode$ FlippedCoin | ValidPlayer$ You | ValidResult$ Win | TriggerZones$ Battlefield | Execute$ TrigYouDmg | TriggerDescription$ Whenever you win a coin flip, CARDNAME deals 1 damage to target creature or player.
|
||||||
SVar:TrigYouDmg:AB$ DealDamage | Cost$ 0 | NumDmg$ 1 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player
|
SVar:TrigYouDmg:DB$ DealDamage | NumDmg$ 1 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player
|
||||||
T:Mode$ FlippedCoin | ValidPlayer$ You | ValidResult$ Lose | TriggerZones$ Battlefield | Execute$ TrigOppDmg | TriggerDescription$ Whenever you lose a coin flip, CARDNAME deals 1 damage to target creature or player of an opponent's choice.
|
T:Mode$ FlippedCoin | ValidPlayer$ You | ValidResult$ Lose | TriggerZones$ Battlefield | Execute$ TrigOppDmg | TriggerDescription$ Whenever you lose a coin flip, CARDNAME deals 1 damage to target creature or player of an opponent's choice.
|
||||||
SVar:TrigOppDmg:AB$ DealDamage | Cost$ 0 | NumDmg$ 1 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | TargetingPlayer$ Opponent
|
SVar:TrigOppDmg:DB$ DealDamage | NumDmg$ 1 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | TargetingPlayer$ Opponent
|
||||||
SVar:RemAIDeck:True
|
SVar:RemAIDeck:True
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/karplusan_minotaur.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/karplusan_minotaur.jpg
|
||||||
Oracle:Cumulative upkeep—Flip a coin. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)\nWhenever you win a coin flip, Karplusan Minotaur deals 1 damage to target creature or player.\nWhenever you lose a coin flip, Karplusan Minotaur deals 1 damage to target creature or player of an opponent's choice.
|
Oracle:Cumulative upkeep—Flip a coin. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)\nWhenever you win a coin flip, Karplusan Minotaur deals 1 damage to target creature or player.\nWhenever you lose a coin flip, Karplusan Minotaur deals 1 damage to target creature or player of an opponent's choice.
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Name:Kazuul's Toll Collector
|
|||||||
ManaCost:2 R
|
ManaCost:2 R
|
||||||
Types:Creature Ogre Warrior
|
Types:Creature Ogre Warrior
|
||||||
PT:3/2
|
PT:3/2
|
||||||
A:AB$ Pump | Cost$ 0 | ValidTgts$ Equipment.YouCtrl | TgtPrompt$ Select target Equipment you control | SubAbility$ KazuulAttach | SorcerySpeed$ True | StackDescription$ None | SpellDescription$ Attach target Equipment you control to Kazuul's Toll Collector.
|
A:AB$ Pump | Cost$ 0 | ValidTgts$ Equipment.YouCtrl | AITgts$ Equipment.YouCtrl+notEquipping | TgtPrompt$ Select target Equipment you control | SubAbility$ KazuulAttach | SorcerySpeed$ True | StackDescription$ None | SpellDescription$ Attach target Equipment you control to Kazuul's Toll Collector.
|
||||||
SVar:KazuulAttach:DB$ Attach | Object$ ParentTarget | Defined$ Self
|
SVar:KazuulAttach:DB$ Attach | Object$ ParentTarget | Defined$ Self
|
||||||
SVar:RemAIDeck:True
|
SVar:RemAIDeck:True
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kazuuls_toll_collector.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kazuuls_toll_collector.jpg
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ ManaCost:2 U
|
|||||||
Types:Instant
|
Types:Instant
|
||||||
A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each attacking creature.
|
A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each attacking creature.
|
||||||
SVar:X:Count$Valid Creature.attacking
|
SVar:X:Count$Valid Creature.attacking
|
||||||
SVar:RemAIDeck:True
|
SVar:NeedsToPlay:Creature.attacking
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/keep_watch.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/keep_watch.jpg
|
||||||
Oracle:Draw a card for each attacking creature.
|
Oracle:Draw a card for each attacking creature.
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ ManaCost:2 U
|
|||||||
Types:Creature Bird Wizard
|
Types:Creature Bird Wizard
|
||||||
PT:1/2
|
PT:1/2
|
||||||
K:Flying
|
K:Flying
|
||||||
A:AB$ ChangeZone | Cost$ T tapXType<2/Bird> | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target permanent to its owner's hand.
|
A:AB$ ChangeZone | Cost$ T tapXType<2/Bird> | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | Origin$ Battlefield | Destination$ Hand | AILogic$ AtOppEOT | SpellDescription$ Return target permanent to its owner's hand.
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/keeper_of_the_nine_gales.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/keeper_of_the_nine_gales.jpg
|
||||||
Oracle:Flying\n{T}, Tap two untapped Birds you control: Return target permanent to its owner's hand.
|
Oracle:Flying\n{T}, Tap two untapped Birds you control: Return target permanent to its owner's hand.
|
||||||
|
|||||||
@@ -4,6 +4,5 @@ Types:Land
|
|||||||
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C} to your mana pool.
|
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C} to your mana pool.
|
||||||
A:AB$ Pump | Cost$ X R G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | KW$ Trample | References$ X | SpellDescription$ Target creature gets +X/+0 and gains trample until end of turn.
|
A:AB$ Pump | Cost$ X R G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | KW$ Trample | References$ X | SpellDescription$ Target creature gets +X/+0 and gains trample until end of turn.
|
||||||
SVar:X:Count$xPaid
|
SVar:X:Count$xPaid
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kessig_wolf_run.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kessig_wolf_run.jpg
|
||||||
Oracle:{T}: Add {C} to your mana pool.\n{X}{R}{G}, {T}: Target creature gets +X/+0 and gains trample until end of turn.
|
Oracle:{T}: Add {C} to your mana pool.\n{X}{R}{G}, {T}: Target creature gets +X/+0 and gains trample until end of turn.
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ SVar:TrigChangZone:AB$ ChangeZone | Cost$ 2 B | ChangeType$ Creature.YouCtrl | O
|
|||||||
SVar:DBUnearthed:DB$ Animate | Defined$ Remembered | Keywords$ Flying & Trample & Haste | LeaveBattlefield$ Exile | sVars$ KheruMustAttack | Permanent$ True | SubAbility$ DBCleanup | AtEOT$ Exile | StackDescription$ It gains flying, trample, and haste. Exile that card at the beginning of your next end step. If it would leave the battlefield, exile it instead of putting it anywhere else.
|
SVar:DBUnearthed:DB$ Animate | Defined$ Remembered | Keywords$ Flying & Trample & Haste | LeaveBattlefield$ Exile | sVars$ KheruMustAttack | Permanent$ True | SubAbility$ DBCleanup | AtEOT$ Exile | StackDescription$ It gains flying, trample, and haste. Exile that card at the beginning of your next end step. If it would leave the battlefield, exile it instead of putting it anywhere else.
|
||||||
SVar:KheruMustAttack:SVar:MustAttack:True
|
SVar:KheruMustAttack:SVar:MustAttack:True
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
SVar:RemAIDeck:True
|
SVar:RemRandomDeck:True
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kheru_lich_lord.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kheru_lich_lord.jpg
|
||||||
Oracle:At the beginning of your upkeep, you may pay {2}{B}. If you do, return a creature card at random from your graveyard to the battlefield. It gains flying, trample, and haste. Exile that card at the beginning of your next end step. If it would leave the battlefield, exile it instead of putting it anywhere else.
|
Oracle:At the beginning of your upkeep, you may pay {2}{B}. If you do, return a creature card at random from your graveyard to the battlefield. It gains flying, trample, and haste. Exile that card at the beginning of your next end step. If it would leave the battlefield, exile it instead of putting it anywhere else.
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ A:SP$ ChooseType | Cost$ 5 G G | Defined$ You | Type$ Creature | SubAbility$ DBD
|
|||||||
SVar:DBDigUntil:DB$ DigUntil | Amount$ X | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Valid$ Creature.ChosenType+YouOwn | ValidDescription$ creature with chosen type | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | FoundDestination$ Battlefield | SubAbility$ DBShuffle
|
SVar:DBDigUntil:DB$ DigUntil | Amount$ X | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Valid$ Creature.ChosenType+YouOwn | ValidDescription$ creature with chosen type | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | FoundDestination$ Battlefield | SubAbility$ DBShuffle
|
||||||
SVar:DBShuffle:DB$ Shuffle | Defined$ You
|
SVar:DBShuffle:DB$ Shuffle | Defined$ You
|
||||||
SVar:X:Count$Valid Creature.ChosenType+YouCtrl
|
SVar:X:Count$Valid Creature.ChosenType+YouCtrl
|
||||||
SVar:RemAIDeck:True
|
SVar:RemRandomDeck:True
|
||||||
SVar:NeedsToPlay:Creature
|
#TODO: This could benefit from something like "Creature.YouCtrl+sharesCreatureTypeWithAnotherCreature" (doesn't exist in code yet)
|
||||||
|
SVar:NeedsToPlay:Creature.YouCtrl+inZoneBattlefield
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kindred_summons.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kindred_summons.jpg
|
||||||
Oracle:Choose a creature type. Reveal cards from the top of your library until you reveal X creature cards of the chosen type, where X is the number of creatures you control of that type. Put those cards onto the battlefield, then shuffle the rest of the revealed cards into your library.
|
Oracle:Choose a creature type. Reveal cards from the top of your library until you reveal X creature cards of the chosen type, where X is the number of creatures you control of that type. Put those cards onto the battlefield, then shuffle the rest of the revealed cards into your library.
|
||||||
|
|||||||
@@ -3,6 +3,5 @@ ManaCost:W
|
|||||||
Types:Creature Fox Cleric
|
Types:Creature Fox Cleric
|
||||||
PT:0/1
|
PT:0/1
|
||||||
A:AB$ Tap | Cost$ T | ValidTgts$ Spirit | TgtPrompt$ Select target Spirit | SpellDescription$ Tap target Spirit.
|
A:AB$ Tap | Cost$ T | ValidTgts$ Spirit | TgtPrompt$ Select target Spirit | SpellDescription$ Tap target Spirit.
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kitsune_diviner.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kitsune_diviner.jpg
|
||||||
Oracle:{T}: Tap target Spirit.
|
Oracle:{T}: Tap target Spirit.
|
||||||
|
|||||||
@@ -7,6 +7,5 @@ SVar:EliteGuardEffect:DB$ Effect | Name$ Elite Guard Escort | Triggers$ LostTheG
|
|||||||
SVar:LostTheGuarded:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard.
|
SVar:LostTheGuarded:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard.
|
||||||
SVar:EliteDefence:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect
|
SVar:EliteDefence:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect
|
||||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kjeldoran_elite_guard.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kjeldoran_elite_guard.jpg
|
||||||
Oracle:{T}: Target creature gets +2/+2 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard. Activate this ability 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 this ability only during combat.
|
||||||
|
|||||||
@@ -7,6 +7,5 @@ SVar:KjeldoranGuardEffect:DB$ Effect | Name$ Kjeldoran Guard Effect | Triggers$
|
|||||||
SVar:TrigSacGuard:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard.
|
SVar:TrigSacGuard:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard.
|
||||||
SVar:EliteDefence:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect
|
SVar:EliteDefence:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect
|
||||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kjeldoran_guard.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kjeldoran_guard.jpg
|
||||||
Oracle:{T}: Target creature gets +1/+1 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Guard. Activate this ability 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 this ability only during combat and only if defending player controls no snow lands.
|
||||||
|
|||||||
@@ -4,7 +4,5 @@ Types:Creature Human Knight
|
|||||||
PT:2/2
|
PT:2/2
|
||||||
K:First Strike
|
K:First Strike
|
||||||
A:AB$ Protection | Cost$ W W | Defined$ Self | Gains$ Choice | Choices$ AnyColor | SpellDescription$ CARDNAME gains protection from the color of your choice until end of turn.
|
A:AB$ Protection | Cost$ W W | Defined$ Self | Gains$ Choice | Choices$ AnyColor | SpellDescription$ CARDNAME gains protection from the color of your choice until end of turn.
|
||||||
#Computer isn't very good at picking a color to get protection from yet
|
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/knight_of_dawn.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/knight_of_dawn.jpg
|
||||||
Oracle:First strike\n{W}{W}: Knight of Dawn gains protection from the color of your choice until end of turn.
|
Oracle:First strike\n{W}{W}: Knight of Dawn gains protection from the color of your choice until end of turn.
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ ManaCost:no cost
|
|||||||
Types:Legendary Land
|
Types:Legendary Land
|
||||||
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C} to your mana pool.
|
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C} to your mana pool.
|
||||||
A:AB$ Pump | Cost$ 1 W T | KW$ Prevent all combat damage that would be dealt by CARDNAME. | IsCurse$ True | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SpellDescription$ Prevent all combat damage that would be dealt by target attacking creature this turn.
|
A:AB$ Pump | Cost$ 1 W T | KW$ Prevent all combat damage that would be dealt by CARDNAME. | IsCurse$ True | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SpellDescription$ Prevent all combat damage that would be dealt by target attacking creature this turn.
|
||||||
SVar:RemAIDeck:True
|
DeckNeeds:Color$White
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kor_haven.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kor_haven.jpg
|
||||||
Oracle:{T}: Add {C} to your mana pool.\n{1}{W}, {T}: Prevent all combat damage that would be dealt by target attacking creature this turn.
|
Oracle:{T}: Add {C} to your mana pool.\n{1}{W}, {T}: Prevent all combat damage that would be dealt by target attacking creature this turn.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Types:Creature Kor Soldier
|
|||||||
PT:2/3
|
PT:2/3
|
||||||
K:Flying
|
K:Flying
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, return a permanent you control to its owner's hand.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, return a permanent you control to its owner's hand.
|
||||||
SVar:TrigChange:AB$ChangeZone | Origin$ Battlefield | Destination$ Hand | Cost$ 0 | Hidden$ True | Mandatory$ True | ChangeType$ Permanent.YouCtrl
|
SVar:TrigChange:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Hidden$ True | Mandatory$ True | ChangeType$ Permanent.YouCtrl | AIlogic$ NeverBounceItself
|
||||||
SVar:RemAIDeck:True
|
SVar:NeedsToPlay:Creature.YouCtrl+cmcLE2+inZoneBattlefield,Permanent.nonLand+YouCtrl+cmcLE1
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kor_skyfisher.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kor_skyfisher.jpg
|
||||||
Oracle:Flying\nWhen Kor Skyfisher enters the battlefield, return a permanent you control to its owner's hand.
|
Oracle:Flying\nWhen Kor Skyfisher enters the battlefield, return a permanent you control to its owner's hand.
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ Name:Kuldotha Rebirth
|
|||||||
ManaCost:R
|
ManaCost:R
|
||||||
Types:Sorcery
|
Types:Sorcery
|
||||||
A:SP$ Token | Cost$ R Sac<1/Artifact> | TokenAmount$ 3 | TokenOwner$ You | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenImage$ r 1 1 goblin SOM | SpellDescription$ Create three 1/1 red Goblin creature tokens.
|
A:SP$ Token | Cost$ R Sac<1/Artifact> | TokenAmount$ 3 | TokenOwner$ You | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenImage$ r 1 1 goblin SOM | SpellDescription$ Create three 1/1 red Goblin creature tokens.
|
||||||
SVar:RemAIDeck:True
|
SVar:RemRandomDeck:True
|
||||||
|
SVar:AIPreference:SacCost$Artifact.token,Artifact.cmcEQ1
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kuldotha_rebirth.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kuldotha_rebirth.jpg
|
||||||
Oracle:As an additional cost to cast Kuldotha Rebirth, sacrifice an artifact.\nCreate three 1/1 red Goblin creature tokens.
|
Oracle:As an additional cost to cast Kuldotha Rebirth, sacrifice an artifact.\nCreate three 1/1 red Goblin creature tokens.
|
||||||
@@ -3,7 +3,9 @@ ManaCost:6 B B B
|
|||||||
Types:Legendary Creature Demon Spirit
|
Types:Legendary Creature Demon Spirit
|
||||||
PT:9/9
|
PT:9/9
|
||||||
K:UpkeepCost:B B B B
|
K:UpkeepCost:B B B B
|
||||||
|
#TODO: the AI can be improved for this, it'll currently only use it to finish off creatures with toughness 1
|
||||||
A:AB$ Pump | Cost$ PayLife<1> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | SpellDescription$ Target creature gets -1/-1 until end of turn.
|
A:AB$ Pump | Cost$ PayLife<1> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | SpellDescription$ Target creature gets -1/-1 until end of turn.
|
||||||
SVar:RemAIDeck:True
|
SVar:NeedsToPlayVar:Z GE4
|
||||||
|
SVar:Z:Count$Valid Card.YouCtrl+inZoneBattlefield+canProduceManaColor Black
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kuro_pitlord.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kuro_pitlord.jpg
|
||||||
Oracle:At the beginning of your upkeep, sacrifice Kuro, Pitlord unless you pay {B}{B}{B}{B}.\nPay 1 life: Target creature gets -1/-1 until end of turn.
|
Oracle:At the beginning of your upkeep, sacrifice Kuro, Pitlord unless you pay {B}{B}{B}{B}.\nPay 1 life: Target creature gets -1/-1 until end of turn.
|
||||||
|
|||||||
@@ -28,6 +28,5 @@ A:AB$ Pump | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creat
|
|||||||
SVar:DBUntap:DB$ Untap | Defined$ Targeted
|
SVar:DBUntap:DB$ Untap | Defined$ Targeted
|
||||||
A:AB$ Animate | Cost$ AddCounter<0/LOYALTY> | Defined$ Self | Power$ 4 | Toughness$ 4 | Types$ Creature,Human,Soldier | Keywords$ Indestructible | SubAbility$ DBPrevent | Planeswalker$ True | Ultimate$ True | SpellDescription$ Until end of turn, CARDNAME becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
A:AB$ Animate | Cost$ AddCounter<0/LOYALTY> | Defined$ Self | Power$ 4 | Toughness$ 4 | Types$ Creature,Human,Soldier | Keywords$ Indestructible | SubAbility$ DBPrevent | Planeswalker$ True | Ultimate$ True | SpellDescription$ Until end of turn, CARDNAME becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
||||||
SVar:DBPrevent:DB$ Pump | Defined$ Self | KW$ Prevent all damage that would be dealt to CARDNAME.
|
SVar:DBPrevent:DB$ Pump | Defined$ Self | KW$ Prevent all damage that would be dealt to CARDNAME.
|
||||||
SVar:RemAIDeck:True
|
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/gideon_battle_forged.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/gideon_battle_forged.jpg
|
||||||
Oracle:[+2]: Up to one target creature an opponent controls attacks Gideon, Battle-Forged during its controller's next turn if able.\n[+1]: Until your next turn, target creature gains indestructible. Untap that creature.\n[0]: Until end of turn, Gideon, Battle-Forged becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
Oracle:[+2]: Up to one target creature an opponent controls attacks Gideon, Battle-Forged during its controller's next turn if able.\n[+1]: Until your next turn, target creature gains indestructible. Untap that creature.\n[0]: Until end of turn, Gideon, Battle-Forged becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
|
||||||
|
|||||||
Reference in New Issue
Block a user