Merge pull request #113 from Northmoc/mustattack

Must attack keywords -> static ability
This commit is contained in:
Agetian
2022-04-24 07:48:31 +03:00
committed by GitHub
136 changed files with 345 additions and 244 deletions

View File

@@ -20,6 +20,7 @@ package forge.ai;
import java.util.ArrayList;
import java.util.List;
import forge.game.staticability.StaticAbilityMustAttack;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.base.Predicate;
@@ -795,14 +796,15 @@ public class AiAttackController {
&& isEffectiveAttacker(ai, attacker, combat, defender)) {
mustAttack = true;
} else if (seasonOfTheWitch) {
// TODO: if there are other ways to tap this creature (like mana creature), then don't need to attack
//TODO: if there are other ways to tap this creature (like mana creature), then don't need to attack
mustAttack = true;
} else {
// TODO move to static Ability
if (attacker.hasKeyword("CARDNAME attacks each combat if able.") || attacker.hasStartOfKeyword("CARDNAME attacks specific player each combat if able")) {
// TODO switch defender if there's one without a cost or it's not the specific player
final List<GameEntity> e = StaticAbilityMustAttack.entitiesMustAttack(attacker);
if (!e.isEmpty()) {
mustAttack = true;
} else if (attacker.getController().getMustAttackEntityThisTurn() != null && CombatUtil.getAttackCost(ai.getGame(), attacker, defender) == null) {
// TODO switch defender if there's one without a cost or it's not the specific player
} else if (attacker.getController().getMustAttackEntityThisTurn() != null &&
CombatUtil.getAttackCost(ai.getGame(), attacker, defender) == null) {
mustAttack = true;
}
}

View File

@@ -41,7 +41,6 @@ import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.cost.CostPayment;
import forge.game.keyword.Keyword;
import forge.game.keyword.KeywordInterface;
import forge.game.phase.Untap;
import forge.game.player.Player;
import forge.game.replacement.ReplacementEffect;
@@ -49,6 +48,7 @@ import forge.game.replacement.ReplacementLayer;
import forge.game.replacement.ReplacementType;
import forge.game.spellability.SpellAbility;
import forge.game.staticability.StaticAbility;
import forge.game.staticability.StaticAbilityMustAttack;
import forge.game.trigger.Trigger;
import forge.game.trigger.TriggerType;
import forge.game.zone.ZoneType;
@@ -114,24 +114,11 @@ public class ComputerUtilCombat {
return false;
}
// TODO replace with Static Ability
for (final String keyword : attacker.getHiddenExtrinsicKeywords()) {
if (keyword.startsWith("CARDNAME attacks specific player each combat if able")) {
final String defined = keyword.split(":")[1];
final Player player = AbilityUtils.getDefinedPlayers(attacker, defined, null).get(0);
if (!defender.equals(player)) {
return false;
}
}
}
for (final KeywordInterface inst : attacker.getKeywords(Keyword.UNDEFINED)) {
final String keyword = inst.getOriginal();
if (keyword.startsWith("CARDNAME attacks specific player each combat if able")) {
final String defined = keyword.split(":")[1];
final Player player = AbilityUtils.getDefinedPlayers(attacker, defined, null).get(0);
if (!defender.equals(player)) {
return false;
}
final List<GameEntity> mustAttackEnts = StaticAbilityMustAttack.entitiesMustAttack(attacker);
//if it contains only attacker, it only has a non-specific must attack
if (mustAttackEnts.size() > 1 || (mustAttackEnts.size() == 1 && mustAttackEnts.get(0) != attacker)) {
if (!mustAttackEnts.contains(defender)) {
return false;
}
}

View File

@@ -2,6 +2,7 @@ package forge.ai;
import com.google.common.base.Function;
import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType;
import forge.game.card.Card;
@@ -9,6 +10,9 @@ import forge.game.card.CounterEnumType;
import forge.game.cost.CostPayEnergy;
import forge.game.keyword.Keyword;
import forge.game.spellability.SpellAbility;
import forge.game.staticability.StaticAbilityMustAttack;
import java.util.List;
public class CreatureEvaluator implements Function<Card, Integer> {
@Override
@@ -174,13 +178,16 @@ public class CreatureEvaluator implements Function<Card, Integer> {
value = addValue(50 + (c.getCMC() * 5), "useless"); // reset everything - useless
} else if (c.hasKeyword("CARDNAME can't block.")) {
value -= subValue(10, "cant-block");
} else if (c.hasKeyword("CARDNAME attacks each combat if able.")) {
value -= subValue(10, "must-attack");
} else if (c.hasStartOfKeyword("CARDNAME attacks specific player each combat if able")) {
value -= subValue(10, "must-attack-player");
}/* else if (c.hasKeyword("CARDNAME can block only creatures with flying.")) {
} else {
List<GameEntity> mAEnt = StaticAbilityMustAttack.entitiesMustAttack(c);
if (mAEnt.contains(c)) {
value -= subValue(10, "must-attack");
} else if (!mAEnt.isEmpty()) {
value -= subValue(10, "must-attack-player");
}/* else if (c.hasKeyword("CARDNAME can block only creatures with flying.")) {
value -= subValue(toughness * 5, "reverse-reach");
}//*/
}
if (c.hasSVar("DestroyWhenDamaged")) {
value -= subValue((toughness - 1) * 9, "dies-to-dmg");

View File

@@ -205,6 +205,23 @@ public class AnimateEffect extends AnimateEffectBase {
@Override
protected String getStackDescription(SpellAbility sa) {
final Card host = sa.getHostCard();
final StringBuilder sb = new StringBuilder();
final List<Card> tgts = getCardsfromTargets(sa);
final boolean justOne = tgts.size() == 1;
if (sa.hasParam("IfDesc")) {
if (sa.getParam("IfDesc").equals("True") && sa.hasParam("SpellDescription")) {
String ifDesc = sa.getParam("SpellDescription");
sb.append(ifDesc, 0, ifDesc.indexOf(",") + 1);
} else {
tokenizeString(sa, sb, sa.getParam("IfDesc"));
}
sb.append(" ");
}
sb.append(sa.hasParam("DefinedDesc") ? sa.getParam("DefinedDesc") : Lang.joinHomogenous(tgts));
sb.append(" ");
int initial = sb.length();
Integer power = null;
if (sa.hasParam("Power")) {
@@ -237,23 +254,6 @@ public class AnimateEffect extends AnimateEffectBase {
colors.addAll(Arrays.asList(sa.getParam("Colors").split(",")));
}
final StringBuilder sb = new StringBuilder();
final List<Card> tgts = getCardsfromTargets(sa);
final boolean justOne = tgts.size() == 1;
if (sa.hasParam("IfDesc")) {
if (sa.getParam("IfDesc").equals("True") && sa.hasParam("SpellDescription")) {
String ifDesc = sa.getParam("SpellDescription");
sb.append(ifDesc, 0, ifDesc.indexOf(",") + 1);
} else {
sb.append(sa.getParam("IfDesc"));
}
sb.append(" ");
}
sb.append(Lang.joinHomogenous(tgts)).append(" ");
// if power is -1, we'll assume it's not just setting toughness
if (power != null || toughness != null) {
sb.append(justOne ? "has" : "have" ).append(" base ");
@@ -272,7 +272,7 @@ public class AnimateEffect extends AnimateEffectBase {
sb.append("color of that player's choice");
} else {
for (int i = 0; i < colors.size(); i++) {
sb.append(colors.get(i)).append(" ");
sb.append(colors.get(i).toLowerCase()).append(" ");
if (i < (colors.size() - 1)) {
sb.append("and ");
}
@@ -295,24 +295,27 @@ public class AnimateEffect extends AnimateEffectBase {
}
// sb.append(abilities)
// sb.append(triggers)
if (!permanent) {
if (!permanent && sb.length() > initial) {
final String duration = sa.getParam("Duration");
if ("UntilEndOfCombat".equals(duration)) {
sb.append("until end of combat.");
sb.append("until end of combat");
} else if ("UntilHostLeavesPlay".equals(duration)) {
sb.append("until ").append(host).append(" leaves the battlefield.");
sb.append("until ").append(host).append(" leaves the battlefield");
} else if ("UntilYourNextUpkeep".equals(duration)) {
sb.append("until your next upkeep.");
sb.append("until your next upkeep");
} else if ("UntilYourNextTurn".equals(duration)) {
sb.append("until your next turn.");
sb.append("until your next turn");
} else if ("UntilControllerNextUntap".equals(duration)) {
sb.append("until its controller's next untap step.");
sb.append("until its controller's next untap step");
} else {
sb.append("until end of turn.");
sb.append("until end of turn");
}
} else {
sb.append(".");
}
if (sa.hasParam("staticAbilities") && sa.getParam("staticAbilities").contains("MustAttack")) {
sb.append(sb.length() > initial ? " and " : "");
sb.append(justOne ? "attacks" : "attack").append(" this turn if able");
}
sb.append(".");
return sb.toString();
}

View File

@@ -3213,10 +3213,13 @@ public class CardFactoryUtil {
"| SpellDescription$ (" + inst.getReminderText() + ")";
final String copyStr = "DB$ CopyPermanent | Defined$ Self | ImprintTokens$ True " +
"| AddKeywords$ Haste | RememberTokens$ True | TokenRemembered$ Player.IsRemembered";
"| AddKeywords$ Haste | RememberTokens$ True | TokenRemembered$ Player.IsRemembered " +
"| AddStaticAbilities$ MustAttack";
final String pumpStr = "DB$ PumpAll | ValidCards$ Creature.IsRemembered " +
"| KW$ HIDDEN CARDNAME attacks specific player each combat if able:Remembered";
final String pumpStr = "DB$ Animate | Defined$ Creature.IsRemembered | staticAbilities$ AttackChosen ";
final String attackStaticStr = "Mode$ MustAttack | ValidCreature$ Card.Self | MustAttack$ Remembered" +
" | Description$ This token copy attacks that opponent this turn if able.";
final String pumpcleanStr = "DB$ Cleanup | ForgetDefined$ RememberedCard";
@@ -3237,6 +3240,8 @@ public class CardFactoryUtil {
AbilitySub pumpSA = (AbilitySub) AbilityFactory.getAbility(pumpStr, card);
copySA.setSubAbility(pumpSA);
sa.setSVar("MustAttack", attackStaticStr);
AbilitySub pumpcleanSA = (AbilitySub) AbilityFactory.getAbility(pumpcleanStr, card);
pumpSA.setSubAbility(pumpcleanSA);

View File

@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import forge.game.staticability.StaticAbilityMustAttack;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.base.Function;
@@ -11,10 +12,8 @@ import com.google.common.collect.Lists;
import forge.game.Game;
import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.card.Card;
import forge.game.card.CardLists;
import forge.game.keyword.KeywordInterface;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.util.collect.FCollectionView;
@@ -51,24 +50,13 @@ public class AttackRequirement {
nAttackAnything += attacker.getGoaded().size();
}
// remove it when all of them are HIDDEN or static
for (final KeywordInterface inst : attacker.getKeywords()) {
final String keyword = inst.getOriginal();
if (keyword.startsWith("CARDNAME attacks specific player each combat if able")) {
final String defined = keyword.split(":")[1];
final GameEntity mustAttack2 = AbilityUtils.getDefinedPlayers(attacker, defined, null).get(0);
defenderSpecific.add(mustAttack2);
} else if (keyword.equals("CARDNAME attacks each combat if able.")) {
nAttackAnything++;
}
}
for (final String keyword : attacker.getHiddenExtrinsicKeywords()) {
if (keyword.startsWith("CARDNAME attacks specific player each combat if able")) {
final String defined = keyword.split(":")[1];
final GameEntity mustAttack2 = AbilityUtils.getDefinedPlayers(attacker, defined, null).get(0);
defenderSpecific.add(mustAttack2);
} else if (keyword.equals("CARDNAME attacks each combat if able.")) {
nAttackAnything++;
//MustAttack static check
final List<GameEntity> e = StaticAbilityMustAttack.entitiesMustAttack(attacker);
if (e.contains(attacker)) {
nAttackAnything++;
} else if (!e.isEmpty()) {
for (GameEntity mustAtt : e) {
defenderSpecific.add(mustAtt);
}
}
@@ -78,7 +66,6 @@ public class AttackRequirement {
}
final Game game = attacker.getGame();
for (Card c : game.getCardsIn(ZoneType.Battlefield)) {
if (c.hasKeyword("Each opponent must attack you or a planeswalker you control with at least one creature each combat if able.")) {
if (attacker.getController().isOpponentOf(c.getController()) && !defenderOrPWSpecific.containsKey(c.getController())) {

View File

@@ -0,0 +1,50 @@
package forge.game.staticability;
import forge.game.Game;
import forge.game.GameEntity;
import forge.game.ability.AbilityUtils;
import forge.game.card.Card;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import java.util.ArrayList;
import java.util.List;
public class StaticAbilityMustAttack {
static String MODE = "MustAttack";
public static List<GameEntity> entitiesMustAttack(final Card attacker) {
final List<GameEntity> entityList = new ArrayList<>();
final Game game = attacker.getGame();
for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) {
for (final StaticAbility stAb : ca.getStaticAbilities()) {
if (!stAb.getParam("Mode").equals(MODE) || stAb.isSuppressed() || !stAb.checkConditions()) {
continue;
}
if (stAb.matchesValidParam(stAb.getParam("ValidCreature"), attacker)) {
if (stAb.hasParam("MustAttack")) {
List<GameEntity> def = AbilityUtils.getDefinedEntities(stAb.getHostCard(),
stAb.getParam("MustAttack"), stAb);
for (GameEntity e : def) {
if (e instanceof Player) {
Player attackPl = (Player) e;
if (!game.getPhaseHandler().isPlayerTurn(attackPl)) { // CR 506.2
entityList.add(e);
}
} else if (e instanceof Card) {
Card attackPW = (Card) e;
if (!game.getPhaseHandler().isPlayerTurn(attackPW.getController())) { // CR 506.2
entityList.add(e);
}
}
}
} else { // if the list is only the attacker, the attacker must attack, but no specific entity
entityList.add(attacker);
}
}
}
}
return entityList;
}
}

View File

@@ -1,7 +1,8 @@
Name:Aggravate
ManaCost:3 R R
Types:Instant
A:SP$ DamageAll | Cost$ 3 R R | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 1 | RememberDamaged$ True | ValidCards$ Creature | ValidDescription$ each creature target player controls. | SubAbility$ DBAttack | SpellDescription$ CARDNAME deals 1 damage to each creature target player controls.
SVar:DBAttack:DB$ Pump | Defined$ Remembered | KW$ HIDDEN CARDNAME attacks each combat if able. | SubAbility$ DBCleanup | SpellDescription$ Each creature dealt damage this way attacks this turn if able.
A:SP$ DamageAll | ValidTgts$ Player | NumDmg$ 1 | RememberDamaged$ True | ValidCards$ Creature | ValidDescription$ each creature target player controls. | SubAbility$ DBAnimate | SpellDescription$ CARDNAME deals 1 damage to each creature target player controls.
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | DefinedDesc$ Each creature dealt damage this way | staticAbilities$ MustAttack | SubAbility$ DBCleanup | SpellDescription$ Each creature dealt damage this way attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Aggravate deals 1 damage to each creature target player controls. Each creature dealt damage this way attacks this turn if able.

View File

@@ -4,7 +4,7 @@ Types:Creature Phoenix
PT:3/3
K:Flying
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Graveyard | Execute$ TrigChange | TriggerDescription$ Landfall — Whenever a land enters the battlefield under your control, you may pay {4}{R}{R}. If you do, return CARDNAME from your graveyard to the battlefield.
SVar:TrigChange:AB$ ChangeZone | Cost$ 4 R R | Origin$ Graveyard | Destination$ Battlefield
SVar:SacMe:3

View File

@@ -4,7 +4,7 @@ Types:Snow Creature Human Scout
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a Mountain card, put that card onto the battlefield tapped, then shuffle.
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Mountain | ShuffleNonMandatory$ True
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME leaves the battlefield, sacrifice a Mountain.
SVar:TrigSac:DB$ Sacrifice | SacValid$ Mountain | Defined$ You
Oracle:When Alpine Guide enters the battlefield, you may search your library for a Mountain card, put that card onto the battlefield tapped, then shuffle.\nAlpine Guide attacks each combat if able.\nWhen Alpine Guide leaves the battlefield, sacrifice a Mountain.

View File

@@ -3,5 +3,5 @@ ManaCost:5 U U
Types:Creature Turtle
PT:5/7
K:Hexproof
S:Mode$ Continuous | Affected$ Creature.OppCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures your opponents control attack each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.OppCtrl | Description$ Creatures your opponents control attack each combat if able.
Oracle:Hexproof\nCreatures your opponents control attack each combat if able.

View File

@@ -2,7 +2,7 @@ Name:Anje's Ravager
ManaCost:2 R
Types:Creature Vampire Berserker
PT:3/3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, discard your hand, then draw three cards.
SVar:TrigDiscard:DB$ Discard | Mode$ Hand | Defined$ You | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 3

View File

@@ -1,7 +1,8 @@
Name:Arcum's Whistle
ManaCost:3
Types:Artifact
A:AB$ Pump | Cost$ 3 T | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn. | IsCurse$ True | KW$ HIDDEN CARDNAME attacks each combat if able. | UnlessCost$ X | UnlessPayer$ TargetedController | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That player may pay {X}, where X is that creature's mana value. If they don't pay, the creature attacks this turn if able, and at the beginning of the next end step, destroy it if it didn't attack this turn. Activate only before attackers are declared.
A:AB$ Animate | Cost$ 3 T | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | IsCurse$ True | staticAbilities$ MustAttack | UnlessCost$ X | UnlessPayer$ TargetedController | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That player may pay {X}, where X is that creature's mana value. If they don't pay, the creature attacks this turn if able, and at the beginning of the next end step, destroy it if it didn't attack this turn. Activate only before attackers are declared.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy | RememberObjects$ ParentTarget | TriggerDescription$ At the beginning of the end step, destroy that creature if it didn't attack this turn.
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Creature.notAttackedThisTurn | ConditionCompare$ GE1
SVar:X:Targeted$CardManaCost

View File

@@ -3,5 +3,5 @@ ManaCost:5 R R
Types:Creature Spirit
PT:7/4
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Haste\nAshen Monstrosity attacks each combat if able.

View File

@@ -2,5 +2,6 @@ Name:Avatar of Slaughter
ManaCost:6 R R
Types:Creature Avatar
PT:8/8
S:Mode$ Continuous | Affected$ Creature | AddKeyword$ Double Strike | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ All creatures have double strike and attack each combat if able.
S:Mode$ Continuous | Affected$ Creature | AddKeyword$ Double Strike | Description$ All creatures have double strike and attack each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature | Secondary$ True
Oracle:All creatures have double strike and attack each combat if able.

View File

@@ -3,5 +3,5 @@ ManaCost:7
Types:Artifact Creature Juggernaut
PT:7/5
K:Improvise
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Improvise (Your artifacts can help cast this spell. Each artifact you tap after you're done activating mana abilities pays for {1}.)\nBarricade Breaker attacks each combat if able.

View File

@@ -4,5 +4,6 @@ Types:Legendary Creature Angel
PT:4/4
K:Flying
S:Mode$ CantBeCast | ValidCard$ Card | Phases$ BeginCombat->EndCombat | Description$ Players can't cast spells during combat.
A:AB$ Pump | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME attacks each combat if able. | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
A:AB$ Animate | Cost$ R | ValidTgts$ Creature | staticAbilities$ MustAttack | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
Oracle:Flying\nPlayers can't cast spells during combat.\n{R}: Target creature attacks this turn if able.

View File

@@ -2,6 +2,6 @@ Name:Battle-Mad Ronin
ManaCost:1 R
Types:Creature Human Samurai
PT:1/1
K:CARDNAME attacks each combat if able.
K:Bushido:2
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Bushido 2 (Whenever this creature blocks or becomes blocked, it gets +2/+2 until end of turn.)\nBattle-Mad Ronin attacks each combat if able.

View File

@@ -2,5 +2,5 @@ Name:Berserkers of Blood Ridge
ManaCost:4 R
Types:Creature Human Berserker
PT:4/4
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Berserkers of Blood Ridge attacks each combat if able.

View File

@@ -4,6 +4,6 @@ Types:Legendary Enchantment Artifact
T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | CombatDamage$ True | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a creature you control deals combat damage to a player, you may draw a card.
SVar:TrigDraw:DB$ Draw | NumCards$ 1
A:AB$ Effect | Cost$ 1 U T | StaticAbilities$ MustAttack | SpellDescription$ Creatures your opponents control attack this turn if able.
SVar:MustAttack:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.OppCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures your opponents control attack this turn if able.
SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.OppCtrl | Description$ Creatures your opponents control attack this turn if able.
SVar:PlayMain1:TRUE
Oracle:Whenever a creature you control deals combat damage to a player, you may draw a card.\n{1}{U}, {T}: Creatures your opponents control attack this turn if able.

View File

@@ -2,7 +2,8 @@ Name:Bloodcrazed Neonate
ManaCost:1 R
Types:Creature Vampire
PT:2/1
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, put a +1/+1 counter on it.
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
DeckHas:Ability$Counters
Oracle:Bloodcrazed Neonate attacks each combat if able.\nWhenever Bloodcrazed Neonate deals combat damage to a player, put a +1/+1 counter on it.

View File

@@ -2,5 +2,5 @@ Name:Bloodrock Cyclops
ManaCost:2 R
Types:Creature Cyclops
PT:3/3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Bloodrock Cyclops attacks each combat if able.

View File

@@ -2,6 +2,6 @@ Name:Bloodshed Fever
ManaCost:R
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature attacks each combat if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy | Description$ Enchanted creature attacks each combat if able.
Oracle:Enchant creature\nEnchanted creature attacks each combat if able.

View File

@@ -1,7 +1,7 @@
Name:Boiling Blood
ManaCost:2 R
Types:Instant
A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | KW$ HIDDEN CARDNAME attacks each combat if able. | TgtPrompt$ Select target creature | SpellDescription$ Target creature attacks this turn if able. | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ Draw a card.
AI:RemoveDeck:All
A:SP$ Animate | ValidTgts$ Creature | staticAbilities$ MustAttack | SubAbility$ DBDraw | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DBDraw:DB$ Draw | SpellDescription$ Draw a card.
Oracle:Target creature attacks this turn if able.\nDraw a card.

View File

@@ -3,7 +3,8 @@ ManaCost:5 R W
Types:Creature Minotaur Soldier
PT:5/5
T:Mode$ Phase | Phase$ BeginCombat | TriggerZones$ Battlefield | Execute$ TrigMustAttackBlock | TriggerDescription$ At the beginning of each combat, up to one target creature attacks or blocks this combat if able and up to one target creature can't attack or block this combat.
SVar:TrigMustAttackBlock:DB$ Pump | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Choose target creature to attack or block if able | KW$ HIDDEN CARDNAME attacks each combat if able. & HIDDEN CARDNAME blocks each combat if able. | IsCurse$ True | Duration$ UntilEndOfCombat | SubAbility$ DBCantAttackBlock
SVar:TrigMustAttackBlock:DB$ Animate | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Choose target creature to attack or block if able | staticAbilities$ MustAttack | HiddenKeywords$ CARDNAME blocks each combat if able. | IsCurse$ True | Duration$ UntilEndOfCombat | SubAbility$ DBCantAttackBlock
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this combat if able.
SVar:DBCantAttackBlock:DB$ Pump | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Choose target creature that cannot attack or block this combat | KW$ HIDDEN CARDNAME can't attack or block. | IsCurse$ True | Duration$ UntilEndOfCombat
AI:RemoveDeck:All
Oracle:At the beginning of each combat, up to one target creature attacks or blocks this combat if able and up to one target creature can't attack or block this combat.

View File

@@ -1,6 +1,7 @@
Name:Bullwhip
ManaCost:4
Types:Artifact
A:AB$ DealDamage | Cost$ 2 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 1 | SubAbility$ DBPump | SpellDescription$ CARDNAME deals 1 damage to target creature. That creature attacks this turn if able.
SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ HIDDEN CARDNAME attacks each combat if able.
A:AB$ DealDamage | Cost$ 2 T | ValidTgts$ Creature | NumDmg$ 1 | SubAbility$ DBPump | SpellDescription$ CARDNAME deals 1 damage to target creature. That creature attacks this turn if able.
SVar:DBPump:DB$ Animate | Defined$ Targeted | staticAbilities$ MustAttack
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
Oracle:{2}, {T}: Bullwhip deals 1 damage to target creature. That creature attacks this turn if able.

View File

@@ -4,7 +4,7 @@ Types:Creature Dragon
PT:4/4
K:Flying
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ At the beginning of combat on your turn, each player rolls a d20. If one or more opponents had the highest result, CARDNAME can't attack those players or planeswalkers they control this combat.
SVar:TrigRollDice:DB$ RollDice | Defined$ Player | Sides$ 20 | RememberHighestPlayer$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ STCantAttack | RememberObjects$ Player.Opponent+IsRemembered | Duration$ UntilEndOfCombat | SubAbility$ DBCleanup

View File

@@ -1,6 +1,9 @@
Name:Chemister's Trick
ManaCost:U R
Types:Instant
A:SP$ Pump | Cost$ U R | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control. | NumAtt$ -2 | KW$ HIDDEN CARDNAME attacks each combat if able. | SpellDescription$ Target creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
A:SP$ PumpAll | Cost$ 3 U R | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | NumAtt$ -2 | KW$ HIDDEN CARDNAME attacks each combat if able. | PrecostDesc$ Overload | CostDesc$ {3}{U}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
A:SP$ Pump | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumAtt$ -2 | RememberTargets$ True | SubAbility$ DBAnimate | StackDescription$ {c:Targeted} gets -2/-0 until end of turn and attacks this turn if able. | SpellDescription$ Target creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
A:SP$ PumpAll | Cost$ 3 U R | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature you don't control. | NumAtt$ -2 | RememberAllPumped$ True | SubAbility$ DBAnimate | PrecostDesc$ Overload | CostDesc$ {3}{U}{R} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") | StackDescription$ Each creature you don't control gets -2/-0 until end of turn and attacks this turn if able.
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | staticAbilities$ MustAttack | SubAbility$ DBCleanup | StackDescription$ None
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:Target creature you don't control gets -2/-0 until end of turn and attacks this turn if able.\nOverload {3}{U}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")

View File

@@ -2,7 +2,8 @@ Name:Courtly Provocateur
ManaCost:2 U
Types:Creature Human Wizard
PT:1/1
A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME attacks each combat if able. | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
A:AB$ Animate | Cost$ T | ValidTgts$ Creature | staticAbilities$ MustAttack | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME blocks each combat if able. | SpellDescription$ Target creature blocks this turn if able.
AI:RemoveDeck:All
Oracle:{T}: Target creature attacks this turn if able.\n{T}: Target creature blocks this turn if able.

View File

@@ -2,5 +2,5 @@ Name:Crazed Goblin
ManaCost:R
Types:Creature Goblin Warrior
PT:1/1
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Crazed Goblin attacks each combat if able.

View File

@@ -2,6 +2,6 @@ Name:Curse of the Nightly Hunt
ManaCost:2 R
Types:Enchantment Aura Curse
K:Enchant player
A:SP$ Attach | Cost$ 2 R | ValidTgts$ Player | AILogic$ Curse
S:Mode$ Continuous | Affected$ Creature.EnchantedPlayerCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures enchanted player controls attack each combat if able.
A:SP$ Attach | ValidTgts$ Player | AILogic$ Curse
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedPlayerCtrl | Description$ Creatures enchanted player controls attack each combat if able.
Oracle:Enchant player\nCreatures enchanted player controls attack each combat if able.

View File

@@ -3,7 +3,7 @@ ManaCost:3 B
Types:Creature Human Warlock
PT:5/1
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
A:AB$ PutCounter | Cost$ 1 B ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ Indestructible | CounterNum$ 1 | SorcerySpeed$ True | SpellDescription$ Put an indestructible counter on target creature. Activate only as a sorcery.
DeckHas:Ability$Counters|Graveyard
SVar:AIPreference:ExileFromGraveCost$Card.Self

View File

@@ -3,9 +3,9 @@ ManaCost:5
Types:Artifact Creature Juggernaut
PT:*/*
K:Indestructible
K:CARDNAME attacks each combat if able.
S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of artifacts you control.
SVar:X:Count$Valid Artifact.YouCtrl
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
SVar:BuffedBy:Artifact
SVar:NoZeroToughnessAI:True
Oracle:Indestructible\nDarksteel Juggernaut's power and toughness are each equal to the number of artifacts you control.\nDarksteel Juggernaut attacks each combat if able.

View File

@@ -3,5 +3,5 @@ ManaCost:B B
Types:Creature Dauthi Soldier
PT:2/2
K:Shadow
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Shadow (This creature can block or be blocked by only creatures with shadow.)\nDauthi Slayer attacks each combat if able.

View File

@@ -2,6 +2,6 @@ Name:Deathbellow Raider
ManaCost:1 R
Types:Creature Minotaur Berserker
PT:2/3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
A:AB$ Regenerate | Cost$ 2 B | SpellDescription$ Regenerate CARDNAME.
Oracle:Deathbellow Raider attacks each combat if able.\n{2}{B}: Regenerate Deathbellow Raider.

View File

@@ -4,6 +4,7 @@ Types:Creature Human Shaman
PT:1/1
T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ DBSurveil | TriggerDescription$ Whenever you cast a noncreature spell, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.)
SVar:DBSurveil:DB$ Surveil | Defined$ You | Amount$ 1
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Flying & CARDNAME attacks each combat if able. | Condition$ Delirium | Description$ Delirium — As long as there are four or more card types in your graveyard, CARDNAME gets +2/+2, has flying, and attacks each combat if able.
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Flying | Condition$ Delirium | Description$ Delirium — As long as there are four or more card types in your graveyard, CARDNAME gets +2/+2, has flying, and attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Condition$ Delirium | Secondary$ True
DeckHas:Ability$Delirium|Surveil
Oracle:Whenever you cast a noncreature spell, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.)\nDelirium — As long as there are four or more card types among cards in your graveyard, Dragon's Rage Channeler gets +2/+2, has flying, and attacks each combat if able.

View File

@@ -4,7 +4,7 @@ Types:Creature Djinn
PT:4/4
K:Flying
K:Trample
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ DamageDealtOnce | ValidSource$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME deals damage, you lose that much life.
SVar:TrigLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ X
SVar:X:TriggerCount$DamageAmount

View File

@@ -3,5 +3,5 @@ ManaCost:5 R
Types:Creature Hellion
PT:5/4
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Haste\nFlameborn Hellion attacks each combat if able.

View File

@@ -4,7 +4,7 @@ Types:Creature Phoenix
PT:2/2
K:Flying
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Graveyard | IsPresent$ Creature.YouCtrl+powerGE4 | Execute$ TrigReturn | TriggerDescription$ Ferocious — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return Flamewake Phoenix from your graveyard to the battlefield.
SVar:TrigReturn:AB$ ChangeZone | Cost$ R | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield
Oracle:Flying, haste\nFlamewake Phoenix attacks each combat if able.\nFerocious — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return Flamewake Phoenix from your graveyard to the battlefield.

View File

@@ -2,5 +2,5 @@ Name:Frontline Rebel
ManaCost:2 R
Types:Creature Human Warrior
PT:3/3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Frontline Rebel attacks each combat if able.

View File

@@ -4,5 +4,5 @@ Types:Legendary Creature Human Samurai
PT:3/2
S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Bushido:N | CalcKeywordN$ N | Description$ Fumiko the Lowblood has bushido X, where X is the number of attacking creatures.
SVar:N:Count$Valid Creature.attacking
S:Mode$ Continuous | Affected$ Creature.OppCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures your opponents control attack each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.OppCtrl | Description$ Creatures your opponents control attack each combat if able.
Oracle:Fumiko the Lowblood has bushido X, where X is the number of attacking creatures. (Whenever this creature blocks or becomes blocked, it gets +X/+X until end of turn.)\nCreatures your opponents control attack each combat if able.

View File

@@ -2,6 +2,7 @@ Name:Furor of the Bitten
ManaCost:R
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature gets +2/+2 and attacks each combat if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | Description$ Enchanted creature gets +2/+2 and attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy | Secondary$ True
Oracle:Enchant creature\nEnchanted creature gets +2/+2 and attacks each combat if able.

View File

@@ -2,7 +2,7 @@ Name:Galvanic Juggernaut
ManaCost:4
Types:Artifact Creature Juggernaut
PT:5/5
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
K:CARDNAME doesn't untap during your untap step.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever another creature dies, untap CARDNAME
SVar:TrigUntap:DB$ Untap | Defined$ Self

View File

@@ -1,7 +1,8 @@
Name:Goblin Assault
ManaCost:2 R
Types:Enchantment
S:Mode$ Continuous | Affected$ Creature.Goblin | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Goblin creatures attack each combat if able.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, create a 1/1 red Goblin creature token with haste.
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ r_1_1_goblin_haste | TokenOwner$ You
SVar:TrigToken:DB$ Token | TokenScript$ r_1_1_goblin_haste
S:Mode$ MustAttack | ValidCreature$ Creature.Goblin | Description$ Goblin creatures attack each combat if able.
DeckHas:Ability$Token & Type$Goblin
Oracle:At the beginning of your upkeep, create a 1/1 red Goblin creature token with haste.\nGoblin creatures attack each combat if able.

View File

@@ -2,5 +2,5 @@ Name:Goblin Brigand
ManaCost:1 R
Types:Creature Goblin Warrior
PT:2/2
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Goblin Brigand attacks each combat if able.

View File

@@ -2,7 +2,7 @@ Name:Goblin Diplomats
ManaCost:1 R
Types:Creature Goblin
PT:2/1
A:AB$ Effect | Cost$ T | Name$ Goblin Diplomats Effect | StaticAbilities$ KWPump | SpellDescription$ Each creature attacks this turn if able.
SVar:KWPump:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Each creature attacks this turn if able.
A:AB$ Effect | Cost$ T | StaticAbilities$ MustAttack | SpellDescription$ Each creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature | Description$ Each creature attacks this turn if able.
AI:RemoveDeck:All
Oracle:{T}: Each creature attacks this turn if able.

View File

@@ -2,11 +2,12 @@ Name:Goblin Rabblemaster
ManaCost:2 R
Types:Creature Goblin Warrior
PT:2/2
S:Mode$ Continuous | Affected$ Creature.Goblin+Other+YouCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Other Goblin creatures you control attack each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.Goblin+Other+YouCtrl | Description$ Other Goblin creatures you control attack each combat if able.
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, create a 1/1 red Goblin creature token with haste.
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenOwner$ You | TokenScript$ r_1_1_goblin_haste
SVar:TrigToken:DB$ Token | TokenScript$ r_1_1_goblin_haste
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+0 until end of turn for each other attacking Goblin.
SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ X
SVar:X:Count$Valid Goblin.attacking+Other
SVar:PlayMain1:TRUE
DeckHas:Ability$Token
Oracle:Other Goblin creatures you control attack each combat if able.\nAt the beginning of combat on your turn, create a 1/1 red Goblin creature token with haste.\nWhenever Goblin Rabblemaster attacks, it gets +1/+0 until end of turn for each other attacking Goblin.

View File

@@ -1,6 +1,7 @@
Name:Grand Melee
ManaCost:3 R
Types:Enchantment
S:Mode$ Continuous | Affected$ Creature | AddHiddenKeyword$ CARDNAME blocks each combat if able. & CARDNAME attacks each combat if able. | Description$ All creatures attack each combat if able. All creatures block each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature | Description$ All creatures attack each combat if able. All creatures block each combat if able.
S:Mode$ Continuous | Affected$ Creature | AddHiddenKeyword$ CARDNAME blocks each combat if able. | Secondary$ True
SVar:NonStackingEffect:True
Oracle:All creatures attack each combat if able.\nAll creatures block each combat if able.

View File

@@ -17,5 +17,5 @@ ManaCost:no cost
Types:Creature Eldrazi Fish
PT:4/5
A:AB$ Effect | Cost$ 6 | StaticAbilities$ MustAttack | SpellDescription$ Creatures your opponents control attack this turn if able.
SVar:MustAttack:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.OppCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures your opponents control attack this turn if able.
SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.OppCtrl | Description$ Creatures your opponents control attack this turn if able.
Oracle:{6}: Creatures your opponents control attack this turn if able.

View File

@@ -2,6 +2,7 @@ Name:Guise of Fire
ManaCost:R
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ -1 | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature gets +1/-1 and attacks each combat if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ -1 | Description$ Enchanted creature gets +1/-1 and attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy | Secondary$ True
Oracle:Enchant creature\nEnchanted creature gets +1/-1 and attacks each combat if able.

View File

@@ -2,7 +2,7 @@ Name:Haktos the Unscarred
ManaCost:R R W W
Types:Legendary Creature Human Warrior
PT:6/1
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
K:ETBReplacement:Other:ChooseNum
SVar:ChooseNum:DB$ ChooseNumber | Min$ 2 | Max$ 4 | Defined$ You | Random$ True | SpellDescription$ As NICKNAME enters the battlefield, choose 2, 3, or 4 at random.
S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Protection:Card.cmcNEChosenNumber,Emblem:Protection from each mana value other than ChosenNumber | Description$ CARDNAME has protection from each mana value other than the chosen number.

View File

@@ -15,7 +15,7 @@ ManaCost:no cost
Colors:red
Types:Creature Werewolf
PT:5/5
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ Phase | Phase$ Upkeep | WerewolfUntransformCondition$ True | TriggerZones$ Battlefield | Execute$ TrigTransform | TriggerDescription$ At the beginning of each upkeep, if a player cast two or more spells last turn, transform CARDNAME.
SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Transform
Oracle:Bane of Hanweir attacks each combat if able.\nAt the beginning of each upkeep, if a player cast two or more spells last turn, transform Bane of Hanweir.

View File

@@ -2,5 +2,6 @@ Name:Heckling Fiends
ManaCost:2 R
Types:Creature Devil
PT:2/2
A:AB$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME attacks each combat if able. | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
A:AB$ Animate | Cost$ 2 R | ValidTgts$ Creature | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
Oracle:{2}{R}: Target creature attacks this turn if able.

View File

@@ -3,7 +3,7 @@ ManaCost:2 R
Types:Creature Goblin Berserker
PT:2/2
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddKeyword$ Haste | Description$ Creatures you control have haste and attack each combat if able.
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.YouCtrl | Secondary$ True
SVar:PlayMain1:TRUE
SVar:BuffedBy:Creature
Oracle:Creatures you control have haste and attack each combat if able.

View File

@@ -1,13 +1,13 @@
Name:Illusionist's Gambit
ManaCost:2 U U
Types:Instant
A:SP$ RemoveFromCombat | Cost$ 2 U U | Defined$ Valid Creature.attacking | ActivationPhases$ Declare Blockers | OpponentTurn$ True | RememberRemovedFromCombat$ True | SubAbility$ DBUntap | SpellDescription$ Cast CARDNAME only on the declare blockers step on an opponent's turn. Remove all attacking creatures from combat and untap them. After this phase, there is an additional combat phase. Each of those creatures attacks that combat if able. They can't attack you or planeswalkers you control that combat.
A:SP$ RemoveFromCombat | Defined$ Valid Creature.attacking | ActivationPhases$ Declare Blockers | OpponentTurn$ True | RememberRemovedFromCombat$ True | SubAbility$ DBUntap | SpellDescription$ Cast CARDNAME only on the declare blockers step on an opponent's turn. Remove all attacking creatures from combat and untap them. After this phase, there is an additional combat phase. Each of those creatures attacks that combat if able. They can't attack you or planeswalkers you control that combat.
SVar:DBUntap:DB$ Untap | Defined$ Remembered | SubAbility$ DBAddPhase
SVar:DBAddPhase:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat | SubAbility$ DBDelayedEffect
SVar:DBDelayedEffect:DB$ DelayedTrigger | Mode$ Phase | Phase$ BeginCombat | Execute$ DBEffect | Static$ True
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ STCantAttack,STMustAttack | SubAbility$ DBCleanup | Duration$ UntilEndOfCombat
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:STCantAttack:Mode$ CantAttack | EffectZone$ Command | ValidCard$ Creature.IsRemembered | Target$ You,Planeswalker.YouCtrl | Description$ Each of those creatures attacks that combat if able.
SVar:STMustAttack:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.IsRemembered | AddHiddenKeyword$ CARDNAME attacks each combat if able.
SVar:STCantAttack:Mode$ CantAttack | EffectZone$ Command | ValidCard$ Creature.IsRemembered | Target$ You,Planeswalker.YouCtrl | Description$ Each of those creatures attacks that combat if able. They can't attack you or planeswalkers you control that combat.
SVar:STMustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.IsRemembered
AI:RemoveDeck:All
Oracle:Cast this spell only during the declare blockers step on an opponent's turn.\nRemove all attacking creatures from combat and untap them. After this phase, there is an additional combat phase. Each of those creatures attacks that combat if able. They can't attack you or planeswalkers you control that combat.

View File

@@ -1,8 +1,8 @@
Name:Imaginary Threats
ManaCost:2 U U
Types:Instant
A:SP$ Effect | Cost$ 2 U U | Name$ Imaginary Threats Effect 1 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | StaticAbilities$ MustAttack | RememberObjects$ Targeted | SubAbility$ DBEffect | SpellDescription$ Creatures target player controls attack this turn if able.
SVar:MustAttack:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.RememberedPlayerCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures target opponent controls attack this turn if able.
A:SP$ Effect | Name$ Imaginary Threats Effect 1 | ValidTgts$ Opponent | StaticAbilities$ MustAttack | RememberObjects$ Targeted | SubAbility$ DBEffect | SpellDescription$ Creatures target player controls attack this turn if able.
SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.RememberedPlayerCtrl | Description$ Creatures target opponent controls attack this turn if able.
SVar:DBEffect:DB$ Effect | IsCurse$ True | StaticAbilities$ DontUntap | Triggers$ RemoveEffect | Duration$ Permanent | RememberObjects$ Targeted | Name$ Imaginary Threats Effect 2 | SubAbility$ DBCleanup | SpellDescription$ During that player's next untap step, creatures they control don't untap.
SVar:DontUntap:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature.RememberedPlayerCtrl | AddHiddenKeyword$ This card doesn't untap during your next untap step. | Description$ Creatures target opponent controls don't untap during their next untap step.
SVar:RemoveEffect:Mode$ Phase | Phase$ Untap | ValidPlayer$ Player.IsRemembered | TriggerZones$ Command | Static$ True | Execute$ ExileEffect

View File

@@ -2,8 +2,9 @@ Name:Impending Doom
ManaCost:2 R
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 2 R | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 3 | AddToughness$ 3 | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature gets +3/+3 and attacks each combat if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 3 | AddToughness$ 3 | Description$ Enchanted creature gets +3/+3 and attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy | Secondary$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.AttachedBy | Execute$ TrigDamage | TriggerDescription$ When enchanted creature dies, CARDNAME deals 3 damage to that creature's controller.
SVar:TrigDamage:DB$ DealDamage | Defined$ TriggeredCardController | NumDmg$ 3
Oracle:Enchant creature\nEnchanted creature gets +3/+3 and attacks each combat if able.\nWhen enchanted creature dies, Impending Doom deals 3 damage to that creature's controller.

View File

@@ -4,5 +4,5 @@ Types:Creature Human Soldier
PT:1/1
K:Flying
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Flying, haste\nImpetuous Sunchaser attacks each combat if able.

View File

@@ -2,6 +2,7 @@ Name:Imps' Taunt
ManaCost:1 B
Types:Instant
K:Buyback:3
A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature | KW$ HIDDEN CARDNAME attacks each combat if able. | TgtPrompt$ Select target creature | SpellDescription$ Target creature attacks this turn if able.
A:SP$ Animate | ValidTgts$ Creature | staticAbilities$ MustAttack | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
AI:RemoveDeck:All
Oracle:Buyback {3} (You may pay an additional {3} as you cast this spell. If you do, put this card into your hand as it resolves.)\nTarget creature attacks this turn if able.

View File

@@ -1,7 +1,7 @@
Name:Incite
ManaCost:R
Types:Instant
A:SP$ Animate | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | Colors$ Red | OverwriteColors$ True | SubAbility$ DBPump | SpellDescription$ Target creature becomes red until end of turn and attacks this turn if able.
SVar:DBPump:DB$ Pump | KW$ HIDDEN CARDNAME attacks each combat if able. | Defined$ Targeted
A:SP$ Animate | ValidTgts$ Creature | Colors$ Red | OverwriteColors$ True | staticAbilities$ MustAttack | SpellDescription$ Target creature becomes red until end of turn and attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
AI:RemoveDeck:All
Oracle:Target creature becomes red until end of turn and attacks this turn if able.

View File

@@ -2,9 +2,9 @@ Name:Incite War
ManaCost:2 R
Types:Instant
K:Entwine:2
A:SP$ Charm | Cost$ 2 R | Choices$ DBEffect,DBPumpAll | CharmNum$ 1
SVar:DBEffect:DB$ Effect | Name$ Incite War Effect | ValidTgts$ Player | TgtPrompt$ Select target player | StaticAbilities$ MustAttack | RememberObjects$ Targeted | SpellDescription$ Creatures target player controls attack this turn if able.
SVar:MustAttack:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.RememberedPlayerCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures target player controls attack this turn if able.
A:SP$ Charm | Choices$ DBEffect,DBPumpAll
SVar:DBEffect:DB$ Effect | Name$ Incite War Effect | ValidTgts$ Player | StaticAbilities$ MustAttack | RememberObjects$ Targeted | SpellDescription$ Creatures target player controls attack this turn if able.
SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.RememberedPlayerCtrl | Description$ Creatures target player controls attack this turn if able.
SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ First Strike | SpellDescription$ Creatures you control gain first strike until end of turn.
AI:RemoveDeck:All
Oracle:Choose one —\n• Creatures target player controls attack this turn if able.\n• Creatures you control gain first strike until end of turn.\nEntwine {2} (Choose both if you pay the entwine cost.)

View File

@@ -2,8 +2,9 @@ Name:Infectious Bloodlust
ManaCost:1 R
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 1 R | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 1 | AddKeyword$ Haste | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature gets +2/+1, has haste, and attacks each combat if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 1 | AddKeyword$ Haste | Description$ Enchanted creature gets +2/+1, has haste, and attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy | Secondary$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.AttachedBy | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When enchanted creature dies, you may search your library for a card named Infectious Bloodlust, reveal it, put it into your hand, then shuffle.
SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.namedInfectious Bloodlust | ChangeNum$ 1 | ShuffleNonMandatory$ True
DeckHints:Name$Infectious Bloodlust

View File

@@ -2,7 +2,7 @@ Name:Insatiable Gorgers
ManaCost:2 R R
Types:Creature Vampire Berserker
PT:5/3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
K:Madness:3 R
DeckHints:Ability$Discard
Oracle:Insatiable Gorgers attacks each combat if able.\nMadness {3}{R} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)

View File

@@ -3,6 +3,6 @@ ManaCost:1 B
Types:Creature Human Spellshaper
PT:1/1
A:AB$ Effect | Cost$ 1 B B T Discard<1/Card> | Name$ Instigator Effect | ValidTgts$ Player | TgtPrompt$ Select target player | StaticAbilities$ AttackThisTurn | RememberObjects$ Targeted | SpellDescription$ Creatures target player controls attack this turn if able.
SVar:AttackThisTurn:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.RememberedPlayerCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures targeted player controls attack this turn if able.
SVar:AttackThisTurn:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.RememberedPlayerCtrl | Description$ Creatures targeted player controls attack this turn if able.
AI:RemoveDeck:All
Oracle:{1}{B}{B}, {T}, Discard a card: Creatures target player controls attack this turn if able.

View File

@@ -2,6 +2,7 @@ Name:Into the Fray
ManaCost:R
Types:Instant Arcane
K:Splice:Arcane:R
A:SP$ Pump | Cost$ R | ValidTgts$ Creature | KW$ HIDDEN CARDNAME attacks each combat if able. | TgtPrompt$ Select target creature | SpellDescription$ Target creature attacks this turn if able.
A:SP$ Animate | ValidTgts$ Creature | staticAbilities$ MustAttack | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
AI:RemoveDeck:All
Oracle:Target creature attacks this turn if able.\nSplice onto Arcane {R} (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)

View File

@@ -3,6 +3,6 @@ ManaCost:4
Types:Artifact Creature Golem
PT:5/3
K:Vigilance
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
K:CARDNAME blocks each combat if able.
Oracle:Vigilance\nIron Golem attacks or blocks each combat if able.

View File

@@ -2,6 +2,6 @@ Name:Juggernaut
ManaCost:4
Types:Artifact Creature Juggernaut
PT:5/3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
S:Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.Wall | Description$ CARDNAME can't be blocked by Walls.
Oracle:Juggernaut attacks each combat if able.\nJuggernaut can't be blocked by Walls.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Demon Berserker
PT:4/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ When CARDNAME enters the battlefield, until your next turn, creatures your opponents control attack each combat if able and attack a player other than you if able.
SVar:TrigEffect:DB$ Effect | StaticAbilities$ AttackEach,AttackOther | Duration$ UntilYourNextTurn
SVar:AttackEach:Mode$ Continuous | Affected$ Creature.OppCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures your opponents control attack each combat if able and attack a player other than you if able.
SVar:AttackEach:Mode$ MustAttack | ValidCreature$ Creature.OppCtrl | Description$ Creatures your opponents control attack each combat if able and attack a player other than you if able.
SVar:AttackOther:Mode$ Continuous | Affected$ You | AddKeyword$ Creatures your opponents control attack a player other than you if able. | Secondary$ True | Description$ Creatures your opponents control attack each combat if able and attack a player other than you if able.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.attacking | Execute$ TrigDrain | TriggerZones$ Battlefield | TriggerDescription$ Whenever an attacking creature dies, each opponent loses 1 life and you gain 1 life.
SVar:TrigDrain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 1 | SubAbility$ DBGainOneLife

View File

@@ -2,7 +2,7 @@ Name:Kill-Suit Cultist
ManaCost:R
Types:Creature Goblin Berserker
PT:1/1
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
A:AB$ Effect | Cost$ B Sac<1/CARDNAME> | ValidTgts$ Creature | ReplacementEffects$ SelfDamage | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | SpellDescription$ The next time damage would be dealt to target creature this turn, destroy that creature instead.
SVar:SelfDamage:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | ReplaceWith$ CultistDestroy | Description$ The next time damage would be dealt to target creature this turn, destroy that creature instead.
SVar:CultistDestroy:DB$ Destroy | Defined$ ReplacedTarget | SubAbility$ ExileEffect

View File

@@ -6,7 +6,8 @@ K:Trample
A:AB$ Pump | Cost$ R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Creature.YouCtrl+namedKeeper of Kookus | PresentCompare$ EQ0 | Execute$ TrigNoKeeper | TriggerDescription$ At the beginning of your upkeep, if you don't control a creature named Keeper of Kookus, CARDNAME deals 3 damage to you and attacks this turn if able.
SVar:TrigNoKeeper:DB$ DealDamage | NumDmg$ 3 | Defined$ You | SubAbility$ DBMustAttack
SVar:DBMustAttack:DB$ Pump | KW$ HIDDEN CARDNAME attacks each combat if able. | Defined$ Self | SpellDescription$ CARDNAME attacks this turn if able.
SVar:DBMustAttack:DB$ Animate | staticAbilities$ MustAttack | Defined$ Self
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Secondary$ True
AI:RemoveDeck:Random
DeckNeeds:Name$Keeper of Kookus
Oracle:Trample\nAt the beginning of your upkeep, if you don't control a creature named Keeper of Kookus, Kookus deals 3 damage to you and attacks this turn if able.\n{R}: Kookus gets +1/+0 until end of turn.

View File

@@ -3,5 +3,5 @@ ManaCost:4 R
Types:Creature Giant Berserker
PT:4/4
K:Battle cry
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Battle cry (Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.)\nKuldotha Ringleader attacks each combat if able.

View File

@@ -4,9 +4,10 @@ Types:Creature Goblin Soldier
PT:2/2
K:Mentor
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of combat on your turn, create a 1/1 red Goblin creature token. That token gains haste until end of turn and attacks this combat if able.
SVar:TrigToken:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenScript$ r_1_1_goblin | RememberTokens$ True | SubAbility$ DBPumpTurn
SVar:TrigToken:DB$ Token | TokenScript$ r_1_1_goblin | RememberTokens$ True | SubAbility$ DBPumpTurn
SVar:DBPumpTurn:DB$ Pump | Defined$ Remembered | KW$ Haste | SubAbility$ DBPumpCombat
SVar:DBPumpCombat:DB$ Pump | Defined$ Remembered | KW$ HIDDEN CARDNAME attacks each combat if able. | Duration$ UntilEndOfCombat | SubAbility$ DBCleanup
SVar:DBPumpCombat:DB$ Animate | Defined$ Remembered | staticAbilities$ MustAttack | Duration$ UntilEndOfCombat | SubAbility$ DBCleanup
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
DeckHas:Ability$Counters|Token
Oracle:Mentor (Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power.)\nAt the beginning of combat on your turn, create a 1/1 red Goblin creature token. That token gains haste until end of turn and attacks this combat if able.

View File

@@ -1,8 +1,8 @@
Name:Lust for War
ManaCost:2 R
Types:Enchantment Aura
A:SP$ Attach | Cost$ 2 R | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature attacks each combat if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Curse
S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy | Description$ Enchanted creature attacks each combat if able.
T:Mode$ Taps | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever enchanted creature becomes tapped, CARDNAME deals 3 damage to that creature's controller.
SVar:TrigDamage:DB$ DealDamage | Defined$ TriggeredCardController | NumDmg$ 3
Oracle:Enchant creature\nWhenever enchanted creature becomes tapped, Lust for War deals 3 damage to that creature's controller.\nEnchanted creature attacks each combat if able.

View File

@@ -3,7 +3,9 @@ ManaCost:2 B
Types:Creature Imp
PT:1/1
K:Flying
A:AB$ PumpAll | Cost$ T | ValidCards$ Creature.ActivePlayerCtrl+nonWall | KW$ HIDDEN CARDNAME attacks each combat if able. | RememberAllPumped$ True | ActivationPhases$ Upkeep->Main1 | ActivationFirstCombat$ True | OpponentTurn$ True | SubAbility$ DelTrig | StackDescription$ SpellDescription | SpellDescription$ Non-Wall creatures the active player controls attack this turn if able. At the beginning of the next end step, destroy each of those creatures that didn't attack this turn. Activate only during an opponent's turn and only before combat.
A:AB$ PumpAll | Cost$ T | ValidCards$ Creature.ActivePlayerCtrl+nonWall | RememberAllPumped$ True | ActivationPhases$ Upkeep->Main1 | ActivationFirstCombat$ True | OpponentTurn$ True | SubAbility$ DelTrig | StackDescription$ None | SpellDescription$ Non-Wall creatures the active player controls attack this turn if able. At the beginning of the next end step, destroy each of those creatures that didn't attack this turn. Activate only during an opponent's turn and only before combat.
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | DefinedDesc$ Non-Wall creatures the active player controls | staticAbilities$ MustAttack | SubAbility$ DelTrig
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy | RememberObjects$ Remembered | SubAbility$ DBCleanup | TriggerDescription$ At the beginning of the next end step, destroy each of those creatures that didn't attack this turn.
SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.IsTriggerRemembered+notAttackedThisTurn
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -3,5 +3,5 @@ ManaCost:1 R
Types:Creature Human Warrior
PT:2/2
K:Prowess
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.)\nMage-Ring Bully attacks each combat if able.

View File

@@ -3,5 +3,5 @@ ManaCost:3 R R
Types:Creature Zombie Manticore
PT:5/4
K:Afflict:3
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Afflict 3 (Whenever this creature becomes blocked, defending player loses 3 life.)\nManticore Eternal attacks each combat if able.

View File

@@ -2,7 +2,7 @@ Name:Marauding Maulhorn
ManaCost:2 R R
Types:Creature Beast
PT:5/3
S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ CARDNAME attacks each combat if able. | CheckSVar$ CheckCard | SVarCompare$ EQ0 | Description$ CARDNAME attacks each combat if able unless you control a creature named Advocate of the Beast.
S:Mode$ MustAttack | ValidCreature$ Card.Self | CheckSVar$ CheckCard | SVarCompare$ EQ0 | Description$ CARDNAME attacks each combat if able unless you control a creature named Advocate of the Beast.
SVar:CheckCard:Count$Valid Card.namedAdvocate of the Beast+YouCtrl
DeckHints:Name$Advocate of the Beast
Oracle:Marauding Maulhorn attacks each combat if able unless you control a creature named Advocate of the Beast.

View File

@@ -3,7 +3,8 @@ ManaCost:1 R
Types:Enchantment Creature Dog
PT:2/2
K:Bestow:2 R
K:CARDNAME attacks each combat if able.
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Enchanted creature gets +2/+2 and attacks each combat if able.
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddStaticAbility$ MustAttack | Description$ Enchanted creature gets +2/+2 and attacks each combat if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Secondary$ True
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
AI:RemoveDeck:All
Oracle:Bestow {2}{R} (If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature.)\nMogis's Warhound attacks each combat if able.\nEnchanted creature gets +2/+2 and attacks each combat if able.

View File

@@ -2,6 +2,7 @@ Name:Monstrous Carabid
ManaCost:3 B R
Types:Creature Insect
PT:4/4
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
K:Cycling:BR
DeckHas:Ability$Discard
Oracle:Monstrous Carabid attacks each combat if able.\nCycling {B/R} ({B/R}, Discard this card: Draw a card.)

View File

@@ -2,5 +2,7 @@ Name:My Crushing Masterstroke
ManaCost:no cost
Types:Scheme
T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ TrigControl | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, gain control of all nonland permanents your opponents control until end of turn. Untap those permanents. They gain haste until end of turn. Each of them attacks its owner this turn if able.
SVar:TrigControl:DB$ GainControl | AllValid$ Permanent.OppCtrl+nonLand | Untap$ True | AddKWs$ Haste & HIDDEN CARDNAME attacks specific player each combat if able:CardOwner | LoseControl$ EOT
SVar:TrigControl:DB$ GainControl | AllValid$ Permanent.OppCtrl+nonLand | Untap$ True | AddKWs$ Haste | LoseControl$ EOT | RememberControlled$ True | SubAbility$ DBAnimate
SVar:DBAnimate:DB$ Animate | Defined$ Remembered | staticAbilities$ AttackOwner | SubAbility$ DBCleanup
SVar:AttackOwner:Mode$ MustAttack | ValidCreature$ Card.Self | MustAttack$ CardOwner | Description$ This permanent attacks its owner this turn if able.
Oracle:When you set this scheme in motion, gain control of all nonland permanents your opponents control until end of turn. Untap those permanents. They gain haste until end of turn. Each of them attacks its owner this turn if able.

View File

@@ -2,8 +2,9 @@ Name:Nettling Curse
ManaCost:2 B
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 2 B | ValidTgts$ Creature | AILogic$ Curse
A:AB$ Pump | Cost$ 1 R | Defined$ Enchanted | KW$ HIDDEN CARDNAME attacks each combat if able. | IsCurse$ True | SpellDescription$ Enchanted creature attacks this turn if able.
A:SP$ Attach | ValidTgts$ Creature | AILogic$ Curse
A:AB$ Animate | Cost$ 1 R | Defined$ Enchanted | staticAbilities$ MustAttack | IsCurse$ True | SpellDescription$ Enchanted creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
T:Mode$ Attacks | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigLoseLifeAttack | TriggerDescription$ Whenever enchanted creature attacks or blocks, its controller loses 3 life.
T:Mode$ Blocks | ValidCard$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigLoseLifeBlock | Secondary$ True | TriggerDescription$ Whenever enchanted creature attacks or blocks, its controller loses 3 life.
SVar:TrigLoseLifeAttack:DB$ LoseLife | LifeAmount$ 3 | Defined$ TriggeredAttackerController

View File

@@ -2,7 +2,8 @@ Name:Nettling Imp
ManaCost:2 B
Types:Creature Imp
PT:1/1
A:AB$ Pump | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn. | ActivationPhases$ Upkeep->BeginCombat | OpponentTurn$ True | KW$ HIDDEN CARDNAME attacks each combat if able. | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only during an opponent's turn, before attackers are declared.
A:AB$ Animate | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | ActivationPhases$ Upkeep->BeginCombat | OpponentTurn$ True | staticAbilities$ MustAttack | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only during an opponent's turn, before attackers are declared.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | RememberObjects$ ParentTarget | Execute$ TrigDestroy | TriggerDescription$ At the beginning of the end step, destroy that creature if it didn't attack this turn.
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Creature.notAttackedThisTurn | ConditionCompare$ GE1
AI:RemoveDeck:All

View File

@@ -3,7 +3,8 @@ ManaCost:3 B
Types:Creature Imp
PT:1/1
A:AB$ Untap | Cost$ T | ValidTgts$ Creature.Blue | TgtPrompt$ Select target blue creature | SpellDescription$ Untap target blue creature.
A:AB$ Pump | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn. | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | KW$ HIDDEN CARDNAME attacks each combat if able. | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only before attackers are declared.
A:AB$ Pump | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | staticAbilities$ MustAttack | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only before attackers are declared.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy | RememberObjects$ ParentTarget | TriggerDescription$ At the beginning of the end step, destroy that creature if it didn't attack this turn.
SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Creature.notAttackedThisTurn | ConditionCompare$ GE1
AI:RemoveDeck:All

View File

@@ -3,7 +3,7 @@ ManaCost:1 B B
Types:Creature Human Knight
PT:0/0
K:etbCounter:P1P1:4
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ Card.Self+counters_GE1_P1P1 | ReplaceWith$ DBRemoveCounters | PreventionEffect$ True | AlwaysReplace$ True | Description$ If damage would be dealt to CARDNAME while it has a +1/+1 counter on it, prevent that damage and remove a +1/+1 counter from it.
SVar:DBRemoveCounters:DB$ RemoveCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
DeckHas:Ability$Counters

View File

@@ -5,7 +5,7 @@ PT:1/1
A:AB$ ChooseCard | Cost$ T | ValidTgts$ Player.Opponent | MinAmount$ 0 | Amount$ X | Choices$ Creature | TargetControls$ True | ChoiceTitle$ Choose any number of creatures you control | PlayerTurn$ True | Reveal$ True | AILogic$ NextTurnAttacker | SubAbility$ DBOracleEffect | StackDescription$ SpellDescription | SpellDescription$ Target opponent chooses any number of creatures they control. During that player's next turn, the chosen creatures attack if able, and other creatures can't attack. At the beginning of that turn's end step, destroy each of the chosen creatures that didn't attack this turn. Activate only during your turn.
SVar:X:Count$Valid Creature.TargetedPlayerCtrl
SVar:DBOracleEffect:DB$ Effect | EffectOwner$ TargetedPlayer | StaticAbilities$ ForceAttack,ForbidAttack | Triggers$ TrigDestroy | Duration$ UntilTheEndOfYourNextTurn | SubAbility$ DBCleanup
SVar:ForceAttack:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature.YouCtrl+ChosenCard | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ During that player's next turn, the chosen creatures attack if able, and other creatures can't attack.
SVar:ForceAttack:Mode$ MustAttack | EffectZone$ Command | AffectedZone$ Battlefield | ValidCreature$ Creature.YouCtrl+ChosenCard | Description$ During that player's next turn, the chosen creatures attack if able, and other creatures can't attack.
SVar:ForbidAttack:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Creature.YouCtrl+nonChosenCard | AddHiddenKeyword$ CARDNAME can't attack.
SVar:TrigDestroy:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Command | Execute$ DBDestroy | TriggerDescription$ At the beginning of that turn's end step, destroy each of the chosen creatures that didn't attack this turn.
SVar:DBDestroy:DB$ DestroyAll | ValidCards$ Creature.ChosenCard+notAttackedThisTurn

View File

@@ -3,5 +3,6 @@ ManaCost:4
Types:Artifact Creature Juggernaut
PT:2/3
S:Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.Wall | Description$ CARDNAME can't be blocked by Walls.
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddKeyword$ CARDNAME attacks each combat if able. | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME gets +3/+0 and attacks each combat if able.
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | Condition$ Threshold | Description$ Threshold — As long as seven or more cards are in your graveyard, CARDNAME gets +3/+0 and attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Condition$ Threshold | Secondary$ True
Oracle:Otarian Juggernaut can't be blocked by Walls.\nThreshold — As long as seven or more cards are in your graveyard, Otarian Juggernaut gets +3/+0 and attacks each combat if able.

View File

@@ -3,5 +3,5 @@ ManaCost:6
Types:Artifact Creature Phyrexian Juggernaut
PT:5/5
K:Infect
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)\nPhyrexian Juggernaut attacks each combat if able.

View File

@@ -2,6 +2,6 @@ Name:Phyrexian Snowcrusher
ManaCost:6
Types:Snow Artifact Creature Phyrexian Juggernaut
PT:6/5
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
A:AB$ Pump | Cost$ 1 S | Defined$ Self | NumAtt$ +1 | SpellDescription$ Phyrexian Snowcrusher gets +1/+0 until end of turn.
Oracle:Phyrexian Snowcrusher attacks each combat if able.\n{1}{S}: Phyrexian Snowcrusher gets +1/+0 until end of turn. ({S} can be paid with one mana from a snow source.)

View File

@@ -2,11 +2,12 @@ Name:Primordial Ooze
ManaCost:R
Types:Creature Ooze
PT:1/1
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a +1/+1 counter on CARDNAME. Then you may pay {X}, where X is the number of +1/+1 counters on it. If you don't, tap CARDNAME and it deals X damage to you.
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBTap
SVar:DBTap:DB$ Tap | Defined$ Self | UnlessCost$ X | UnlessPayer$ You | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DBDmg
SVar:DBDmg:DB$ DealDamage | NumDmg$ X | Defined$ You
SVar:X:Count$CardCounters.P1P1
AI:RemoveDeck:All
DeckHas:Ability$Counters
Oracle:Primordial Ooze attacks each combat if able.\nAt the beginning of your upkeep, put a +1/+1 counter on Primordial Ooze. Then you may pay {X}, where X is the number of +1/+1 counters on it. If you don't, tap Primordial Ooze and it deals X damage to you.

View File

@@ -4,5 +4,6 @@ Types:Creature Elemental
PT:5/3
K:Defender
K:Flying
A:AB$ Pump | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME attacks each combat if able. | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
A:AB$ Animate | Cost$ 1 R | ValidTgts$ Creature | staticAbilities$ MustAttack | IsCurse$ True | SpellDescription$ Target creature attacks this turn if able.
SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able.
Oracle:Defender, flying\n{1}{R}: Target creature attacks this turn if able.

View File

@@ -2,8 +2,7 @@ Name:Ramroller
ManaCost:3
Types:Artifact Creature Juggernaut
PT:2/3
K:CARDNAME attacks each combat if able.
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +2/+0 as long as you control another artifact.
SVar:X:Count$Valid Artifact.YouCtrl+Other
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | IsPresent$ Artifact.YouCtrl+Other | Description$ CARDNAME gets +2/+0 as long as you control another artifact.
SVar:BuffedBy:Artifact
Oracle:Ramroller attacks each combat if able.\nRamroller gets +2/+0 as long as you control another artifact.

View File

@@ -5,7 +5,8 @@ PT:2/6
K:Deathtouch
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigChoose | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, choose an opponent at random. CARDNAME attacks that player this combat if able.
SVar:TrigChoose:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | Random$ True | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Defined$ Self | KW$ HIDDEN CARDNAME attacks specific player each combat if able:ChosenPlayer | Duration$ UntilEndOfCombat
SVar:DBPump:DB$ Animate | Defined$ Self | staticAbilities$ AttackChosen | Duration$ UntilEndOfCombat
SVar:AttackChosen:Mode$ MustAttack | ValidCreature$ Card.Self | MustAttack$ ChosenPlayer
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigLoseLifeOpp | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player loses half their life, rounded down.
SVar:TrigLoseLifeOpp:DB$ LoseLife | Defined$ TriggeredTarget | LifeAmount$ RavingXOpp
SVar:RavingXOpp:TriggeredTarget$LifeTotal/HalfDown

View File

@@ -3,5 +3,5 @@ ManaCost:2 R
Types:Creature Ogre Warrior
PT:3/1
K:Haste
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Haste (This creature can attack and {T} as soon as it comes under your control.)\nReckless Brute attacks each combat if able.

View File

@@ -2,8 +2,7 @@ Name:Reckless Cohort
ManaCost:1 R
Types:Creature Human Warrior Ally
PT:2/2
S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ CARDNAME attacks each combat if able. | CheckSVar$ X | SVarCompare$ EQ0 | Description$ CARDNAME attacks each combat if able unless you control another Ally.
SVar:X:Count$Valid Ally.Other+YouCtrl
S:Mode$ MustAttack | ValidCreature$ Card.Self | IsPresent$ Valid Ally.Other+YouCtrl | PresentCompare$ EQ0 | Description$ CARDNAME attacks each combat if able unless you control another Ally.
SVar:BuffedBy:Ally
DeckHints:Type$Ally
Oracle:Reckless Cohort attacks each combat if able unless you control another Ally.

View File

@@ -3,7 +3,7 @@ ManaCost:R W
Types:Creature Dinosaur
PT:3/3
K:Vigilance
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
K:CARDNAME blocks each combat if able.
//According to Release Notes, "attacks or blocks each combat if able" is equivalent to these two together -- if Relentless Raptor attacks and then opponent takes control of it, it still has to block.
#According to Release Notes, "attacks or blocks each combat if able" is equivalent to these two together -- if Relentless Raptor attacks and then opponent takes control of it, it still has to block.
Oracle:Vigilance\nRelentless Raptor attacks or blocks each combat if able.

View File

@@ -3,5 +3,5 @@ ManaCost:1 R
Types:Creature Goblin Berserker
PT:2/1
K:First Strike
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:First strike\nRiot Piker attacks each combat if able.

View File

@@ -4,8 +4,8 @@ Types:Legendary Planeswalker Rowan
Loyalty:4
Text:CARDNAME can be your commander.
K:Partner:Will Kenrith:Will
A:AB$ Effect | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | Name$ Rowan Kenrith Taunt Effect | ValidTgts$ Player | TgtPrompt$ Select target player | StaticAbilities$ MustAttack | RememberObjects$ Targeted | IsCurse$ True | Triggers$ RemoveEffect | Duration$ Permanent | SubAbility$ DBCleanup | SpellDescription$ During target player's next turn, each creature that player controls attacks if able.
SVar:MustAttack:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.RememberedPlayerCtrl | AddHiddenKeyword$ CARDNAME attacks each combat if able. | Description$ Creatures target opponent controls attack this turn if able.
A:AB$ Effect | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | Name$ Rowan Kenrith Taunt Effect | ValidTgts$ Player | StaticAbilities$ MustAttack | RememberObjects$ Targeted | IsCurse$ True | Triggers$ RemoveEffect | Duration$ Permanent | SubAbility$ DBCleanup | SpellDescription$ During target player's next turn, each creature that player controls attacks if able.
SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature.RememberedPlayerCtrl | Description$ Creatures target opponent controls attack this turn if able.
SVar:RemoveEffect:Mode$ Phase | Phase$ Cleanup | ValidPlayer$ Player.IsRemembered | TriggerZones$ Command | Static$ True | Execute$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -2,5 +2,5 @@ Name:Rubblebelt Recluse
ManaCost:4 R
Types:Creature Ogre Berserker
PT:6/5
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
Oracle:Rubblebelt Recluse attacks each combat if able.

View File

@@ -4,5 +4,6 @@ Types:Legendary Creature Giant Warrior
PT:7/7
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigChoose | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, choose an opponent at random. CARDNAME attacks that player this combat if able.
SVar:TrigChoose:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | Random$ True | SubAbility$ DBPump
SVar:DBPump:DB$ Pump | Defined$ Self | KW$ HIDDEN CARDNAME attacks specific player each combat if able:ChosenPlayer | Duration$ UntilEndOfCombat
SVar:DBPump:DB$ Animate | Defined$ Self | staticAbilities$ AttackChosen | Duration$ UntilEndOfCombat
SVar:AttackChosen:Mode$ MustAttack | ValidCreature$ Card.Self | MustAttack$ ChosenPlayer | Secondary$ True
Oracle:At the beginning of combat on your turn, choose an opponent at random. Ruhan of the Fomori attacks that player this combat if able.

View File

@@ -4,7 +4,7 @@ Types:Legendary Creature Ogre Warrior
PT:6/6
K:Vigilance
K:Reach
K:CARDNAME attacks each combat if able.
S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able.
T:Mode$ SpellCast | TriggerZones$ Battlefield | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ Player | Execute$ TrigDmg | TriggerDescription$ Whenever a player casts a noncreature spell, CARDNAME deals 6 damage to that player.
SVar:TrigDmg:DB$ DealDamage | Defined$ TriggeredActivator | NumDmg$ 6
AI:RemoveDeck:All

Some files were not shown because too many files have changed in this diff Show More