mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Merge remote-tracking branch 'origin/CrypticSpire' into CrypticSpire
This commit is contained in:
@@ -18,7 +18,6 @@ import java.io.File;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@@ -777,8 +776,6 @@ public class StaticData {
|
|||||||
if (CardEdition.Type.FUNNY.equals(e.getType()))
|
if (CardEdition.Type.FUNNY.equals(e.getType()))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
AtomicInteger artIndex = new AtomicInteger(1);
|
|
||||||
|
|
||||||
Map<String, Pair<Boolean, Integer>> cardCount = new HashMap<>();
|
Map<String, Pair<Boolean, Integer>> cardCount = new HashMap<>();
|
||||||
List<CompletableFuture<Integer>> futures = new ArrayList<>();
|
List<CompletableFuture<Integer>> futures = new ArrayList<>();
|
||||||
for (CardEdition.CardInSet c : e.getAllCardsInSet()) {
|
for (CardEdition.CardInSet c : e.getAllCardsInSet()) {
|
||||||
@@ -839,35 +836,32 @@ public class StaticData {
|
|||||||
return 0;
|
return 0;
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Audit token images here...
|
|
||||||
for(Map.Entry<String, Integer> tokenEntry : e.getTokens().entrySet()) {
|
|
||||||
futures.add(CompletableFuture.supplyAsync(()-> {
|
|
||||||
String name = tokenEntry.getKey();
|
|
||||||
artIndex.set(tokenEntry.getValue());
|
|
||||||
try {
|
|
||||||
PaperToken token = getAllTokens().getToken(name, e.getCode());
|
|
||||||
if (token == null) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i = 0; i < artIndex.get(); i++) {
|
|
||||||
String imgKey = token.getImageKey(i);
|
|
||||||
File file = ImageKeys.getImageFile(imgKey);
|
|
||||||
if (file == null) {
|
|
||||||
EDITION_Q.add(e.getCode() + "_" + e.getName());
|
|
||||||
TOKEN_Q.add(e.getCode() + "_" + token.getImageFilename(i + 1) + "\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(Exception ex) {
|
|
||||||
System.out.println("No Token found: " + name + " in " + e.getName());
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
CompletableFuture<?>[] futuresArray = futures.toArray(new CompletableFuture<?>[0]);
|
CompletableFuture<?>[] futuresArray = futures.toArray(new CompletableFuture<?>[0]);
|
||||||
CompletableFuture.allOf(futuresArray).join();
|
CompletableFuture.allOf(futuresArray).join();
|
||||||
futures.clear();
|
futures.clear();
|
||||||
|
|
||||||
|
// TODO: Audit token images here...
|
||||||
|
for(Map.Entry<String, Integer> tokenEntry : e.getTokens().entrySet()) {
|
||||||
|
final String name = tokenEntry.getKey();
|
||||||
|
final int artIndex = tokenEntry.getValue();
|
||||||
|
try {
|
||||||
|
PaperToken token = getAllTokens().getToken(name, e.getCode());
|
||||||
|
if (token == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < artIndex; i++) {
|
||||||
|
String imgKey = token.getImageKey(i);
|
||||||
|
File file = ImageKeys.getImageFile(imgKey);
|
||||||
|
if (file == null) {
|
||||||
|
EDITION_Q.add(e.getCode() + "_" + e.getName());
|
||||||
|
TOKEN_Q.add(e.getCode() + "_" + token.getImageFilename(i + 1) + "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch(Exception ex) {
|
||||||
|
System.out.println("No Token found: " + name + " in " + e.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// stream().toList() causes crash on Android, use Collectors.toList()
|
// stream().toList() causes crash on Android, use Collectors.toList()
|
||||||
List<String> NIF = new ArrayList<>(NIF_Q).stream().sorted().collect(Collectors.toList());
|
List<String> NIF = new ArrayList<>(NIF_Q).stream().sorted().collect(Collectors.toList());
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
package com.badlogic.gdx.backends.android.keyboardheight;
|
package com.badlogic.gdx.backends.android.keyboardheight;
|
||||||
|
|
||||||
import android.annotation.RequiresApi;
|
import android.annotation.TargetApi;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
@@ -12,7 +12,7 @@ import android.view.WindowInsets;
|
|||||||
import android.graphics.Insets;
|
import android.graphics.Insets;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@RequiresApi(api = VERSION_CODES.R)
|
@TargetApi(VERSION_CODES.R)
|
||||||
public class AndroidRKeyboardHeightProvider implements KeyboardHeightProvider {
|
public class AndroidRKeyboardHeightProvider implements KeyboardHeightProvider {
|
||||||
|
|
||||||
private final View view;
|
private final View view;
|
||||||
@@ -82,4 +82,4 @@ public class AndroidRKeyboardHeightProvider implements KeyboardHeightProvider {
|
|||||||
public int getKeyboardPortraitHeight () {
|
public int getKeyboardPortraitHeight () {
|
||||||
return keyboardPortraitHeight;
|
return keyboardPortraitHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
Name:Apothecary Stomper
|
Name:Apothecary Stomper
|
||||||
ManaCost:4 G G
|
ManaCost:4 G G
|
||||||
Types:Creature Elephant
|
Types:Creature Elephant
|
||||||
PT:4/4
|
PT:4/4
|
||||||
K:Vigilance
|
K:Vigilance
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ When this creature enters, ABILITY
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ When this creature enters, ABILITY
|
||||||
SVar:TrigCharm:DB$ Charm | Choices$ DBPutCounter,DBGainLife
|
SVar:TrigCharm:DB$ Charm | Choices$ DBPutCounter,DBGainLife
|
||||||
SVar:DBPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | Tgtprompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ 2 | SpellDescription$ Put two +1/+1 counters on target creature you control.
|
SVar:DBPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | Tgtprompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ 2 | SpellDescription$ Put two +1/+1 counters on target creature you control.
|
||||||
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 4 | SpellDescription$ You gain 4 life.
|
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 4 | SpellDescription$ You gain 4 life.
|
||||||
DeckHas:Ability$LifeGain
|
DeckHas:Ability$LifeGain
|
||||||
Oracle:Vigilance (Attacking doesn't cause this creature to tap.)\nWhen this creature enters, choose one —\n• Put two +1/+1 counters on target creature you control.\n• You gain 4 life.
|
Oracle:Vigilance (Attacking doesn't cause this creature to tap.)\nWhen this creature enters, choose one —\n• Put two +1/+1 counters on target creature you control.\n• You gain 4 life.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
Name:Fountainport Charmer
|
Name:Fountainport Charmer
|
||||||
ManaCost:2 G
|
ManaCost:1 G
|
||||||
Types:Creature Frog Bard
|
Types:Creature Frog Bard
|
||||||
PT:3/3
|
PT:2/3
|
||||||
K:Offspring:1
|
K:Offspring:1
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigAnimate | TriggerDescription$ When CARDNAME enters, creature cards in your hand perpetually gain "This spell costs {1} less to cast."
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigAnimate | TriggerDescription$ When CARDNAME enters, creature cards in your hand perpetually gain "This spell costs {1} less to cast."
|
||||||
SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Creature.YouOwn | Zone$ Hand | staticAbilities$ ReduceCost | Duration$ Perpetual
|
SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Creature.YouOwn | Zone$ Hand | staticAbilities$ ReduceCost | Duration$ Perpetual
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ PT:6/4
|
|||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigHeist | TriggerDescription$ When NICKNAME enters and at the beginning of your upkeep, heist target opponent's library.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigHeist | TriggerDescription$ When NICKNAME enters and at the beginning of your upkeep, heist target opponent's library.
|
||||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigHeist | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ When NICKNAME enters and at the beginning of your upkeep, heist target opponent's library.
|
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigHeist | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ When NICKNAME enters and at the beginning of your upkeep, heist target opponent's library.
|
||||||
SVar:TrigHeist:DB$ Heist | ValidTgts$ Opponent
|
SVar:TrigHeist:DB$ Heist | ValidTgts$ Opponent
|
||||||
S:Mode$ Continuous | MayPlay$ True | MayPlayAltManaCost$ 0 | MayPlayLimit$ 1 | MayPlayDontGrantZonePermissions$ True | Affected$ Card.YouDontOwn | AffectedZone$ Hand,Graveyard,Library,Exile,Command | Description$ Once each turn, you may pay {0} rather than pay the mana cost for a spell you cast that you don't own.
|
S:Mode$ Continuous | MayPlay$ True | MayPlayAltManaCost$ 0 | MayPlayLimit$ 1 | MayPlayDontGrantZonePermissions$ True | Affected$ Card.YouDontOwn+cmcLE3 | AffectedZone$ Hand,Graveyard,Library,Exile,Command | Description$ Once each turn, you may pay {0} rather than pay the mana cost for a spell you cast that you don't own with mana value 3 or less.
|
||||||
Oracle:When Grenzo enters and at the beginning of your upkeep, heist target opponent's library.\nOnce each turn, you may pay {0} rather than pay the mana cost for a spell you cast that you don't own.
|
Oracle:When Grenzo enters and at the beginning of your upkeep, heist target opponent's library.\nOnce each turn, you may pay {0} rather than pay the mana cost for a spell you cast that you don't own with mana value 3 or less.
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
Name:Hymn to the Ages
|
Name:Hymn to the Ages
|
||||||
ManaCost:4 U
|
ManaCost:1 U
|
||||||
Types:Instant Chorus
|
Types:Instant Chorus
|
||||||
K:Starting intensity:3
|
K:Starting intensity:1
|
||||||
A:SP$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBIntensify | SpellDescription$ Draw a number of cards equal to this spell's intensity.
|
A:SP$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBIntensify | SpellDescription$ Draw a number of cards equal to this spell's intensity.
|
||||||
SVar:DBIntensify:DB$ Intensify | AllDefined$ Card.YouOwn+Chorus | DefinedDesc$ all Chorus cards you own | SpellDescription$ All Chorus cards you own intensify by 1.
|
SVar:DBIntensify:DB$ Intensify | AllDefined$ Card.YouOwn+Chorus | DefinedDesc$ all Chorus cards you own | SpellDescription$ All Chorus cards you own intensify by 1.
|
||||||
SVar:X:Count$Intensity
|
SVar:X:Count$Intensity
|
||||||
DeckHints:Type$Chorus
|
DeckHints:Type$Chorus
|
||||||
Oracle:Starting intensity 3\nDraw a number of cards equal to this spell's intensity.\nAll Chorus cards you own intensify by 1.
|
Oracle:Starting intensity 1\nDraw a number of cards equal to this spell's intensity.\nAll Chorus cards you own intensify by 1.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
Name:Lunar Insight
|
Name:Lunar Insight
|
||||||
ManaCost:4 U U
|
ManaCost:2 U
|
||||||
Types:Instant
|
Types:Instant
|
||||||
A:SP$ Draw | NumCards$ X | SpellDescription$ Draw a card for each different mana value among nonland permanents you control.
|
A:SP$ Draw | NumCards$ X | SpellDescription$ Draw a card for each different mana value among nonland permanents you control.
|
||||||
SVar:X:Count$Valid Card.YouCtrl+nonLand$DifferentCMC
|
SVar:X:Count$Valid Card.YouCtrl+nonLand$DifferentCMC
|
||||||
Oracle:Draw a card for each different mana value among nonland permanents you control.
|
Oracle:Draw a card for each different mana value among nonland permanents you control.
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ Name:Nashi, Illusion Gadgeteer
|
|||||||
ManaCost:1 B G U
|
ManaCost:1 B G U
|
||||||
Types:Legendary Creature Rat Rogue
|
Types:Legendary Creature Rat Rogue
|
||||||
PT:4/4
|
PT:4/4
|
||||||
|
K:Flash
|
||||||
K:Menace
|
K:Menace
|
||||||
K:Ward:2
|
K:Ward:2
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When NICKNAME enters, secretly choose a card in your graveyard and conjure a duplicate of it into your hand. If the duplicate isn't a land card, it perpetually gains flash.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When NICKNAME enters, secretly choose a card in your graveyard and conjure a duplicate of it into your hand. If the duplicate isn't a land card, it perpetually gains flash.
|
||||||
@@ -9,4 +10,4 @@ SVar:TrigChoose:DB$ ChooseCard | ChoiceZone$ Graveyard | Choices$ Card.YouOwn |
|
|||||||
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ ChosenCard | Zone$ Hand | RememberMade$ True | SubAbility$ DBPump
|
SVar:DBConjure:DB$ MakeCard | Conjure$ True | DefinedName$ ChosenCard | Zone$ Hand | RememberMade$ True | SubAbility$ DBPump
|
||||||
SVar:DBPump:DB$ Pump | Defined$ Remembered | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | PumpZone$ Hand | KW$ Flash | Duration$ Perpetual | SubAbility$ DBCleanup
|
SVar:DBPump:DB$ Pump | Defined$ Remembered | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | PumpZone$ Hand | KW$ Flash | Duration$ Perpetual | SubAbility$ DBCleanup
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True
|
||||||
Oracle:Menace, Ward {2}\nWhen Nashi enters, secretly choose a card in your graveyard and conjure a duplicate of it into your hand. If the duplicate isn't a land card, it perpetually gains flash.
|
Oracle:Flash\nMenace, Ward {2}\nWhen Nashi enters, secretly choose a card in your graveyard and conjure a duplicate of it into your hand. If the duplicate isn't a land card, it perpetually gains flash.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Name:Nazar, the Velvet Fang
|
Name:Nazar, the Velvet Fang
|
||||||
ManaCost:2 B
|
ManaCost:3 B
|
||||||
Types:Legendary Creature Vampire Warlock
|
Types:Legendary Creature Vampire Warlock
|
||||||
PT:3/3
|
PT:3/3
|
||||||
K:Menace
|
K:Menace
|
||||||
@@ -11,4 +11,4 @@ SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 3
|
|||||||
SVar:HasAttackEffect:TRUE
|
SVar:HasAttackEffect:TRUE
|
||||||
DeckHas:Ability$Counters
|
DeckHas:Ability$Counters
|
||||||
DeckHints:Ability$LifeGain
|
DeckHints:Ability$LifeGain
|
||||||
Oracle:Menace (This creature can't be blocked except by two or more creatures.)\nWhenever you gain life, put a feeding counter on Nazar, the Velvet Fang.\nWhenever Nazar attacks, you may remove three feeding counters from it. If you do, you draw three cards and you lose 3 life.
|
Oracle:Menace (This creature can't be blocked except by two or more creatures.)\nWhenever you gain life, put a feeding counter on Nazar, the Velvet Fang.\nWhenever Nazar attacks, you may remove three feeding counters from it. If you do, you draw three cards and you lose 3 life.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Name:Ribald Shanty
|
Name:Ribald Shanty
|
||||||
ManaCost:1 R
|
ManaCost:R
|
||||||
Types:Instant Chorus
|
Types:Instant Chorus
|
||||||
K:Starting intensity:2
|
K:Starting intensity:2
|
||||||
A:SP$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X | SubAbility$ DBIntensify | SpellDescription$ This spell deals damage equal to its intensity to target creature or planeswalker.
|
A:SP$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X | SubAbility$ DBIntensify | SpellDescription$ This spell deals damage equal to its intensity to target creature or planeswalker.
|
||||||
|
|||||||
11
forge-gui/res/cardsfolder/rebalanced/a-heartfire_hero.txt
Normal file
11
forge-gui/res/cardsfolder/rebalanced/a-heartfire_hero.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
Name:A-Heartfire Hero
|
||||||
|
ManaCost:R
|
||||||
|
Types:Creature Mouse Soldier
|
||||||
|
PT:0/1
|
||||||
|
T:Mode$ BecomesTarget | ValidTarget$ Card.Self | ValidSource$ SpellAbility.YouCtrl | TriggerZones$ Battlefield | Valiant$ True | Execute$ TrigCounter | TriggerDescription$ Valiant — Whenever CARDNAME becomes the target of a spell or ability you control for the first time each turn, put a +1/+1 counter on it.
|
||||||
|
SVar:TrigCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1
|
||||||
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDamageDies | TriggerDescription$ When CARDNAME dies, it deals damage equal to its power to each opponent.
|
||||||
|
SVar:TrigDamageDies:DB$ DealDamage | Defined$ Opponent | NumDmg$ X
|
||||||
|
SVar:X:TriggeredCard$CardPower
|
||||||
|
DeckHas:Ability$Counters
|
||||||
|
Oracle:Valiant — Whenever Heartfire Hero becomes the target of a spell or ability you control for the first time each turn, put a +1/+1 counter on it.\nWhen Heartfire Hero dies, it deals damage equal to its power to each opponent.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
Name:A-Leyline of Resonance
|
||||||
|
ManaCost:2 R R
|
||||||
|
Types:Enchantment
|
||||||
|
K:MayEffectFromOpeningHand:FromHand
|
||||||
|
SVar:FromHand:DB$ ChangeZone | Defined$ Self | Origin$ Hand | Destination$ Battlefield | SpellDescription$ If CARDNAME is in your opening hand, you may begin the game with it on the battlefield.
|
||||||
|
T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | Execute$ TrigCopy | ValidActivatingPlayer$ You | IsSingleTarget$ True | TriggerZones$ Battlefield | TargetsValid$ Creature.YouCtrl+inZoneBattlefield | TriggerDescription$ Whenever you cast an instant or sorcery spell that targets only a single creature you control, you may pay {1}. If you do, copy that spell. You may choose new targets for the copy.
|
||||||
|
SVar:TrigCopy:AB$ CopySpellAbility | Cost$ 1 | Defined$ TriggeredSpellAbility | MayChooseTarget$ True | Controller$ You
|
||||||
|
Oracle:If Leyline of Resonance is in your opening hand, you may begin the game with it on the battlefield.\nWhenever you cast an instant or sorcery spell that targets only a single creature you control, you may pay {1}. If you do, copy that spell. You may choose new targets for the copy.
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
Name:A-Nadu, Winged Wisdom
|
||||||
|
ManaCost:1 G U
|
||||||
|
Types:Legendary Creature Bird Wizard
|
||||||
|
PT:3/4
|
||||||
|
K:Flying
|
||||||
|
T:Mode$ BecomesTarget | ValidSource$ SpellAbility | ValidTarget$ Creature.YouCtrl+inZoneBattlefield | TriggerZones$ Battlefield | Execute$ NaduDig | ActivationLimit$ 2 | TriggerDescription$ Whenever a creature you control becomes the target of a spell or ability, reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put it into your hand. This ability triggers only twice each turn.
|
||||||
|
SVar:NaduDig:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Land | DestinationZone$ Battlefield | DestinationZone2$ Hand
|
||||||
|
Oracle:Flying\nWhenever a creature you control becomes the target of a spell or ability, reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put it into your hand. This ability triggers only twice each turn.
|
||||||
@@ -4,9 +4,8 @@ Types:Creature Dinosaur
|
|||||||
PT:4/4
|
PT:4/4
|
||||||
T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Enrage — Whenever CARDNAME is dealt damage, other Dinosaurs you control and Dinosaur cards in your hand and library perpetually get +1/+1.
|
T:Mode$ DamageDoneOnce | Execute$ TrigPump | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Enrage — Whenever CARDNAME is dealt damage, other Dinosaurs you control and Dinosaur cards in your hand and library perpetually get +1/+1.
|
||||||
SVar:TrigPump:DB$ PumpAll | ValidCards$ Dinosaur.YouCtrl+Other | PumpZone$ Battlefield,Hand,Library | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual
|
SVar:TrigPump:DB$ PumpAll | ValidCards$ Dinosaur.YouCtrl+Other | PumpZone$ Battlefield,Hand,Library | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual
|
||||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigTrigger | TriggerDescription$ Whenever CARDNAME attacks, you may pay {3}. When you do, CARDNAME deals 1 damage to each creature and each planeswalker.
|
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME attacks, CARDNAME deals 1 damage to each creature and each planeswalker.
|
||||||
SVar:TrigTrigger:AB$ ImmediateTrigger | Cost$ 3 | Execute$ TrigDamage | TriggerDescription$ When you do, CARDNAME deals 1 damage to each creature and each planeswalker.
|
|
||||||
SVar:TrigDamage:DB$ DamageAll | ValidCards$ Creature,Planeswalker | NumDmg$ 1
|
SVar:TrigDamage:DB$ DamageAll | ValidCards$ Creature,Planeswalker | NumDmg$ 1
|
||||||
SVar:HasAttackEffect:TRUE
|
SVar:HasAttackEffect:TRUE
|
||||||
DeckNeeds:Type$Dinosaur
|
DeckNeeds:Type$Dinosaur
|
||||||
Oracle:Enrage — Whenever Stalwart Speartail is dealt damage, other Dinosaurs you control and Dinosaur cards in your hand and library perpetually get +1/+1.\nWhenever Stalwart Speartail attacks, you may pay {3}. When you do, Stalwart Speartail deals 1 damage to each creature and each planeswalker.
|
Oracle:Enrage — Whenever Stalwart Speartail is dealt damage, other Dinosaurs you control and Dinosaur cards in your hand and library perpetually get +1/+1.\nWhenever Stalwart Speartail attacks, Stalwart Speartail deals 1 damage to each creature and each planeswalker.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Name:Talion's Throneguard
|
Name:Talion's Throneguard
|
||||||
ManaCost:2 U U
|
ManaCost:2 U U
|
||||||
Types:Creature Faerie Wizard
|
Types:Creature Faerie Wizard
|
||||||
PT:2/1
|
PT:4/2
|
||||||
K:Flash
|
K:Flash
|
||||||
K:Bargain
|
K:Bargain
|
||||||
K:Flying
|
K:Flying
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
Name:Tome of Gadwick
|
Name:Tome of Gadwick
|
||||||
ManaCost:U
|
ManaCost:U
|
||||||
Types:Artifact Equipment
|
Types:Artifact Equipment
|
||||||
T:Mode$ DamageDone | ValidSource$ Creature.EquippedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigConjure | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature deals combat damage to a player, conjure a random card from CARDNAME's spellbook into your hand.
|
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddKeyword$ Ward:1 | Description$ Equipped creature gets +1/+0 and has ward {1}.
|
||||||
|
T:Mode$ Attacks | ValidCard$ Creature.EquippedBy | Execute$ TrigConjure | TriggerDescription$ Whenever equipped creature attacks, conjure a random card from CARDNAME's spellbook into your hand.
|
||||||
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | AtRandom$ True | Spellbook$ Brainstorm,Consider,Obsessive Search,Opt,Peek,Piece It Together,Ponder,Preordain,Quicken,Serum Visions,Sleight of Hand,Thought Scour | Zone$ Hand
|
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | AtRandom$ True | Spellbook$ Brainstorm,Consider,Obsessive Search,Opt,Peek,Piece It Together,Ponder,Preordain,Quicken,Serum Visions,Sleight of Hand,Thought Scour | Zone$ Hand
|
||||||
K:Equip:1
|
K:Equip:1
|
||||||
DeckHas:Type$Instant|Sorcery & Ability$Graveyard
|
DeckHas:Type$Instant|Sorcery & Ability$Graveyard
|
||||||
Oracle:Whenever equipped creature deals combat damage to a player, conjure a random card from Tome of Gadwick's spellbook into your hand.\nEquip {1}
|
Oracle:Equipped creature gets +1/+0 and has ward {1}.\nWhenever equipped creature attacks, conjure a random card from Tome of Gadwick's spellbook into your hand.\nEquip {1}
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ ManaCost:2 W
|
|||||||
Types:Creature Human Soldier
|
Types:Creature Human Soldier
|
||||||
PT:4/4
|
PT:4/4
|
||||||
A:SP$ PermanentCreature | Cost$ 2 W tapXType<2/Artifact;Creature;Land/artifacts, creatures, and/or lands> | SpellDescription$ As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control.
|
A:SP$ PermanentCreature | Cost$ 2 W tapXType<2/Artifact;Creature;Land/artifacts, creatures, and/or lands> | SpellDescription$ As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control.
|
||||||
|
SVar:AIPaymentPreference:DontPayTapCostWithManaSources
|
||||||
DeckHints:Type$Artifact
|
DeckHints:Type$Artifact
|
||||||
Oracle:As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control.
|
Oracle:As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control.
|
||||||
|
|||||||
@@ -448,6 +448,9 @@ Replace=.042F fromSheet("BLB showcase")
|
|||||||
[bundle]
|
[bundle]
|
||||||
386 R Thundertrap Trainer @Jesper Ejsing
|
386 R Thundertrap Trainer @Jesper Ejsing
|
||||||
|
|
||||||
|
[rebalanced]
|
||||||
|
A138 U A-Heartfire Hero @Jakub Kasper
|
||||||
|
|
||||||
[special guests]
|
[special guests]
|
||||||
1 Sword of Fire and Ice|SPG
|
1 Sword of Fire and Ice|SPG
|
||||||
1 Secluded Courtyard|SPG
|
1 Secluded Courtyard|SPG
|
||||||
|
|||||||
@@ -474,6 +474,9 @@ Replace=.078F RareMythic:fromSheet("DSK cards")
|
|||||||
[buy a box]
|
[buy a box]
|
||||||
417 R Twitching Doll @John Tedrick
|
417 R Twitching Doll @John Tedrick
|
||||||
|
|
||||||
|
[rebalanced]
|
||||||
|
A143 R A-Leyline of Resonance @Sergey Glushakov
|
||||||
|
|
||||||
[special guests]
|
[special guests]
|
||||||
1 Collected Company|SPG
|
1 Collected Company|SPG
|
||||||
1 Damnation|SPG
|
1 Damnation|SPG
|
||||||
@@ -486,7 +489,6 @@ Replace=.078F RareMythic:fromSheet("DSK cards")
|
|||||||
1 Soul Warden|SPG
|
1 Soul Warden|SPG
|
||||||
1 Unholy Heat|SPG
|
1 Unholy Heat|SPG
|
||||||
|
|
||||||
|
|
||||||
[tokens]
|
[tokens]
|
||||||
b_2_2_e_horror
|
b_2_2_e_horror
|
||||||
b_6_6_demon_flying
|
b_6_6_demon_flying
|
||||||
|
|||||||
@@ -590,6 +590,7 @@ Replace=.042F fromSheet("MH3 alternate frame")
|
|||||||
A29 R A-Guide of Souls @Ryan Valle
|
A29 R A-Guide of Souls @Ryan Valle
|
||||||
A38 M A-Ocelot Pride @Chris Seaman
|
A38 M A-Ocelot Pride @Chris Seaman
|
||||||
A122 C A-Galvanic Discharge @Zoltan Boros
|
A122 C A-Galvanic Discharge @Zoltan Boros
|
||||||
|
A193 R A-Nadu, Winged Wisdom @Daren Bader
|
||||||
|
|
||||||
[new to modern]
|
[new to modern]
|
||||||
1 Angel of the Ruins|MH3
|
1 Angel of the Ruins|MH3
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ Code=S00
|
|||||||
Date=2000-04-01
|
Date=2000-04-01
|
||||||
Name=Starter 2000
|
Name=Starter 2000
|
||||||
Border=White
|
Border=White
|
||||||
Code2=S2K
|
|
||||||
Type=Starter
|
Type=Starter
|
||||||
Foil=OldStyle
|
Foil=OldStyle
|
||||||
FoilAlwaysInCommonSlot=False
|
FoilAlwaysInCommonSlot=False
|
||||||
|
|||||||
Reference in New Issue
Block a user