98 Commits

Author SHA1 Message Date
Eduardo MG
f9d5620d38 Merge pull request #1143 from BobCyril/master
Updates to decks 51-70
2026-01-26 08:35:05 -06:00
BobCyril
53641fc36c Update deck70.txt
Reformatted; replaced cards AI plays poorly; added hint to support strategy
2026-01-18 21:22:44 +00:00
BobCyril
9bbbb9f7d3 Update deck69.txt
Reformatted; replaced one card AI plays poorly
2026-01-18 21:21:19 +00:00
BobCyril
efbdc741f5 Update deck68.txt
New flavor text
2026-01-18 21:20:12 +00:00
BobCyril
923affb250 Update deck67.txt
Previous deck weakened by splashing R to little effect, so rebuilt as mono-G but on same theme
2026-01-18 21:18:44 +00:00
BobCyril
0c6262f9e2 Update deck66.txt
Previous deck had no wincon, so rebuilt with a better strategy but the same theme; added hints to optimise
2026-01-18 21:16:57 +00:00
BobCyril
c771d84b87 Update deck65.txt
Reformatted; new flavor text
2026-01-18 21:14:52 +00:00
BobCyril
526797d9fe Update deck64.txt
Reformatted; on-theme swaps to remove vanilla cards and reduce deck average CMC
2026-01-18 21:13:42 +00:00
BobCyril
b64746db3b Update deck63.txt
Reformatted; minor swaps to prevent AI damaging itself
2026-01-18 21:12:08 +00:00
BobCyril
c8210b060c Update deck62.txt
Reformatted; minor swaps to improve strategy; reduced lands to prevent mana flood
2026-01-18 21:10:34 +00:00
BobCyril
e61e39ae5a Update deck61.txt
Reformatted; replaced cards AI uses incorrectly
2026-01-18 21:08:49 +00:00
BobCyril
25cbe417be Update deck60.txt
Reformatted; renamed; strengthened strategy with new cards; added hint to control board wipes
2026-01-18 21:07:11 +00:00
BobCyril
2af5a68829 Update deck59.txt
Reformatted; added hints to control board wipes
2026-01-18 21:04:42 +00:00
BobCyril
1bca4097b6 Update deck58.txt
Reformatted; new flavor text
2026-01-18 21:03:27 +00:00
BobCyril
920b475f85 Update deck57.txt
Reformatted; replaced cards AI does not use; added hints to control use of X-cost spells
2026-01-18 21:01:56 +00:00
BobCyril
c6f9a6ec47 Update deck56.txt
New flavor text
2026-01-18 21:00:13 +00:00
BobCyril
dcfce60d16 Update deck55.txt
New flavor text
2026-01-18 20:58:45 +00:00
BobCyril
b6cc8a5d1d Update deck54.txt
Reformatted; renamed; new combo and supporting hints added; hints to prevent AI damaging wasting cards
2026-01-18 20:56:46 +00:00
BobCyril
6705a579d5 Update deck53.txt
Reformatted; minor swaps to reduce deck average CMC
2026-01-18 20:53:46 +00:00
BobCyril
44ece02776 Update deck52.txt
Reformatted; added cast prioity and board wipe hints; added graveyard recursion effects
2026-01-18 20:52:04 +00:00
BobCyril
06cf752317 Update deck51.txt
Reformatted; new cards to fit deck theme; cast priority hint added
2026-01-18 20:48:48 +00:00
Eduardo MG
299883cc2c Bug Fixes in primitives, <loose> is wrong, correct use is <lose>
Sunbillow Verge
Murasa Behemoth
Dreams of the dead
Kenrith, the Returned King
Chart a Course
Explosion of Riches
Djeru and Hazoret
Vodalian Merchant
<loose> is wrong, correct is <lose>
Rampaging Baloths
Kraul Whipcracker
Gulf Squid
2026-01-15 07:34:59 -06:00
Eduardo MG
6e9c8e2cff Merge pull request #1123 from BobCyril/master
Updates to decks 41-50
2025-10-16 08:35:43 -06:00
BobCyril
66050dfda0 Update deck50.txt
Reformatted; renamed; added hints to control board wipes and enchantments
2025-08-30 18:27:16 +01:00
BobCyril
420c83c51e Update deck49.txt
Reformatted; added stronger on-theme cards
2025-08-30 18:24:58 +01:00
BobCyril
f4581b050e Update deck48.txt
Reformatted; swapped out off-theme cards for on-theme cards
2025-08-30 18:20:47 +01:00
BobCyril
6afc968e9e Update deck47.txt
Reformatted; added stronger on-theme cards
2025-08-30 18:18:54 +01:00
BobCyril
f68e04cc3e Update deck46.txt
New flavor text
2025-08-30 18:17:33 +01:00
BobCyril
1e45e3117b Update deck45.txt
Previous deck very weak; replaced with a new deck on the same theme
2025-08-30 18:16:09 +01:00
BobCyril
9149d81b35 Update deck44.txt
Previous deck too similar to deck no.43.  Replaced with a new deck with a new strategy, but retaining the same theme.
2025-08-30 18:14:26 +01:00
BobCyril
09baae5a83 Update deck43.txt
Reformatted; added tutor effects and related hints to improve deck speed; rebalanced mana base
2025-08-30 18:11:50 +01:00
BobCyril
28e3ebf8cd Update deck42.txt
Reformatted; added stronger on-theme cards; added hints to optimise attack phase
2025-08-30 18:09:53 +01:00
BobCyril
ae01e2d3fa Update deck41.txt
Reformatted; added stronger on-theme cards; added hint to optimise enchantments
2025-08-30 18:07:52 +01:00
Eduardo MG
481dcdd608 Merge pull request #1121 from BobCyril/master
Updates to decks 31-40
2025-08-03 15:07:41 -06:00
BobCyril
70ac62a115 Update deck40.txt
Reformatted; swapped out vanilla creatures and replaced with better on-theme options
2025-08-03 18:42:38 +01:00
BobCyril
e53d58581a Update deck39.txt
Reformatted; new flavor text; added hint to prevent AI wasting Ball Lightning
2025-08-03 18:40:18 +01:00
BobCyril
74867af693 Update deck38.txt
Reformatted; new flavor text; added hints to control board wipes
2025-08-03 18:38:24 +01:00
BobCyril
6079710051 Update deck37.txt
Minor change to flavor text
2025-08-03 18:36:48 +01:00
BobCyril
78855eac97 Update deck36.txt
Reformatted; minor changes to mana base to improve deck consistency
2025-08-03 18:35:16 +01:00
BobCyril
c3ff1ff750 Update deck35.txt
Reformatted; changed deck from 4 color to 3 color to improve consistency - previously deck splashed white for limited benefit
2025-08-03 18:33:37 +01:00
BobCyril
4e695cafcb Update deck34.txt
New flavor text
2025-08-03 18:31:07 +01:00
BobCyril
871a6f2279 Update deck33.txt
Reformatted; swapped out non-synergistic cards, and replaced them with on-theme cards
2025-08-03 18:29:49 +01:00
BobCyril
f4e143d0e6 Update deck32.txt
Reformatted; new flavor text
2025-08-03 18:27:34 +01:00
BobCyril
f77f87ef76 Update deck31.txt
Reformatted; renamed; added hints to control boad wipes
2025-08-03 18:26:03 +01:00
Eduardo MG
ac1b571c00 Merge pull request #1118 from BobCyril/master
Updates to decks 21-30
2025-06-30 16:20:22 -06:00
BobCyril
d609199b30 Update deck30.txt
Reformatted; added hints to prevent AI wasting strong cards
2025-06-29 09:06:11 +01:00
BobCyril
91931e0027 Update deck29.txt
Reformatted
2025-06-29 09:04:17 +01:00
BobCyril
ed2ec72ae9 Update deck28.txt
Increased land ratio to improve AI performance
2025-06-29 09:02:06 +01:00
BobCyril
5e995db3c8 Update deck27.txt
Increased land ratio to improve AI performance
2025-06-29 08:59:54 +01:00
BobCyril
9a88c63f95 Update deck26.txt
Added new flavor text
2025-06-29 08:58:20 +01:00
BobCyril
8c369f50f2 Update deck25.txt
New deck to replace previous one which was a poor opponent.  New deck retains the previous deck's theme/flavor
2025-06-29 08:56:28 +01:00
BobCyril
65baa13151 Update deck24.txt
Reformatted
2025-06-29 08:53:01 +01:00
BobCyril
3e92846045 Update deck23.txt
Reformatted; renamed; new cards added to improved AI decision making
2025-06-29 08:49:51 +01:00
BobCyril
267290c522 Update deck22.txt
Replaced previous Giants deck with more challenging one on the same theme
2025-06-29 08:46:29 +01:00
BobCyril
012a5f5e3d Update deck21.txt
Reformatted; swapped out one card to improved AI decisions; renamed to better reflect deck theme
2025-06-29 08:43:20 +01:00
Eduardo MG
a371cef279 Blood macros, more kindred changes
Created a macros for blood token, tribal to kindred changes, typo in background on various files,

Bug fixes:
Fiendslayer Paladin
Dire Fleet Poisoner
Shapers of Nature
Raptor Hatchling
Emiel the Blessed
Path of Discovery
Departed Deckhand
2025-05-26 18:46:55 -06:00
Eduardo MG
9c32793eec Merge pull request #1117 from BobCyril/master
Updates to decks 11-20
2025-05-26 14:33:13 -06:00
BobCyril
4eb4a11e77 Update deck20.txt
Deck reformatted; added hint to control behavior of one card
2025-05-25 16:42:04 +01:00
BobCyril
e007ac478e Update deck19.txt
Deck reformatted; added missing titular card to deck
2025-05-25 16:40:18 +01:00
BobCyril
437386a2ec Update deck18.txt
Deck reformatted; added new cards to improve AI performance
2025-05-25 16:38:18 +01:00
BobCyril
af0bb7cbfb Update deck17.txt
Deck reformatted; corrected card spelling errors
2025-05-25 16:36:46 +01:00
BobCyril
90e0895b82 Update deck16.txt
Added new flavor text
2025-05-25 16:34:13 +01:00
BobCyril
3e07cb2a19 Update deck15.txt
Deck reformatted; added a hint to improve AI decision making
2025-05-25 16:32:19 +01:00
BobCyril
959c6d8b39 Update deck14.txt
Deck reformatted; swapped in more efficient cards to improve AI performance
2025-05-25 16:30:08 +01:00
BobCyril
720f337546 Update deck13.txt
Deck reformatted
2025-05-25 16:27:13 +01:00
BobCyril
cd308fe5e9 Update deck12.txt
Deck reformatted
2025-05-25 16:24:53 +01:00
BobCyril
c7e7a54277 Update deck11.txt
Deck reformatted
2025-05-25 16:23:16 +01:00
Eduardo MG
4dfa95194e Everlasting Commander, AKR changes, bug fixes
Renamed Random Commander From File to Everlasting Commander,
Bug fixes:
Case of the Locked Hothouse
Khabal Ghoul
Humble the Brute
2025-05-08 12:08:13 -06:00
Eduardo MG
a1b9d5cb2e Merge pull request #1115 from patrickbabb/master
Various Android fixes
2025-05-06 18:38:21 -06:00
Patrick Babb
17f0f59f38 Update GameStateAwards.cpp
Added a "Back to Main Menu" button to the Trophy Room for touch devices.
2025-05-05 23:09:10 -05:00
Patrick Babb
c19410b4fb Update SDLActivity.java
Added a null check to fix the deck downloader menu option.
2025-05-05 00:10:53 -05:00
Patrick Babb
ccd421598e Update SDLActivity.java
Enabled immersive mode on Android devices during onCreate in the lifecycle.
2025-05-04 23:53:45 -05:00
Patrick Babb
e6a99ca9ac Update build.xml
Reverted the core file download link to the previous path format to allow Android to download from the correct URL.
2025-05-04 23:17:40 -05:00
Eduardo MG
e6243342e2 _cards.dat Updates 2025-05-04 17:31:25 -06:00
Eduardo MG
a9547e419d Exiledeath cards revision, version update
Exiledeath must come before damage or status reduction, also not necessary to specify ueot on instants and sorceries.
New Cards:
Marisi, Breaker of the Coil
Secret Plans
Updated version to 0.25.5
2025-05-04 16:34:56 -06:00
Eduardo MG
41f5aceac4 Tar Fiend rework. Sidisi, Regent of the Mire fix 2025-05-01 17:57:49 -06:00
Eduardo MG
a394397dc0 Update AIPlayerBaka.cpp
Remove the unused variable
2025-04-29 23:10:37 -06:00
Eduardo MG
f93bcb32ef Tarkir: Dragonstorm (TDM) update
Maccros for artifact tokens update
Added cards from TDM and TDC
Bug fixes on exert
Changelings have Every Creature Type but should esclude certain types present on creatures like Clue, Equipment, Food, and Treasure
Cards like Prized Unicorn with abilities=lure prevented the opponent from blocking even if Prized Unicorn was not attacking.
Fixed:
Lure stops from blocking even if the creature with lure is not attacking.
Exerted Creatures Can Be Untapped By Clicking On Them.
2025-04-29 22:05:54 -06:00
Eduardo MG
9cd1fa5757 Add Ugin's Fate (UGIN), Tarkir: Dragonstorm (TDM), and Tarkir: Dragonstorm Commander (TDC)
_cards.dat files for these sets.
2025-04-24 21:45:41 -06:00
Eduardo MG
9b2f59d64f AIPlayerBaka
Changing how the AI selects attackers, considering creatures with evasion
2025-04-24 14:13:25 -06:00
Eduardo MG
c109b2118a Update AIPlayerBaka.h 2025-04-23 19:40:48 -06:00
Eduardo MG
06bd11b0be Revert "Revert "Revert "Update AIPlayerBaka.cpp"""
This reverts commit d892703902.
2025-04-23 19:25:24 -06:00
Eduardo MG
d892703902 Revert "Revert "Update AIPlayerBaka.cpp""
This reverts commit c0e2a1fe40.
2025-04-23 19:23:50 -06:00
Eduardo MG
c0e2a1fe40 Revert "Update AIPlayerBaka.cpp"
This reverts commit 3555ddba33.
2025-04-23 19:16:43 -06:00
Eduardo MG
3555ddba33 Update AIPlayerBaka.cpp
Changing how AI decides to attack with creatures that have some kind of evasion.
Experimenting with how AI decides to block
2025-04-23 18:51:05 -06:00
Eduardo MG
e2b9429b45 Variants, new macros, old type changed to Kindred
Cleaned extra spaces and bugs in primitives
Macros for Crew 2
Removed old obsolete card type and changed it to Kindred
New zone mybattlefieldhand for "Behold a Dragon"
2025-04-23 18:20:32 -06:00
Eduardo MG
c0c03eecc4 Merge pull request #1112 from BobCyril/master
Improvements to decks 1-10
2025-04-18 18:07:21 -06:00
BobCyril
c9cef1567a Update deck10.txt
Reformatted deck 10
2025-04-16 20:56:32 +01:00
BobCyril
4286557026 Update deck9.txt
Reformatted deck 9
2025-04-16 20:54:52 +01:00
BobCyril
13cf8baf24 Update deck8.txt
Reformatted deck 8
2025-04-16 20:53:39 +01:00
BobCyril
ff046cf9d6 Update deck7.txt
Reformated deck 7. Added hints to make deck slightly less self-destructive, but still retaining its strategy and flavor
2025-04-16 20:51:56 +01:00
BobCyril
13a48b5a14 Update deck6.txt
Reformatted deck 6. Replaced cards which hinder the deck's strategy. Added a hint to stablise AI use of one card.
2025-04-16 20:47:13 +01:00
BobCyril
61bf5bc95d Update deck5.txt
Reformatted deck 5
2025-04-16 20:43:58 +01:00
BobCyril
0679cfd076 Update deck4.txt
Reformatted deck 4
2025-04-16 20:42:17 +01:00
BobCyril
19e28f9dca Update deck3.txt
Reformatted deck 3
2025-04-16 20:40:20 +01:00
BobCyril
ee6ad9609c Update deck2.txt
Reformatted deck 2.  Removed rogue W cards from this GR deck
2025-04-16 20:37:31 +01:00
BobCyril
266ae422f1 Update deck1.txt
Reformatted deck 1
2025-04-16 20:34:20 +01:00
Eduardo MG
a89a352e22 "if paid(alternative) then" changed to "alternative" 2025-04-11 19:00:36 -06:00
105 changed files with 13725 additions and 5936 deletions

View File

@@ -307,16 +307,18 @@ public class SDLActivity extends Activity implements OnKeyListener {
importDeck.setTitle("Choose Deck to Import:");
File root = new File(System.getenv("EXTERNAL_STORAGE") + "/Download");
File[] files = root.listFiles();
File[] files = root.listFiles();
for (File f : files) {
if (!myresult.contains(f.toString()) &&
(f.toString().contains(".txt") ||
f.toString().contains(".dck") ||
f.toString().contains(".dec"))) {
myresult.add(f.toString());
}
}
if (files != null) {
for (File f : files) {
if (!myresult.contains(f.toString()) &&
(f.toString().contains(".txt") ||
f.toString().contains(".dck") ||
f.toString().contains(".dec"))) {
myresult.add(f.toString());
}
}
}
//get first item?
if (!myresult.isEmpty()) {
@@ -1115,24 +1117,49 @@ public class SDLActivity extends Activity implements OnKeyListener {
}
// Setup
@Override
protected void onCreate(Bundle savedInstanceState) {
//Log.d(TAG, "onCreate()");
super.onCreate(savedInstanceState);
private void enterImmersiveMode() {
final View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
enterImmersiveMode();
}
}
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll()
.build();
StrictMode.setThreadPolicy(policy);
setContentView(R.layout.main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// So we can call stuff from static callbacks
mSingleton = this;
mContext = this.getApplicationContext();
RES_FILENAME = getResourceName();
StorageOptions.determineStorageOptions(mContext);
checkStorageLocationPreference();
prepareOptionMenu(null);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
setContentView(R.layout.main);
// Enable immersive mode
enterImmersiveMode();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// So we can call stuff from static callbacks
mSingleton = this;
mContext = this.getApplicationContext();
RES_FILENAME = getResourceName();
StorageOptions.determineStorageOptions(mContext);
checkStorageLocationPreference();
prepareOptionMenu(null);
}
public void forceResDownload(final File oldRes) {
AlertDialog.Builder resChooser = new AlertDialog.Builder(this);

File diff suppressed because it is too large Load Diff

View File

@@ -1,76 +1,18 @@
#NAME:Nightmare
#DESC:I had a terrible Nightmare once
#DESC:and then a second
#DESC:and a third
#DESC:and then I won.
#2x Obsianus Golem
1129
1129
#2x animate dead
1143
1143
#2x Bad Moon
1144
1144
#2x Bog Wraith
1146
1146
#1x Cursed Land
1148
#1x Fear
1161
#2x El-Hajjâj
1158
1158
#2x Hypnotic Specter
1165
1165
#4x Nightmare
1170
1170
1170
1170
#3x Scathe Zombie
1177
1177
1177
#1x Unholy Strength
1183
#1x Wall of Bone
1184
#1x Zombie Master
1188
#2x Air Elemental
1189
1189
#2x Lifetap
1205
1205
#2x Lord of Atlantis
1206
1206
#2x Mahamoti Djinn
1208
1208
#4x Merfolk of the Pearl Trident
1210
1210
1210
1210
# Swamp (RV)
1373
1373
1373
1373
1374
1374
1374
1374
1375
1375
1375
1375
# Island (RV)
#DESC:'All evil is as a nightmare'
#DESC:Thomas Carlyle
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Air Elemental (RV) (*) * 2
Animate Dead (RV) (*) * 2
Bad Moon (RV) (*) * 2
Bog Wraith (RV) (*) * 2
Cursed Land (RV) (*) * 1
El-Hajjaj (RV) (*) * 2
Fear (RV) (*) * 1
Hypnotic Specter (RV) (*) * 2
# RV Islands
1392
1392
1392
@@ -83,3 +25,26 @@
1394
1394
1394
Lifetap (RV) (*) * 2
Lord of Atlantis (RV) (*) * 2
Mahamoti Djinn (RV) (*) * 2
Merfolk of the Pearl Trident (RV) (*) * 4
Nightmare (RV) (*) * 4
Obsianus Golem (RV) (*) * 2
Scathe Zombies (RV) (*) * 3
# RV Islands
1373
1373
1373
1373
1374
1374
1374
1374
1375
1375
1375
1375
Unholy Strength (RV)(*) * 1
Wall of Bone (RV) (*) * 1
Zombie Master (RV) (*) * 1

View File

@@ -1,30 +1,24 @@
#NAME:Howlings
#DESC:Supported by elemental rage
#DESC:goblins descend from the mountains
#DESC:to conquer the lands below.
# (PSY) added 2 Mountains, 1 Black Vise, 1 Howling Mine
# (would've been better to add creatures, but all creatures in the
# deck were already at 4 pieces))
# Land(s)
Mountain (8ED) * 20
# Creature(s)
#DESC:'What the howling deep down
#DESC:there conceals, no blessed
#DESC:living soul can tell'
#DESC:Friedrich Schiller
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Black Vise (MPS) * 4
Goblin King (8ED) * 4
Goblin Mountaineer (9ED) * 4
Goblin Piker (9ED) * 4
Goblin Striker (MRD) * 4
Hearthfire Hobgoblin (EVE) * 4
Howling Mine (8ED) * 3
Lightning Bolt (M10) * 4
Mountain (10E) * 4
Mountain (7ED) * 4
Mountain (8ED) * 4
Mountain (9ED) * 4
Mountain (M10) * 4
Raging Goblin (8ED) * 4
Spark Elemental (5DN) * 4
# Artifact(s)
Black Vise (V10) * 4
Howling Mine (8ED) * 3
# Instant(s)
Lightning Bolt (M10) * 4
# Sorcery(s)
Wheel of Fortune (VMA) * 1
Wheel of Fortune (VMA) * 1

View File

@@ -1,79 +1,24 @@
#NAME:Alliance
#DESC:In the castle of Bant,
#DESC:the call to battle
#DESC:echoes the prayer of Asha.
#DESC:Prepare to face Bant's light!
#4x unsummon
1229
1229
1229
1229
#4x Elvish Archer {1}{G}, 2/1 first strike
1242
1242
1242
1242
#4x Scryb Sprites, Faerie, {G}, 1/1 flying
1264
1264
1264
1264
#4x Savannah Lion, {W},2/1
1365
1365
1365
1365
#4x Sword to plowshares {W}
1367
1367
1367
1367
#4x Tundra Wolves {W} - 1/1, first strike
129604
129604
129604
129604
#4x Waveskimmer Aven - Creature Bird Soldier - {2}{G}{W}{U} - 2/4 Flying Exalted
174955
174955
174955
174955
#4x Rhox War monk - Creature {G}{W}{U} - 3/4 Lifelink
174957
174957
174957
174957
#4x Deft duelist - Creature {W}{U} - 2/1 First Strike,Shroud
175121
175121
175121
175121
#4x Steward of Valeron - Creature — Human Druid Knight - {W}{G} - 2/2 {T}:add {G}
175134
175134
175134
175134
#7x plains 10E
129683
129683
129683
129683
129683
129683
129683
#7x Forest 10E
129562
129562
129562
129562
129562
129562
129562
#6x Island 10E
129609
129609
129609
129609
129609
129609
#DESC:Order, honor and community
#DESC:are preserved by the
#DESC:noble warriors and the
#DESC:towering castles of Bant
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Deft Duelist (ALA) * 4
Elvish Archers (RV) * 4
Forest (10E) * 4
Forest (ALA) * 3
Island (10E) * 3
Island (ALA) * 3
Plains (10E) * 4
Plains (ALA) * 3
Rhox War Monk (ALA) * 4
Savannah Lions (RV) * 4
Scryb Sprites (RV) * 4
Steward of Valeron (ALA) * 4
Swords to Plowshares (RV) * 4
Tundra Wolves (10E) * 4
Unsummon (RV) * 4
Waveskimmer Aven (ALA) * 4

View File

@@ -1,79 +1,26 @@
#Plain black deck
#NAME:Terror
#DESC:They groaned, they stirred,
#DESC:'They groaned, they stirred,
#DESC:they all uprose,
#DESC:Nor spake, nor moved their eyes;
#DESC:It had been strange,
#DESC:even in a dream,
#DESC:To have seen those dead men rise
#4x Hypnotic Specter
129600
129600
129600
129600
#4x Terror
135199
135199
135199
135199
#4x Bad moon
1144
1144
1144
1144
#4x Severed Legion
129693
129693
129693
129693
#4x Unholy Strength
129780
129780
129780
129780
#4x Black Vise
1097
1097
1097
1097
#4x Black Knight
1145
1145
1145
1145
#4x Bog Wraith
129491
129491
129491
129491
#4x Will-o'-the-Wisp
1187
1187
1187
1187
#4x Zombie Master
1188
1188
1188
1188
#20 x Swamp
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
1373
#DESC:To have seen those dead men rise'
#DESC:Samuel Taylor Coleridge
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Bad Moon (RV) * 4
Black Knight (RV) * 4
Black Vise (RV) * 4
Bog Wraith (10E) * 4
Hypnotic Specter (10E) * 4
Severed Legion (10E) * 4
Swamp (10E) * 4
Swamp (4ED) * 4
Swamp (9ED) * 4
Swamp (M10) * 4
Swamp (RV) * 4
Terror (10E) * 4
Unholy Strength (10E) * 4
Will-o'-the-Wisp (RV) * 4
Zombie Master (RV) * 4

View File

@@ -1,79 +1,24 @@
#NAME:Jungle
#DESC:Creatures of the mountains,
#DESC:forests, and plains,
#DESC:are ready to take their revenge.
# (PSY) added 1x Tundra Wolves, 1x Scryb Sprites, 1x Forest, 1x Mountain, to bring card count to 60
#Spark Elemental
129577
129577
129577
129577
#Tundra Wolves
129604
129604
129604
129604
#Watchwolf
83625
83625
83625
83625
#Wooly Thoctar
175062
175062
175062
175062
#Scryb Sprites
1264
1264
1264
1264
#Lightning Bolt
1303
1303
1303
1303
#Kird Ape
1302
1302
1302
1302
#Savannah Lions
1365
1365
1365
1365
#Swords to Plowshares
1367
1367
1367
1367
#Forest6
1388
1388
1388
1388
1388
1388
#Plains9
1397
1397
1397
1397
1397
1397
1397
1397
1397
#Mountain9
1390
1390
1390
1390
1390
1390
1390
1390
1390
#DESC:In the heart of the jungle
#DESC:there are wild beasts
#DESC:both cunning and fierce
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Forest (10E) * 2
Forest (RV) * 4
Kird Ape (RV) * 4
Lightning Bolt (RV) * 4
Mountain (10E) * 4
Mountain (RAV) * 1
Mountain (RV) * 4
Plains (10E) * 4
Plains (RAV) * 1
Plains (RV) * 4
Savannah Lions (RV) * 4
Scryb Sprites (RV) * 4
Spark Elemental (10E) * 4
Swords to Plowshares (RV) * 4
Tundra Wolves (10E) * 4
Watchwolf (RAV) * 4
Woolly Thoctar (ALA) * 4

View File

@@ -1,86 +1,25 @@
#NAME:Deep Blue
#DESC:"Are you sure you want to
#DESC: send that mighty creature
#DESC: into the battle?
#DESC:'Here have we war for war,
#DESC:and blood for blood,
#DESC:Controlment for controlment'
#DESC:William Shakespeare
#DESC:
#DESC: You realize it might end up
#DESC: fighting against you, right?
#DESC:
#DESC: It's not like I did not warn
#DESC: you with that Boomerang ..."
#Blue Deck, with Persusasion
#24 Islands
158237
158237
158237
158237
158237
158237
158237
157875
157875
157875
157875
157875
157875
157875
157883
157883
157883
157883
157883
157883
157883
# (PSY) Actually these were only 21 Islands, adding 3 more:
158237
157875
157883
#3Jhessian Lookout
# (PSY) These were listed under "Islands"
176428
176428
176428
#4persusasion
129900
129900
129900
129900
#2Control Magic
1194
1194
#4Boomerang
129494
129494
129494
129494
#4Lord of Atlantis
1206
1206
1206
1206
#2Merfolk
# (PSY) Adding 1 to bring card count to 60
1210
1210
1210
#4Gravelgill
141935
141935
141935
141935
#4Unsummon
136218
136218
136218
136218
#4Counsel of the Soratami
134757
134757
134757
134757
#2Air Elemental
129459
129459
#2 Mahamoti djinn
129633
129633
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Air Elemental (10E) * 2
Boomerang (10E) * 4
Control Magic (RV) * 4
Coral Merfolk (M10) * 3
Counsel of the Soratami (10E) * 4
Gravelgill Axeshark (SHM) * 4
Island (10E) * 4
Island (4ED) * 4
Island (6ED) * 4
Island (9ED) * 4
Island (M10) * 4
Island (RV) * 4
Lord of Atlantis (RV) * 4
Mahamoti Djinn (10E) * 2
Merfolk of the Pearl Trident (RV) * 3
Persuasion (10E) * 2
Unsummon (10E) * 4

View File

@@ -1,6 +1,6 @@
#NAME:Rats!
#DESC:"They fought the dogs,
#DESC: and killed the cats,
#DESC:'They fought the dogs,
#DESC: and killed the cats,
#DESC:And bit the babies in the cradles,
#DESC:And ate the cheeses out of the vats
#DESC:And licked the soup
@@ -10,17 +10,23 @@
#DESC:And even spoiled the women's chats,
#DESC:By drowning their speaking
#DESC:With shrieking and squeaking
#DESC:In fifty different sharps and flats."
#Black Deck, Rats
#26 Swamps
#DESC:In fifty different sharps and flats.'
#DESC:Robert Browning
#HINT:combo hold(Fear|myhand)^until(Relentless Rats|mybattlefield)^cast(Fear|myhand) targeting(Relentless Rats|mybattlefield)^totalmananeeded({B}{B})
Ascendant Evincar (10E) * 2
Fear (10E) * 4
Oona's Gatewarden (SHM) * 4
Plague Beetle (10E) * 4
Plague Rats (RV) * 4
Rain of Tears (10E) * 4
Relentless Rats (10E) * 4
Relentless Rats (M10) * 4
Relentless Rats (M11) * 4
# SHM Swamps
157886
157886
157886
157886
157886
157871
157871
157871
157871
157871
157871
@@ -29,54 +35,10 @@
158239
158239
158239
158239
158239
158239
157889
157889
157889
157889
157889
157889
157889
#4plague rats
1173
1173
1173
1173
#4plague beetle
129678
129678
129678
129678
#12 relentless rats
135236
135236
135236
135236
135236
135236
135236
135236
135236
135236
135236
135236
#4Oona's Gatewarden
141975
141975
141975
141975
#4Fear
129544
129544
129544
129544
#Ascendant Evincar
106525
106525
#4rain of tears
135220
135220
135220
135220
Swamp (ALA) * 4
Swamp (10E) * 4
Swamp (M10) * 2

View File

@@ -1,7 +1,7 @@
#NAME:Tobias Commander
#DESC:Tobias Andrion considers himself
#DESC:a master of strategy. Can you
#DESC:defeat him?
#DESC:A master of strategy, Tobias
#DESC:Andrion helped engineer the
#DESC:rise of the Sheoltun Empire
#DESC:
#DESC:Win Wagic duels to unlock
#DESC:more Commander opponents
@@ -10,7 +10,6 @@
#DESC:(mtggoldfish.com)
#DESC:Built for Wagic by Bob
#HINT:castpriority(commander,*)
Acrobatic Maneuver (*) * 1
Aethersnipe (*) * 1
Alabaster Dragon (*) * 1

View File

@@ -1,77 +1,24 @@
#NAME:Faeries
#DESC:Be warned, those are not butterflies!
#DESC:Or ... the dangerous kind.
#Plain blue deck
#4 x Control Magic, {2}{U}{U}, Enchant creature
1194
1194
1194
1194
#2x Mahamoti Djinn
129633
129633
#2x Persuasion, {3}{U}{U}, Enchant creature, control magic
129900
129900
#4x Cloud Sprite,{U}, Creature Faerie,1/1,flying cloud
132069
132069
132069
132069
#2x Sentinels of glen Elendra,{3}{U}, Creature Faerie Soldier,2/3,flash flying
139426
139426
#4x Scien of Oona, Creature Faerie Soldier,1/1,flash flying,lord(faerie|myinplay)1/1
139741
139741
139741
139741
#4x Oona's Gatewarden, {BU},Creature Faerie Soldier,2/1,flying defender wihter
141975
141975
141975
141975
#4x Briaberry Cohort,{1}{U} Creature Faerie Soldier,1/1, flying +1/+1 aslongas(*[blue]|myinplay)
146043
146043
146043
146043
#4x Glen Elendra Liege,{1}{UB}{UB}{UB}, Creature Faerie Knight, flying 2/3 lord(creature[black;blue]|myinplay) 1/1
146743
146743
146743
146743
#4x Wasp Lancer, {UB}{UB}{UB}, Creature Faerie Soldier,3/2,flying
153967
153967
153967
153967
#4x Plumeveil,{UW}{UW}{UW}, Creature Elemental,4/4,flash flying defender
153980
153980
153980
153980
#2x Faerie Swarm, {3}{U}, Creature Faerie,*/*,flying,foreach(*[blue]|myinplay)1/1
158685
158685
#20 x Island (10E)
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
129606
#DESC:Faeries love pranks and games
#DESC:of deception
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Briarberry Cohort (SHM) * 4
Cloud Sprite (10E) * 4
Control Magic (RV) * 4
Faerie Swarm (SHM) * 2
Glen Elendra Liege (SHM) * 4
Island (10E) * 4
Island (LRW) * 4
Island (M10) * 4
Island (RV) * 4
Island (SHM) * 4
Mahamoti Djinn (10E) * 2
Oona's Gatewarden (SHM) * 4
Persuasion (10E) * 2
Plumeveil (SHM) * 4
Scion of Oona (LRW) * 4
Sentinels of Glen Elendra (LRW) * 2
Wasp Lancer (SHM) * 4

View File

@@ -1,78 +1,22 @@
#NAME:Kithkin
#DESC:Led by the Cenn,
#DESC:united by the thoughtweft,
#DESC:challenge just one
#DESC:champion of Goldmeadow,
#DESC:and you will face
#DESC:the entire cla-chan!
#4x Glorious Anthem, {1}{W}{W}, Enchantment, Creatures you control get +1/+1
129572
129572
129572
129572
#4x Wizened Cenn,{W}{W}, Creature - Kithkin Cleric,2/2, other kithin get +1/+1
139716
139716
139716
139716
#4x Zealous Guardian,{WU}, Creature - Kithkin Soldier,1/1,flash
142028
142028
142028
142028
#4x Ballynock Cohort,{2}{W},Creature - Kithkin Soldier,2/2,First strike, get +1/+1 aslongas you control another white creature
142045
142045
142045
142045
#4x Armored Ascension,{3}{W},Enchant creature, +1/+1 for each plains and flying
146041
146041
146041
146041
#4x Thistledown Liege,{1}{WU}{WU}{WU}, 1/3, creature - Kithkin Knight, give +1/+1 to blue and white creature you control
147409
147409
147409
147409
#4x Kihtkin Shielddare, {1}{W},1/1 creature - Kithkin soldier, {t}{W}:target blocking creature gets +2/+2
158238
158238
158238
158238
#4x Goldmeadow Harrier, {W},1/1 creature - Kithkin soldier,{W}:tap target creature
139397
139397
139397
139397
#4x Field Marshall, {1}{W}{W}, 2/2 creature - Human soldier, Other Soldier creatures get +1/+1 and have first strike
135258
135258
135258
135258
#4x Mobilization, {2}{W}, enchantment, Soldier creatures have vigilance, {2}{W}:Put a 1/1 white Soldier creature token into play
129716
129716
129716
129716
#20x Plains (10E)
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
129683
#DESC:Quick, agile and cooperative,
#DESC:the Kithkin value community,
#DESC:simplicity and honesty.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Armored Ascension (SHM) * 4
Ballynock Cohort (SHM) * 4
Cenn's Heir (LRW) * 4
Field Marshal (10E) * 4
Glorious Anthem (10E) * 4
Goldmeadow Dodger (LRW) * 4
Mobilization (10E) * 4
Plains (10E) * 4
Plains (9ED) * 4
Plains (LRW) * 4
Plains (M10) * 4
Plains (SHM) * 4
Thistledown Liege (SHM) * 4
Wizened Cenn (LRW) * 4
Zealous Guardian (SHM) * 4

View File

@@ -1,77 +1,23 @@
#NAME:Wilt-Leaf Liege
#DESC:And here you thought you would enjoy
#DESC:a little trip in the forest...
#DESC:
#DESC:Who said only Goblins were nasty?
#4x Elvish Archers,{1}{G},2/1,Creature Elf,first strike
1242
1242
1242
1242
#4x Elvish Champion,{1}{G}{G},2/2,Creature Elf,Other elf gets +1/+1 and forestwalk
129534
129534
129534
129534
#4x Blanchwood Armor,{2}{G}, Enchant Creature, give +1/+1 foreach forest you control
135267
135267
135267
135267
#2x Wildslayer Elves, {3}{G},3/3, Creature Elf Warrior, Wither
135436
135436
#4x Inperious Perfect,{2}{G}, 2/2 Creature Elf Warrior, gives +1/+1 other elf you control +token 1/1 elf for {T}{G}
139683
139683
139683
139683
#2x Dauntless Dourbark,{3}{G},*/*,Creature Treefolk warrior, power/toughness = nb of forest you control
141851
141851
#4x Safehold Elite, {1}{WG},2/2, Creature Elf Scout, Persist
146077
146077
146077
146077
#4x Boartusk Liege, {1}{RG}{RG}{RG},3/4, Creature Goblin Knight, tramples & Gives +1/+1 to red&green creatures you control
147428
147428
147428
147428
#4x Twinblade Slasher,{G},1/1,Creature Elf Warrior, wither {1}{G}:+2/+2 only once per turn
153436
153436
153436
153436
#4X Wilt-Leaf Cavaliers,{WG}{WG}{WG}, 3/4, Creature Elf Knight, Vigilance
153962
153962
153962
153962
#4x Cylian Elf,{1}{G},2/2,Creature Elf Scout
174935
174935
174935
174935
#20x Forest
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
129560
#DESC:The Wilt-Leaf Wood is sickly,
#DESC:but the Elven lords jealously
#DESC:guard its remaining beauties.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Blanchwood Armor (10E) * 4
Cylian Elf (ALA) * 4
Dauntless Dourbark (LRW) * 2
Elvish Archers (RV) * 4
Elvish Champion (10E) * 4
Forest (10E) * 4
Forest (ALA) * 4
Forest (LRW) * 4
Forest (RV) * 4
Forest (SHM) * 4
Imperious Perfect (LRW) * 4
Safehold Elite (SHM) * 4
Twinblade Slasher (EVE) * 4
Wildslayer Elves (SHM) * 2
Wilt-Leaf Cavaliers (SHM) * 4
Wilt-Leaf Liege (SHM) * 4

View File

@@ -1,66 +1,17 @@
#NAME:Taiga
#DESC:The forces of fire and nature unite.
#DESC:Beware the fires deep in
#DESC:the boreal forest
#DESC:
#DESC:Can you withstand
#DESC:their combined fervor?
#2x Cockatrice
1238
1238
#3x Craw Wurm
1239
1239
1239
#2x Elvish Archers
1242
1242
#2x Giant Spider
1249
1249
#2x Grizzly Bears
1250
1250
#2x Scryb Sprites
1264
1264
#2x Shanodin Dryads
1265
1265
#1x Tranquility
1270
#1x Tsunami
1271
#2x Earth Elemental
1287
1287
#2x Fire Elemental
1290
1290
#1x Flashfires
1293
#3x Goblin King
1296
1296
1296
#2x Hill Giant
1299
1299
#4x Mons's Goblin Raiders
1308
1308
1308
1308
#2x Orcish Oriflamme
1310
1310
1310
# (PSY) Power Surge not available any more, replaced with a third Orcish Oriflamme
#1x Power Surge
#1311
#1x Wheel of Fortune
1326
#1x White Ward
1371
#Forest (RV)
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Cockatrice (RV) (*) * 2
Craw Wurm (RV) (*) * 3
Earth Elemental (RV) (*) * 2
Elvish Archers (RV) (*) * 2
Firebreathing (RV) (*) * 1
Fire Elemental (RV) (*) * 2
Flashfires (RV) (*) * 2
# RV Forests
1386
1386
1386
@@ -73,7 +24,12 @@
1388
1388
1388
#Mountain
Giant Spider (RV) (*) * 2
Goblin King (RV) (*) * 3
Grizzly Bears (RV) (*) * 2
Hill Giant (RV) (*) * 2
Mons's Goblin Raiders (RV) (*) * 4
# RV Mountains
1389
1389
1389
@@ -86,3 +42,9 @@
1391
1391
1391
Orcish Oriflamme (RV) (*) * 2
Scryb Sprites (RV) (*) * 2
Shanodin Dryads (RV) (*) * 2
Tranquility (RV) (*) * 1
Tsunami (RV) (*) * 1
Wheel of Fortune (RV) (*) * 1

View File

@@ -1,79 +1,25 @@
#NAME:Bad Moon
#DESC:The night falls down,
#DESC:the trouble begins.
#DESC:The specter of evil,
#DESC:will bring you back
#DESC:to black!
#4x Bad Moon,{1}{B}, Enchantment, all black creature gets +1/+1
1144
1144
1144
1144
#4x Black knight,{B}{B}, Creature Knight,2/2, first strike protection from white
1145
1145
1145
1145
#4x Erg Raiders,{1}{B},2/3, does 2 damage to controller if you do not attack with
1159
1159
1159
1159
#2x Ascendant Evincar,{4}{B}{B},3/3, Legendary Creature Vampire,Flying all black creature get +1/+1 other -1/-1
106525
106525
#4x Hypnotic Specter,{1}{B}{B},2/2, Creature Specter, Flying opponent discard a card if damaged by HS
129600
129600
129600
129600
#4x Unholy Strengh, {B}, Enchant creature, gives +2/+1
129780
129780
129780
129780
#2x terror, {1}{B}, bury target non black, non artifact creature
135199
135199
#2xEyeblight's Ending,{2}{B},destroy target non-elf creature
139449
139449
#4x Oona's Gatewarden, {UB},2/1, flying defender wither
141975
141975
141975
141975
#4x Glen Elendra Liege,{1}{UB}{UB}{UB}, Creature Faerie Knight, flying 2/3 lord(creature[black;blue]|myinplay) 1/1
146743
146743
146743
146743
#2x Wasp Lancer, {UB}{UB}{UB}, Creature Faerie Soldier,3/2,flying
153967
153967
#4x Nyxathid,{1}{B}{B}, Creature Elemental, pow/thg = 7-nb cards opponent
186616
186616
186616
186616
#20x Swamp (10E)
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
129754
#DESC:'Happiness never flourishes
#DESC:by the light of the moon.'
#DESC:Friedrich Schiller
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#HINT:alwaysattackwith(Erg Raiders)
Ascendant Evincar (10E) * 2
Bad Moon (RV) * 4
Black Knight (RV) * 4
Erg Raiders (RV) * 4
Eyeblight's Ending (LRW) * 2
Glen Elendra Liege (SHM) * 4
Hypnotic Specter (10E) * 4
Nyxathid (CFX) * 4
Oona's Gatewarden (SHM) * 4
Swamp (10E) * 4
Swamp (M10) * 4
Swamp (LRW) * 4
Swamp (RV) * 4
Swamp (SHM) * 4
Terror (10E) * 2
Unholy Strength (10E) * 4
Wasp Lancer (SHM) * 2

View File

@@ -1,80 +1,25 @@
#NAME:Burning
#DESC:Better be prepared,
#DESC:to burn the midnight oil.
#DESC:The goblin brashness
#DESC:will make you boil.
#DESC:And you will end
#DESC:burning with a low flame ...
#2 x Bloodmark Mentor
142062
142062
#4x Scuzzback Scrapper
142052
142052
142052
142052
#4x Goblin king (10E)
129578
129578
129578
129578
#4x Volcanic hammer
4366
4366
4366
4366
#4x Boggart Ram-Gang
153970
153970
153970
153970
#4x Lightning Bolt
1303
1303
1303
1303
#4x orcish oriflame
1310
1310
1310
1310
#4x Raging goblin
129688
129688
129688
129688
#4xBoartusk Liege
147428
147428
147428
147428
#2x Siege Gang Commander
130539
130539
#4x Spark elemental
129577
129577
129577
129577
#20x Mountain
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
129650
#NAME:Goblin Gang
#DESC:'We must not look at goblin men,
#DESC:We must not buy their fruits:
#DESC:Who knows upon what soil they fed
#DESC:Their hungry thirsty roots?'
#DESC:Christina Rossetti
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Bloodmark Mentor (SHM) * 2
Boartusk Liege (SHM) * 4
Boggart Ram-Gang (SHM) * 4
Goblin Gang Leader (ANB) * 2
Goblin King (10E) * 4
Lightning Bolt (RV) * 4
Mountain (10E) * 4
Mountain (ANB) * 4
Mountain (POR) * 4
Mountain (RV) * 4
Mountain (SHM) * 4
Orcish Oriflamme (RV) * 4
Raging Goblin (1OE) * 4
Scuzzback Scrapper (SHM) * 4
Spark Elemental (10E) * 4
Volcanic Hammer (POR) * 4

View File

@@ -1,83 +1,27 @@
#NAME:Giants!
#DESC:It's actually very hard to miss a giant.
#DESC:You don't even have to aim your blow well.
#DESC:The hard part
#DESC:is to get into striking range.
#Mogg Fanatic
4832
4832
4832
4832
#Kithkin Greatheart 1W
146444
146444
146444
146444
#Ballyknock Cohort
142045
142045
142045
142045
#Sunrise Sovereign 5R
139667
139667
139667
139667
#Axegrinder Giant
145976
145976
145976
145976
#Blind Spot Giant
146597
146597
146597
146597
#Borderland Behemoth
153102
153102
#Oathsworn Giant {4}{W}{W} - 3/4 giant - lord creature|myinplay 0/2 vigilance other
89012
89012
#Pyroclasm
129801
129801
129801
129801
#Wall of Stone
1325
1325
1325
1325
#Smash
130532
#Kitchen Finks
141976
141976
141976
#Mountain
143626
143626
143626
143627
143627
143627
143631
143631
143631
143623
143623
143623
#Plains
143630
143630
143630
143620
143620
143620
143622
143622
143622
143621
143621
143621
#DESC:'Who shall place
#DESC:A limit to the giant's
#DESC:unchained strength?'
#DESC:William Cullen Bryant
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#DESC:
#DESC:Deck for Wagic by Bob
#HINT:dontattackwith(Mogg Sentry)
Blind-Spot Giant (LRW) * 4
Borderland Behemoth (MOR) * 2
Calamity Bearer (KHM) * 4
Inferno Titan (M11) * 3
Mogg Sentry (9ED) * 4
Mountain (9ED) * 4
Mountain (FDN) * 4
Mountain (LRW) * 4
Mountain (M11) * 4
Mountain (RAV) * 4
Mountain (SHM) * 4
Mountain (TMP) * 4
Skyraker Giant (FDN) * 4
Stinkdrinker Daredevil (LRW) * 4
Sunrise Sovereign (LRW) * 3
Universal Automaton (MH1) * 4

View File

@@ -1,77 +1,29 @@
#NAME:Selesnya
#DESC:Do you dare arming yourself
#DESC:against the conclave?
#Carven Caryatid
89048
89048
89048
89048
#Courier Hawk
87913
87913
#Fists of Ironwood
83672
83672
83672
83672
#Goliath Spider
88959
88959
#Nightguard Patrol
87975
87975
87975
#Scion of the Wild
83647
83647
83647
#Selesnya Guildmage
87988
87988
87988
87988
#Tolsimir Wolfblood
89110
89110
#Veteran Armorer
87950
87950
#Knight of the Skyward Eye
175047
175047
#Watchwolf
83625
83625
83625
83625
#Glorious Anthem
129572
129572
129572
129572
#Forest
95097
95097
95097
95106
95106
95106
95099
95099
95099
95098
95098
95098
#Plains
95112
95112
95112
95108
95108
95108
95115
95115
95115
95105
95105
95105
#NAME:Selesnya Conclave
#DESC:Some say that the
#DESC:Conclave's peaceful ways
#DESC:hide sinister coercion
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#DESC:
#DESC:Deck by superhiro,
#DESC:refined by Bob
Anthem of Champions (FDN) * 4
Carven Caryatid (RAV) * 4
Courier Hawk (RAV) * 2
Faithful Watchdog (MH3) * 2
Fists of Ironwood (RAV) * 4
Forest (FDN) * 4
Forest (GRN) * 4
Forest (RAV) * 4
Goliath Spider (RAV) * 2
Nightguard Patrol (RAV) * 3
Plains (FDN) * 4
Plains (GRN) * 4
Plains (RAV) * 4
Scion of the Wild (RAV) * 3
Tolsimir Wolfblood (RAV) * 2
Vernadi Shieldmate (GRN) * 2
Veteran Armorer (RAV) * 2
Voice of Resurgence (MM3) * 2
Watchwolf (RAV) * 4

View File

@@ -1,41 +1,24 @@
#NAME:Soldiers
#DESC:We stand together
#DESC:Man by man
#DESC:A marching wall of swords and shields
#DESC:We will not stop
#DESC:We will not bend
#DESC:And never, never will we yield.
Rhox Pikemaster *4
Veteran Armorsmith *4
Veteran Swordsmith *4
Captain of the Watch *4
Elite Vanguard *4
Honor of the Pure *4
Glorious Anthem *4
Veteran Armorer *4
Balefire Liege *4
#Plains
191382
191382
191382
191382
191382
191382
191395
191395
191395
191395
191395
191395
191396
191396
191396
191396
191396
191396
191385
191385
191385
191385
191385
191385
#DESC:We stand together, strong and true,
#DESC:A wall of swords and shields.
#DESC:We will not stop,
#DESC:We will not break,
#DESC:And never will we yield.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Balefire Liege (EVE) * 4
Captain of the Watch (M10) * 4
Elite Vanguard (M10) * 4
Glorious Anthem (USG) * 4
Honor of the Pure (M10) *4
Plains (M10) * 4
Plains (M11) * 4
Plains (M12) * 4
Plains (M13) * 4
Plains (RAV) * 4
Plains (USG) * 4
Rhox Pikemaster (M10) * 4
Veteran Armorer (RAV) * 4
Veteran Armorsmith (M10) * 4
Veteran Swordsmith (M10) * 4

View File

@@ -1,72 +1,29 @@
#NAME:Lafiel
#DESC:Meet the army of the influential
#DESC:elven princess Lafiel.
#DESC:Don't be fooled by their beauty
#DESC:or you will lose
#DESC:more than just your mind!
#(Wagic 0.81 Deck & Avatar by Nakano)
#v0.1 / 01.09.2009
# Initial release
#v0.2 / 02.09.2009
# - Swamp (10E) *1 = 0
# - Algae Gharial (ALA) *3 = 0
# - Centaur Glade (ONS) *1 = 0
# - Farhaven Elf (SHM) *2 = 0
# + Forest (10E) *1 = 12
# + Birds of Paradise (RAV) *2 = 3
# + Civic Wayfinder (10E) *2 = 4
# + Regal Force (EVE) *1 = 2
# + Lorescale Coatl (ARB) *2 = 4
#Mana (16)
Forest (10E) *12
Island (10E) *2
Mountain (10E) *2
#Green (30)
Birds of Paradise (RAV) *3
Blanchwood Armor (USG) *1
Civic Wayfinder (10E) *4
Cloudcrown Oak (LRW) *2
Collective Unconscious (MRQ) *1
Druid of the Anima (ALA) *2
Elvish Piper (10E) *1
Elvish Promenade (LRW) *1
Howl of the Night Pack (SHM) *1
Immaculate Magistrate (LRW) *1
Imperious Perfect (LRW) *1
Juvenile Gloomwidow (SHM) *1
Llanowar Elves (10E) *1
Lys Alana Huntmaster (LRW) *1
Nomadic Elf (INV) *1
Primal Rage (10E) *1
Primordial Sage (RAV) *1
Regal Force (EVE) *2
Spidersilk Armor (MRQ) *1
Thicket Basilisk (RV) *1
Wellwisher (ONS) *2
#Blue (1)
Levitation (M10) *1
#Red (6)
Battle Squadron (MRQ) *1
Dragon Fodder (ALA) *1
Keldon Warlord (RV) *1
Lava Axe (POR) *1
Pyroclasm (ICE) *2
#Black (1)
Prowess of the Fair (LRW) *1
#Multicolor (4)
Lorescale Coatl (ARB) *4
#Artifact (2)
Obelisk of Bant (ALA) *1
Obelisk of Grixis (ALA) *1
#MANA + GREEN + BLUE + RED + BLACK + MULTI + ARTIFACT
#16 + 30 + 1 + 6 + 1 + 4 + 2 =60
#NAME:Dark Elves
#DESC:The elves who wandered
#DESC:too deeply in the forest
#DESC:were unable to escape
#DESC:its shadows.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#DESC:
#DESC:Original deck concept by
#DESC:Nakano, deck refined by Bob
Drider (AFR) * 2
Elderfang Disciple (KHM) * 4
Eyeblight Cullers (CMR) * 2
Eyeblight's Ending (LRW) * 4
Infestation Sage (FDN) * 4
Nadier, Agent of the Duskenel (CMR) * 2
Nadier's Nightblade (CMR) * 4
Prowess of the Fair (LRW) * 4
Ruthless Winnower (KHC) * 2
Swamp (CLB) * 4
Swamp (ELD) * 2
Swamp (FDN) * 4
Swamp (KHM) * 4
Swamp (LRW) * 4
Swamp (MKM) * 4
Thornbow Archer (MB1) * 4
Unscrupulous Agent (MKM) * 4
Viconia, Drow Apostate (CLB) * 2

View File

@@ -1,7 +1,6 @@
#NAME:Atarka Commander
#DESC:Atarka's dragons bring death
#DESC:from the air. Can you defeat
#DESC:her?
#DESC:Savage and ferocious, Atarka
#DESC:is universally feared
#DESC:
#DESC:Win Wagic duels to unlock
#DESC:more Commander opponents

View File

@@ -1,84 +1,27 @@
#NAME:Undead Infiltrator
#DESC:You may be prepared
#DESC:for an army of zombies
#DESC:rising from the graves.
#DESC:But did also expect them
#DESC:to crawl
#DESC:out of the sea?
#4x Glen Elendra Liege {1}{UB}{UB}{UB} - flying lord black/blue creature +1/+1
146743
146743
146743
146743
#4x Lord of atlantis -{U}{U} 1/1 Lord merfolk +1/+1
1206
1206
1206
1206
#4x Lord of the Undead - {1}{B}{B} - 2/2 Lord zombie +1/+1
129629
129629
129629
129629
#2x Sanguine Guard {1}{B}{B} - Zombie 2/2 first strike {1}{B}:regenerate
5627
5627
#2x Walking dead {1}{B} - 1/1 zombie, {B}:regenerate
1466
1466
#4x Oona's Gatewarden {BU} - defender flying faerie 2/1 wither
141975
141975
141975
141975
#2x Marauding Knight, Zombie {2}{B}{B}, protection from white 2/2 +1/+1 for each plains|opponentinplay
23053
23053
#2x Methatran Zombie, {1}{U}, 1/1
22973
22973
#2x Inkfathom Infiltrator {UB}{UB} - Merfolk 2/1 cantblock, unblockable
154401
154401
#2x Stillmoon Cavalier {1}{WB}{WB} - Zombie knight 2/1 protection from white and black {WB}:flying {WB}:first strike
153037
153037
#4x Vodalian zombie {B}{U}, zombie merfolk 2/2 protection from green
23159
23159
23159
23159
#1x Wasp lancer {BU}{BU}{BU} 3/2 faerie flying
153967
#1x Deepchanel Mentor {5}{U}, 2/2 merfolk lord blue creature:unblockable
141981
#2x Zombie master {1}{B}{B} - 2/3 zombie lord swampwalk {B}:regenerate
1188
1188
#4x Zombie outlander {B}{U} - 2/2 protection from green
185138
185138
185138
185138
#Island
129606
129606
129606
129606
129607
129607
129608
129608
129609
129609
#Swamp
129754
129754
129754
129754
129755
129755
129756
129756
129757
129757
#DESC:The dead rise up from
#DESC:the darkest depths
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Deepchannel Mentor (SHM) * 1
Glen Elendra Liege (SHM) * 4
Inkfathom Infiltrator (SHM) * 2
Island (10E) * 4
Island (RV) * 4
Island (SHM) * 2
Lord of Atlantis (RV) * 4
Lord of the Undead (10E) * 4
Marauding Knight (INV) * 2
Metathran Zombie (INV) * 2
Oona's Gatewarden (SHM) * 4
Sanguine Guard (USG) * 2
Swamp (10E) * 4
Swamp (RV) * 4
Swamp (SHM) * 2
Underground Sea (RV) * 2
Vodalian Zombie (INV) * 4
Walking Dead (LEG) * 2
Wasp Lancer (SHM) * 1
Zombie Master (RV) * 2
Zombie Outlander (CRX) * 4

View File

@@ -1,90 +1,28 @@
#NAME:Depletion
#DESC:More than one mage
#DESC:has been driven insane by
#DESC:the howl of the mine,
#DESC:Dreamborn Muse's voice,
#DESC:and Mortivore's breath.
#DESC:Prepare to discover the truth
#DESC:of the House Dimir.
# (PSY) added 2x Swamp, 2x Island, 1x Psychic Drain,
# 1x Forced Fruition, 1x Tome Scour, 1x Traumatize,
# to bring card count to 60.
#4x Animate Dead
1143
1143
1143
1143
#2x Control Magic
1194
1194
#3x Tome Scour
191598
191598
191598
#4x Glimpse the Unthinkable
83597
83597
83597
83597
#2x Psychic Drain
89114
89114
#2x Forced Fruition
146166
146166
#2x Howling Mine
129598
129598
#2x Memory Erosion
175108
175108
#2x Mortivore
129648
129648
#2x Terror
135199
135199
#2x Dreamborn Muse
135246
135246
#3x Traumatize
129774
129774
129774
#4x Oona's Gatewarden
141975
141975
141975
141975
#2x Glen Elendra Liege
146743
146743
#12x Swamp
129754
129754
129754
129754
129755
129755
129755
129755
129757
129757
129757
129757
#12x Island
129607
129607
129608
129608
129608
129608
129609
129609
129609
129609
129609
129609
#DESC:The cruellest fate for a
#DESC:spellcaster is to stand
#DESC:helpless as your power
#DESC:drains away.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Animate Dead (RV) * 4
Control Magic (RV) * 2
Dreamborn Muse (10E) * 2
Forced Fruition (LRW) * 2
Glen Elendra Liege (SHM) * 2
Glimpse the Unthinkable (RAV) * 4
Howling Mine (10E) * 2
Island (10E) * 4
Island (LRW) * 4
Island (SHM) * 4
Memory Erosion (ALA) * 2
Mortivore (10E) * 2
Oona's Gatewarden (SHM) * 4
Swamp (10E) * 4
Swamp (LRW) * 4
Swamp (SHM) * 4
Terror (10E) * 2
Tome Scour (M10) * 4
Traumatize (10E) * 3
Underground Sea (RV) * 1

View File

@@ -1,79 +1,23 @@
#NAME:Vigilant Watch
#DESC:A single soldier may sleep,
#DESC:but the squad never does.
#DESC:Vigilant and watchful
#DESC:they will be ready to fight
#DESC:as soon as you arrive.
#4x Akrasan Squire - human soldier {W}, 1/1 exalted
174963
174963
174963
174963
#4x Armored Ascension - {3}{W} - enchant creature - +1/+1 for each plains
146041
146041
146041
146041
#2x Aven Squire - Bird soldier {1}{W},1/1 flying,exalted
184992
184992
#4x Veteran Armorer - {1}{W} - 2/2 creature you control get +0/+1
87950
87950
87950
87950
#4x Ballynock Cohort, Kithkin Soldier {2}{W}, 2/2, first strike +1/+1 as long as you control another white creature.
142045
142045
142045
142045
#2x Aven Trailblazer, {2}{W} 2/*, bird soldier flying, domain (toughness = basic land you control)
180278
180278
#2x Castle {3}{W} - Enchantment, untapped creature you control get +0/+2
1334
1334
#4x Field Marshal {1}{W}{W} - 2/2 - other soldier get +1/+1 and first strike
135258
135258
135258
135258
#4x Glorious Anthem {1}{W}{W} - Enchantment - creature you control get +1/++
129572
129572
129572
129572
#2x Serra Zealot {W} - 1/1 - First strike
5707
5707
#4x Mobilization {2}{W} - Soldier get vigilance - {2}{W} put a 1/1 soldier in play
129716
129716
129716
129716
#20x plains
1395
1395
1395
1395
129680
129680
129680
129680
129681
129681
129681
129681
129682
129682
129682
129682
129683
129683
129683
129683
#4x Soltari Foot Soldier, {W}, 1/1 shadow
4901
4901
4901
4901
#DESC:Eyes ever wakeful,
#DESC:eyes ever watchful.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Akrasan Squire (ALA) * 4
Armored Ascension (SHM) * 4
Aven Squire (CFX) * 2
Aven Trailblazer (CFX) * 2
Ballynock Cohort (SHM) * 4
Castle (RV) * 2
Field Marshal (10E) * 4
Glorious Anthem (10E) * 4
Mobilization (10E) * 4
Plains (10E) * 4
Plains (ALA) * 4
Plains (RAV) * 4
Plains (SHM) * 4
Plains (USG) * 4
Serra Zealot (USG) * 2
Soltari Foot Soldier (TMP) * 4
Veteran Armorer (RAV) * 4

View File

@@ -1,39 +1,33 @@
#NAME:Savannah
#DESC:United against the terrible
#DESC:Phyrexian Fate,
#DESC:there is no time for dispute
#DESC:or rivalries
#DESC:in Eladamri and Gerrard's army
# (PSY) 2x Benalish Hero not available any more, removed (deck has still >60 cards)
# (PSY) 2x Mesa Pegasus not available any more, removed (deck has still >60 cards)
# Land(s)
Forest (8ED) * 13
Plains (8ED) * 9
# Creature(s)
#DESC:Beasts stalk their prey
#DESC:among the tall grasses
#DESC:
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Armageddon (VMA) * 1
Black Vise (V10) * 2
Builder's Blessing (AVR) * 2
Cockatrice (TSB) * 2
Craw Wurm (9ED) * 2
Crusade (DDF) * 2
Forest (8ED) * 4
Forest (9ED) * 4
Forest (MRD) * 1
Forest (ONS) * 4
Giant Spider (AKH) * 2
Grizzly Bears (8ED) * 2
Spitting Spider (8ED) * 2
Jukai Messenger (CHK) * 4
Kessig Recluse (DKA) * 2
Living Lands (ME4) * 1
Plains (8ED) * 4
Plains (9ED) * 1
Plains (ONS) * 4
Rhox Charger (ALA) * 1
Ronom Unicorn (CSP) * 2
Savannah Lions (A25) * 2
Scute Mob (ZEN) * 3
Serra Angel (M13) * 2
Jukai Messenger (CHK) * 4
Kessig Recluse (DKA) * 2
Rhox Charger (ALA) * 1
# Artifact(s)
Black Vise (V10) * 2
Spitting Spider (8ED) * 2
The Rack (DPA) * 2
# Enchantment(s)
Builder's Blessing (AVR) * 2
Crusade (DDF) * 2
Living Lands (ME4) * 1
# Sorcery(s)
Armageddon (VMA) * 1
Wrath of God (8ED) * 2

View File

@@ -1,31 +1,27 @@
#NAME:Imperious Vanguard
#DESC:An endless stream
#DESC:of elvish warriors
#DESC:will overwhelm you,
#DESC:powered by an unceasing
#DESC:supply of mana.
#DESC:
#DESC:Flee!
#DESC:
#DESC:You have no chance!
# Land(s)
Forest (M12) * 20
Gaea's Cradle (PRM) * 1
Pendelhaven (A25) * 1
# Creature(s)
#DESC:Elves beyond number
#DESC:from the forest
#DESC:without end.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#HINT:combo hold(Elvish Promenade|myhand)^cast(Elvish Promenade|myhand)^restriction{type(creature|mybattlefield)~morethan~1}^totalmananeeded({3}{G})
#HINT:combo hold(Overrun|myhand)^cast(Overrun|myhand)^restriction{type(creature|mybattlefield)~morethan~2}^totalmananeeded({2}{G}{G}{G})
Drove of Elves (SHM) * 1
Elvish Archdruid (M10) * 4
Elvish Hexhunter (SHM) * 4
Elvish Promenade (LRW) * 4
Elvish Vanguard (EMA) * 4
Elvish Visionary (ALA) * 4
Heedless One (PSAL) * 3
Forest (10E) * 4
Forest (9ED) * 4
Forest (LRW) * 4
Forest (M10) * 4
Forest (M12) * 4
Gaea's Cradle (PRM) * 1
Heedless One (ONS) * 3
Imperious Perfect (LRW) * 4
Llanowar Elves (9ED) * 4
Wellwisher (C14) * 4
# Sorcery(s)
Elvish Promenade (LRW) * 4
Overrun (10E) * 2
Pendelhaven (A25) * 1
Wellwisher (C14) * 4

View File

@@ -1,28 +1,23 @@
#NAME:Angelism
#DESC:An army of angels
#DESC:will sweep through your defenses
#DESC:while all your forces can do
#DESC:is watch and gape in awe.
# Land(s)
Plains (M15) * 19
Quicksand (WWK) * 4
Serra's Sanctum (*) * 1
# Creature(s)
Kitchen Finks (SHM) * 4
Mesa Enchantress (PLC) * 4
# Enchantment(s)
#NAME:Angelic Sigil
#DESC:'Every crime has in the
#DESC:moment of its perpetration
#DESC:its own avenging angel'
#DESC:Friedrich Schiller
#HINT:combo hold(Wrath of God|myhand)^cast(Wrath of God|myhand)^restriction{type(creature|opponentbattlefield)~morethan~2}^totalmananeeded({2}{W}{W})
Angelic Chorus (10E) * 3
Cage of Hands (CHK) * 3
Honor of the Pure (M10) * 4
Kitchen Finks (SHM) * 4
Mesa Enchantress (PLC) * 4
Moat (PRM) * 3
Pacifism (A25) * 4
Plains (10E) * 4
Plains (M10) * 4
Plains (M11) * 4
Plains (M12) * 3
Plains (M15) * 4
Plains (BBD) * 4
Serra's Sanctum (USG) * 1
Sigil of the Empty Throne (CFX) * 4
# Instant(s)
Swords to Plowshares (DDF) * 4
# Sorcery(s)
Swords to Plowshares (BBD) * 4
Wrath of God (10E) * 3

View File

@@ -1,26 +1,23 @@
#NAME:Armored Ascent
#DESC:They may look weak
#DESC:and barely present,
#DESC:but if you let them grow
#DESC:they will crush your army.
# Land(s)
Plains (M21) * 23
# Creature(s)
#DESC:'The armourers, accomplishing the
#DESC:knights, / With busy hammers
#DESC:closing rivets up, / Give
#DESC:dreadful note of preparation.'
#DESC:William Shakespeare
Armored Ascension (SHM) * 2
Crusade (LEA) * 4
Disenchant (TPR) * 3
Glorious Anthem (8ED) * 4
Honor of the Pure (M10) * 4
Kitchen Finks (SHM) * 3
Knight of Meadowgrain (LRW) * 4
Paladin en-Vec (10E) * 2
Stillmoon Cavalier (EVE) * 3
# Enchantment(s)
Armored Ascension (SHM) * 2
Crusade (DDF) * 4
Glorious Anthem (8ED) * 4
Honor of the Pure (M10) * 4
# Instant(s)
Disenchant (TPR) * 3
Swords to Plowshares (DDF) * 4
# Sorcery(s)
Plains (10E) * 4
Plains (8ED) * 3
Plains (LRW) * 4
Plains (M10) * 4
Plains (M21) * 4
Plains (SHM) * 4
Spectral Procession (SHM) * 4
Stillmoon Cavalier (EVE) * 3
Swords to Plowshares (BBD) * 4

View File

@@ -1,27 +1,19 @@
#NAME:Spectral Rack
#DESC:"We will clear your mind
#DESC: until nothing is left.
#DESC: And we will grow stronger
#DESC: as you keep losing
#DESC: your thoughts."
# Land(s)
Gargoyle Castle (M10) * 4
Swamp (M21) * 19
Volrath's Stronghold (TPR) * 1
# Creature(s)
#DESC:Spectral illusions are
#DESC:still real terrors
Black Knight (M10) * 4
Graveborn Muse (10E) * 4
Doom Blade (M10) * 4
Gargoyle Castle (M10) * 4
Hymn to Tourach (V13) * 4
Hypnotic Specter (M10) * 4
Nyxathid (CFX) * 4
# Artifact(s)
The Rack (DPA) * 4
# Instant(s)
Doom Blade (M10) * 4
Last Gasp (RAV) * 4
Skullslither Worm (J22) * 4
Swamp (10E) * 4
Swamp (ISD) * 4
Swamp (M10) * 4
Swamp (M21) * 4
Swamp (TSP) * 3
Tendrils of Corruption (TSP) * 4
# Sorcery(s)
Hymn to Tourach (V13) * 4
The Rack (DPA) * 4
Victim of Night (ISD) * 4
Volrath's Stronghold (TPR) * 1

View File

@@ -1,7 +1,7 @@
#NAME:Ragavan Commander
#DESC:Ragavan's pirates steal both
#DESC:treasure and your spells!
#DESC:Can you defeat him?
#DESC:Ragavan the pirate steals
#DESC:more than just treasure
#DESC:from his enemies
#DESC:
#DESC:Win Wagic duels to unlock
#DESC:more Commander opponents

View File

@@ -1,64 +1,23 @@
#NAME:Might Sliver
#
#DESC:Beware! Beware!
#DESC:They are everywhere!
#DESC:Even in the air
#DESC:and under the ground.
#DESC:The whole world has turned
#DESC:into a squirming mass
#DESC:of these small, yet dangerous
#DESC:... things ...
# Land(s)
Forest (8ED) * 12
Island (8ED) * 3
#NAME:Mighty Slivers
#DESC:The hive mind of the Slivers
#DESC:erases any difference
#DESC:between the one and the many.
Bonesplitter Sliver (TSP) * 4
Forest (8ED) * 4
Forest (TMP) * 4
Forest (TSP) * 4
Fury Sliver (TSP) * 2
Gemhide Sliver (TSP) * 4
Heart Sliver (H09) * 2
Horned Sliver (TPR) * 3
Island (8ED) * 4
Island (TMP) * 1
Might Sliver (TSP) * 4
Mountain (8ED) * 6
Plains (8ED) * 3
# Creature(s)
Bonesplitter Sliver (TSP) * 4 # nice cumulative +2/+0 bonus
Crystalline Sliver (H09) * 1 # Shroud is nice, especially in a deck with no non-creature spells
Fury Sliver (TSP) * 2 # gives double strike, only 2 because it's a 6-drop creature
Gemhide Sliver (TSP) * 4 # Additional mana source to get Might Slivers out faster
Heart Sliver (H09) * 2 # gives Haste
Horned Sliver (TPR) * 3 # gives Trample, also 2/2 isn't bad for a 3-drop creature that others will pump
Might Sliver (TSP) * 4 # nice cumulative +2/+2 bonus
Muscle Sliver (H09) * 4 # cheap and the +1/+1 bonus is cumulative and can't be misused by the AI
Shadow Sliver (TSP) * 1 # might be great or bad - thrown in as an element of surprise
Spined Sliver (H09) * 2 # gives Rampage
Spinneret Sliver (TSP) * 3 # 2/2 Sliver for only 2 mana, also gives Reach to all slivers, which is good because we only have
# # two Winged Slivers in the deck, and those might not even be played because we have few Islands.
Talon Sliver (*) * 3 # gives First Strike
Watcher Sliver (TSP) * 1 # nice cumulative +0/+2 bonus, but too expensive to have more of them, and we have 3 plains in the deck
Winged Sliver (H09) * 2 # gives Flying
# Cards considered, but not included:
# Basal Sliver - AI too eager to sacrifice
# Clot Sliver - would be the only black sliver left after Basal
# Sliver was taken out; also: AI not too smart with regeneration
# Sedge Sliver - no swamps in deck (since all black slivers were
# taken out)
# Firewake Sliver - AI too eager to sacrifice
# Mnemonic Sliver - AI too eager to sacrifice
# Telekinetic Sliver - AI doesn't make smart tapping definitions
# Quilled Sliver - AI can't target ability in a smart way
# Armored Sliver - AI can't decide well when to use ability
# Barbed Sliver - AI can't decide well when to use ability
# Venser's Sliver - doesn't strengthen other slivers
# Sliversmith - doesn't profit from other slivers. Its tokens
# do, but the AI isn't smart in deciding which cards to discard
# Metallic Sliver - is cheap, but doesn't strengthen other slivers
# Victual Sliver - AI too eager to sacrifice
# Battering Sliver - effect already provided by cheaper Horned Sl.
# Sliver Queen - AI can't handle 5-color deck
# Reflex Sliver - Heart Sliver has same effect for lower cost
# Sinew Sliver - good +1/+1 bonus, but only few plains in this
# deck, and red/green slivers provide same or similar effects
# Synchronous Sliver - Vigilance is nice, but sliver is blue and
# pretty expensive
#
# Cards removed from the deck:
# 20 dual lands - AI only uses the first "auto" rule for each
# dual land. Therefore none of the chosen lands produced green
# mana, the AI treated most dual lands as islands, and the deck
# never got sliver production started.
Mountain (TMP) * 4
Muscle Sliver (H09) * 4
Shifting Sliver (LGN) * 2
Spinneret Sliver (TSP) * 3
Striking Sliver (M14) * 3
Two-Headed Sliver (TSP) * 1
Winged Sliver (H09) * 3

View File

@@ -1,38 +1,28 @@
#NAME:Master of Ether
#DESC:"Surrounded by the things I built
#DESC: my power will grow
#DESC: boundlessly."
# Cards considered, but not included:
# Gaea's Cradle - would make the deck even stronger, but doesn't
# fit the theme.
#
# Cards removed from the deck:
# Sculpting Steel - reported to lead to crashes
# Land(s)
Ancient Den (MRD) * 4 # 20 artifact lands for huge bonuses on Master of Etherium and Tolarian Academy.
Great Furnace (MRD) * 4
#DESC:Surrounded by the things I built,
#DESC:my power grows boundlessly
Academy Ruins (TSP) * 1
Akroma's Memorial (FUT) * 2
Ancient Den (MRD) * 2
Cathodion (C14) * 4
Coiled Tinviper (TPR) * 1
Glaze Fiend (ALA) * 2
Great Furnace (MRD) * 2
Island (10E) * 4
Island (MRD) * 2
Master of Etherium (ALA) * 4
Mox Jet (2ED) * 1
Mox Sapphire (2ED) * 1
Nuisance Engine (MRD) * 4
Ornithopter (MRD) * 4
Salvage Slasher (CFX) * 2
Scarecrone (EVE) * 2
Seat of the Synod (MRD) * 4
Tree of Tales (MRD) * 4
Silver Myr (MRD) * 4
Steel Wall (MRD) * 2
Swamp (10E) * 2
Tolarian Academy (VMA) * 1
Tree of Tales (MRD) * 1
Vault of Whispers (MRD) * 4
Academy Ruins (TSP) * 1 # brings back artifacts
Tolarian Academy (VMA) * 1 # Generates massive amounts of mana in this deck - which the AI usually wastes.
Island (10E) * 3
# Creature(s)
Cathodion (C14) * 4 # 3-drop 3/3 creature without a down-side since manaburn was abolished
Coiled Tinviper (TPR) * 1 # first strike attacker
Glaze Fiend (ALA) * 2 # temp. bonus for playing artifacts
Master of Etherium (ALA) * 4 # gets stronger with every artifact
Ornithopter (MRD) * 4 # cheap artifact, later air defense
Salvage Slasher (CFX) * 2 # grows stronger with artifacts in graveyard - nice effect if opponent has destroyed all artifacts
Scarecrone (EVE) * 2 # brings back artifacts
Silver Myr (MRD) * 4 # artifact source of blue mana (which is needed for the 6 Vedalken)
Steel Wall (MRD) * 2 # mainly for defending
Vedalken Archmage (MRD) * 2 # draws card when summoning artifact
Yotian Soldier (MRD) * 2 # cheap defender
# Artifact(s)
Akroma's Memorial (FUT) * 2 # massive bonuses incl. Trample
Nuisance Engine (MRD) * 4 # create more cheap artifacts
Vedalken Archmage (MRD) * 2
Yotian Soldier (MRD) * 2

View File

@@ -1,28 +1,30 @@
#NAME:Kinsbaile Cavalier
#DESC:The knights on their steeds
#DESC:and the knights from the sky
#DESC:unite
#DESC:in their crusade for honor
#DESC:unite in the pursuit of honor
Armored Ascension (M10) * 2 #
Blessing (RV) * 2 #
Crusade (RV) * 4 #
Northern Paladin (RV) * 1 #
Lost Order of Jarkeld (ICE) * 2 #
Order of the Sacred Torch (ICE) * 1 #
Soltari Crusader (TMP) * 1 #
Crusading Knight (INV) * 1 #
Leonin Skyhunter (MRD) * 1 #
Flagstones of Trokair (TSP) * 2 #
Honor of the Pure (M10) * 4 #
Kabira Crossroads (ZEN) * 2 #
Kinsbaile Cavalier (MOR) * 3 #
Knight of Meadowgrain (LRW) * 2 #
Leonin Skyhunter (MRD) * 1 #
Lost Order of Jarkeld (ICE) * 2 #
Northern Paladin (RV) * 1 #
Order of the Sacred Torch (ICE) * 1 #
Paladin en-Vec (10E) * 2 #
Plains (10E) *16 #
Plains (LRW) * 4 #
Plains (M10) * 4 #
Plains (10E) * 4 #
Plains (RV) * 4 #
Plains (TSP) * 4 #
Plover Knights (LRW) * 1 #
Sigiled Paladin (ALA) * 1 #
Skyhunter Patrol (10E) * 1 #
Skyhunter Prowler (10E) * 2 #
Plover Knights (LRW) * 1 #
Knight of Meadowgrain (LRW) * 2 #
Kinsbaile Cavalier (MOR) * 3 #
Wilt-Leaf Cavaliers (SHM) * 3 #
Kabira Crossroads (ZEN) * 2 #
Sigiled Paladin (ALA) * 1 #
Soltari Crusader (TMP) * 1 #
White Knight (M10) * 2 #
Honor of the Pure (M10) * 4 #
Plains (M10) * 4 #
Armored Ascension (M10) * 2 #
Wilt-Leaf Cavaliers (SHM) * 3 #

View File

@@ -1,26 +1,25 @@
#NAME:Bad Dreams
#DESC:If you ever thought
#DESC: that YOU had bad dreams ...
#DESC:Wait until you meet these.
# Land(s)
Mountain (M10) * 8
Swamp (M10) * 16
# Artifact(s)
#DESC:'For in that sleep of death
#DESC:what dreams may come / When
#DESC:we have shuffled off this
#DESC:mortal coil'
#DESC:William Shakespeare
#HINT:combo hold(Damnation|myhand)^cast(Damnation|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{B}{B})
#HINT:combo hold(Infest|myhand)^cast(Infest|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({1}{B}{B})
Black Vise (V10) * 1
Damnation (PLC) * 4
Font of Mythos (CFX) * 2
Howling Mine (8ED) * 4
# Enchantment(s)
Spiteful Visions (SHM) * 4
Underworld Dreams (8ED) * 4
# Instant(s)
Lightning Bolt (M10) * 4
Sudden Impact (8ED) * 4
Terminate (ARB) * 4
# Sorcery(s)
Damnation (PLC) * 4
Infest (ALA) * 4
Lightning Bolt (M10) * 4
Mountain (8ED) * 4
Mountain (M10) * 4
Spiteful Visions (SHM) * 4
Sudden Impact (8ED) * 4
Swamp (10E) * 4
Swamp (8ED) * 4
Swamp (9ED) * 4
Swamp (M10) * 4
Terminate (ARB) * 4
Underworld Dreams (8ED) * 4
Wheel of Fortune (VMA) * 1

View File

@@ -1,72 +1,23 @@
#NAME:Ball Lightning
#
#DESC:"You are nothing
#DESC: But more fuel
#DESC: For my insatiable
#DESC: Rage!"
#
Ball Lightning (M10) *4
Beacon of Destruction (10E) *2 # 28 direct damage spells
Flame Burst (ODY) *4
Flame Javelin (SHM) *4
Kindle (TMP) *4
Lava Spike (CHK) *4
Lightning Bolt (M10) *4
Fire Tempest (POR) *2
Volcanic Hammer (POR) *4
Howling Mine (10E) *4 # accelerates the game, makes more
# # damage spells available
Mountain (10E) *24
# Cards considered, but not included:
# Sonic Burst - 4 damage is nice, discarding a card is not.
# Shock - nice damage per cost ratio, but 2 damage is too little,
# especially since the AI likes to use it on creatures with
# toughness >2
# Steam Blast - nice effect on all creatures and players, but
# damage amplitude of 2 is just a bit too little.
#
# Blaze - AI currently casts spells with "X" cost for too weak an
# effect
# Char - damage per cost ratio too low, and damages caster as well
# Earthquake - difficult to fine-tune for the AI: too little mana
# and the effect might be wasted, too much mana and the effect
# might be dangerous for the AI and its creatures as well.
# Fault Line - more expensive than Earthquake for same effect
# Fire Tempest - very expensive, and too dangerous for the AI
# Fireball - AI doesn't choose targets well
# Flamewave Invoker - ability too expensive compared to Beacon of
# Destruction
# Lava Axe - Too expensive for one-time use, esp. since red mana
# acceleration is currently not possible
# Lightning Blast - Too expensive
# Puncture Blast - damage per cost ratio too low. Wither damage
# would help against big creatures, but so do the walls, and the
# opponent hopefully won't last long enough to bring many big
# creatures out anyway.
# Puncture Bolt - effect too weak
# Scorching Spear - effect too weak
# Zap - too little damage, the AI often uses it on a creature
# that doesn't get killed by it, so the card is wasted.
# Jayemdae Tome - casting cost and ability cost too expensive in
# that deck; Howling Mine serves the same purpose, and hopefully
# the opponent will be dead before he can make much use of the
# cards he draws.
# Cards removed from the deck:
# none
# Notes:
#
# The AI doesn't target the damage spells well, often wasting them
# on creatures that are tough enough to survive the damage, or
# casting them on creatures when it could have won they game by
# targeting the opponent.
#
# The AI sometimes casts Ball Lightning and then doesn't attack
# with it, effectively wasting the card.
#DESC:'Brief as the lightning
#DESC:in the collied night /
#DESC:That, in a spleen, unfolds
#DESC:both heaven and earth'
#DESC:William Shakespeare
#HINT:alwaysattackwith(Ball Lightning)
Ball Lightning (M10) *4
Beacon of Destruction (10E) *2
Fire Tempest (POR) *2
Flame Burst (ODY) *4
Flame Javelin (SHM) *4
Howling Mine (10E) *4
Kindle (TMP) *4
Lava Spike (CHK) *4
Lightning Bolt (M10) *4
Mountain (10E) *4
Mountain (CHK) *4
Mountain (M10) *4
Mountain (ODY) *4
Mountain (POR) *4
Mountain (TMP) *4
Volcanic Hammer (POR) *4

View File

@@ -1,64 +1,23 @@
#NAME:Plateau
#DESC:In the highland of Boros
#DESC:Angels, elementals and goblins
#DESC:are preparing for battle.
#DESC:Beware, the crusade is coming...
#4x Lightning Helix {W}{R} - does 3 damage and you gain 3 life replacement for #2x Black Vise (1097) and #2x The Rack (1139)
87908
87908
87908
87908
# (PSY) added a third Bull Cerodon to bring the deck to 60 cards
#2x Bull Cerodon replacement for #3x Earth Elementat {3}{R}{R} -4/5 (1287)
174952
174952
174952
#2x Fire Elemental {3}{R}{R} - 5/4
1290
1290
#2 x Nobilis of War {RW}{RW}{RW}{RW}{RW} replacement for 2x Fire elemental (1290)
154258
154258
#2x Goblin king (replaced Rv version 1296 with 10E)
129578
129578
#4 x Boros Recruit - {WR} - Goblin 1/1 first strike - Replace 2x Goblin Baloon brigade (1295) and 2 x Benalish Hero {W} -1/1 banding (1330)
88992
88992
88992
88992
#1x Mons Goblin Raide (1308)
1308
#2x Skyknight Legionnaire replacement for #2x Granite Gargoyle {2}{R} - 2/2 flying {R}:0/1 1297
109082
109082
#1x Orcish Oriflame
1310
#2x Castle {3}{W} - untapped creature get 0/2
1334
1334
#1x Crusade White creature get +1/+1 {W}{W}
1341
#2x Cerodon Yearling {R}{W} vigilance haste 2/2 replacement for pearled Unicord 2/2 {2}{W} (1356)
180604
180604
#2x Serra Angel {3}{W}{W} - 4/4 flying,vigilance
1366
1366
#2x Wall of sword {3}{W} 3/5 flying defender
1369
1369
#2x White knight 2/2 first strike, protection from black
1370
1370
#1x Hill Giant {3}{R} - 3/3
1299
#2x Hearthfire Hobgoblin replacement for - 1x Hurloon Minotaur - {1}{R}{R} - 2/3 - 1300 and 1xEarth Elementat {3}{R}{R} -4/5 - 1287
157201
157201
#1x Keldon Warlord
1301
#Moutains
#DESC:There are no hiding places
#DESC:on the high steppes beyond
#DESC:the mountain passes
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Boros Recruit (RAV) * 4
Bull Cerodon (ALA) * 3
Castle (RV) * 2
Cerodon Yearling (ARB) * 2
Crusade (RV) * 1
Fire Elemental (RV) * 2
Goblin King (10E) * 2
Hearthfire Hobgoblin (EVE) * 2
Hill Giant (RV) * 1
Keldon Warlord (RV) * 1
Lightning Helix (RAV) * 4
Mons's Goblin Raiders (RV) * 1
# RV Mountains
1389
1389
1389
@@ -71,7 +30,9 @@
1391
1391
1391
#Plains
Nobilis of War (EVE) * 2
Orcish Oriflamme (RV) * 1
# RV Plains
1395
1395
1395
@@ -84,3 +45,7 @@
1397
1397
1397
Serra Angel (RV) * 2
Skyknight Legionnaire (RAV) * 2
Wall of Swords (RV) * 2
White knight (RV) * 2

View File

@@ -1,76 +1,23 @@
#NAME:Undead Lords
#
#DESC:"Can you smell the sweet perfume
#DESC: Of festering flesh and rotting bones?
#DESC:
#DESC: Rejoice if you like it
#DESC: Because soon, soon
#DESC: You will be part of my army."
#
Lord of the Undead (10E) *4 # strengthens and raises zombies
Cemetery Reaper (M10) *4 # strengthens zombies
Death Baron (ALA) *4 # strengthens zombies +deathtouch
Soulless One (ONS) *4 # gets powerful with lots of zombies
Walking Dead (LEG) *2 # cheap early defense
Zombie Master (RV) *2 # for Swampwalk, zombie regeneration,
# # and 2/3 isn't bad either
Severed Legion (10E) *1 # \
Warpath Ghoul (M10) *1 # > some expensive zombies
Mass of Ghouls (FUT) *1 # /
Dreadwing (CFX) *2 # \ 6 cheap zombies - neither can
Hate Weaver (10E) *2 # > use its abilities. These are
Roofstalker Wight (RAV) *2 # / just temporary solutions to
# # rack zombie numbers up for the
# # Soulless One.
Beacon of Unrest (10E) *1 # More raising of zombies
Scarscale Ritual (SHM) *4 # Card drawer
Dark Ritual (RV) *4
Swamp (10E) *22
# Cards considered, but not included:
# Shepherd of the Rot - *much* too dangerous for the AI in this
# deck
# Graveborn Muse - dito
# Empty the Catacombs - would weaken the Soulless One
# Dauthi Ghoul - too expensive for a 1/1 creature in a
# non-shadow deck
# Zombify - too expensive, a Zombie deck has cheaper means
# Cruel Revival - too expensive
# Dreg Reaver - Mass of Ghouls better for same cost
# Zombie Goliath - Mass of Ghouls better for same cost
# Gluttonous Zombie - Mass of Ghouls has better power, fear
# won't work against black or artifacts
# Dross Prowler - Severed Legion better for same cost
# Scathe Zombies - Severed Legion better for same cost
# Bog Raiders - Swampwalk provided by Zombie Master, so B.R. is
# weaker than Severed Legion for same cost
# Phyrexian Ghoul - AI can't handle sacrifice decisions well
# Nantuko Husk - dito
# Recover - too expensive
# Disentomb - the Lord of the Undead will do most of the Raising
# Raise Undead - dito
# Tortured Existence - dito
# Dross Crocodile - too expensive
# Gravedigger - too expensive
# Spineless Thug - cheap, but can't block
# Feeding Frenzy - nice but too expensive
# Sadistic Glee - AI casts it on opponent's creatures
# Unholy Grotto, Volrath's Stronghold - would weaken Soulless One
# Haunted Crossroads - would weaken Soulless One
# Cards removed from the deck:
# Accursed Centaur - sacrifices itself
# Dark Ritual - AI doesn't use the mana
# Notes:
#
# Slow buildup, and no synergy until the 3-drop creatures come in.
# Would profit a lot from Dark Ritual if it worked.
#DESC:Can you smell the sweet perfume
#DESC:of festering flesh and rotting bones?
Beacon of Unrest (10E) *1
Butcher Ghoul (AVR) * 2
Cemetery Reaper (M10) *4
Death Baron (ALA) *4
Diregraf Colossus (SOI) * 1
Champion of the Perished (MID) *4
Geralf's Messenger (DKA) * 1
Lord of the Undead (10E) *4
Scarscale Ritual (SHM) *4
Severed Legion (10E) *1
Soulless One (ONS) *4
Swamp (10E) *4
Swamp (ALA) *4
Swamp (M10) *4
Swamp (RAV) *4
Swamp (RV) *4
Swamp (SHM) *4
Walking Dead (LEG) *2
Vengeful Dead (SCG) * 2
Zombie Master (RV) *2

View File

@@ -1,48 +1,25 @@
#NAME:Zuberi's Flock
#
#DESC: Winged fighters
#DESC: for honor and justice
#DESC: cross the chasm
#DESC: to take their revenge
#
Zuberi, Golden Feather (MIR) *2
Suntail Hawk (10E) *4 # cheap flyer
Courier Hawk (RAV) *4 # cheap flyer
Wild Griffin (10E) *3 # balanced 3-drop flyer
Griffin Sentinel (M10) *3 # defensive 3-drop flyer
Razorfoot Griffin (M10) *2 # offensive 4-drop flyer
Ekundu Griffin (MIR) *2 # same as Razorfoot Griffin
Spotted Griffin (POR) *2 # defensive 4-drop flyer
Divebomber Griffin (RAV) *1 # only 1, AI doesn't use ability
Windbrisk Raptor (SHM) *1 # not a griffin, but a bird, and
# # fits well as an endgame surprise
Moat (LEG) *4 # 4 because it's important for this
# # deck to keep strong attackers away
Blessing (RV) *2 # \ 6 enchantments to reinforce the
Holy Strength (10E) *2 # > holy nature of the griffins -
Honor of the Pure (M10) *2 # / and the creatures need buffs
Swords to Plowshares (RV) *2 # reinforces the aggresiveness of
# # the griffin theme, and stalls the
# # the game until Moat comes in
Plains (10E) *24
# Cards considered, but not included:
# Loyal Gyrfalcon - too expensive for a non-griffin in this deck
# Crusade - Weaker than Honor of the Pure
# Cards removed from the deck:
# Welkin Hawk - not a griffin, and can crash the game in 0.8.1
# Righteousness - AI doesn't use it
# Teremko Griffin - Banding removed from Wagic
# Notes:
# Flavor deck, might be more competitive if it included bird
# soldiers and global enchantments (Crusade, Glorious Anthem), but
# I wanted to limit the theme of this deck to "animal" griffins
# and birds, which excluded the "civilized" Aven and the more
# civilized enchantments.
#DESC:There is no sight more awesome
#DESC:than the battle flight of the
#DESC:griffins. Zuberi's golden
#DESC:feathers dazzle their foes with
#DESC:the brightness of a second sun.
#HINT:combo hold(Moat|myhand)^cast(Moat|myhand)^restriction{type(Moat|mybattlefield)~lessthan~1}^totalmananeeded({2}{W}{W})
Courier Hawk (RAV) * 2
Diving Griffin (8ED) * 4
Fearless Fledgling (ZNR) * 2
Honor of the Pure (M10) * 4
Moat (LEG) * 4
Plains (10E) * 4
Plains (8ED) * 4
Plains (M10) * 4
Plains (MIR) * 4
Plains (RAV) * 4
Plains (SHM) * 4
Silverbeak Griffin (M19) * 4
Suntail Hawk (10E) * 4
Sunspire Griffin (RTR) * 4
Swords to Plowshares (RV) * 2
Windbrisk Raptor (SHM) * 1
Zeriam, Golden Wind (DMC) * 3
Zuberi, Golden Feather (MIR) * 2

View File

@@ -1,58 +1,28 @@
#NAME:Viashino Warrior
#
#DESC:"With claws and swords and flames
#DESC: we fiercely protect
#DESC: those we revere"
Viashino Slasher (RAV) *4 # cheap Viashino
Viashino Slaughtermaster (CFX) *4 # cheap Viashino
Viashino Spearhunter (M10) *4 # first strike
Viashino Grappler (INV) *4 # high power but very vulnerable
Viashino Warrior (MIR) *2 # attacker
Viashino Weaponsmith (USG) *2 # attacker
Viashino Fangtail (RAV) *3 # attacker
Furnace Whelp (10E) *2 # not a Viashino, but having
# # two flyers helps the deck
Firebreathing (10E) *4 # fiery breath for the dragons'
# # descendants - also allows to
# # use spare mana, although the
# # AI rarely does that.
Flaming Sword (MRQ) *2 # fiery weapons as well
Emblem of the Warmind (FUT) *2 # gives Haste
Beacon of Destruction (10E) *1 # repeated fire blasts
Rage Reflection (SHM) *1 # double strike
Dragon Roost (10E) *1 # endgame surprise - produces
# # red dragons
Mountain (10E) *24
# Cards considered, but not included:
# Burning Cloak - AI would kill its own creatures
# Canyon Drake - flyers would be nice, but too expensive
# Crown of Flames - Firebreathing is more foolproof for the AI
# Dragon Whelp - Furnace Whelp is more foolproof
# Desert Drake - Furnace Whelp is better for the same cost
# Immolation - AI can't decide whether it'll help or destroy the
# enchanted creature
# Lizard warrior - is not a viashino, and a viashino with
# identical values exists
# Mass Hysteria - Emblem of the Warmind fits the theme better and
# doesn't help the enemy
# Pyroclasm - AI would kill its own creatures
# Viashino Skeleton - other viashinos wouldn't associate with it
# Kindled Fury - lasts only until end of turn, often wasted by AI
# Double Cleave - lasts only until end of turn, often wasted by AI
# Reflexes - first strike already provided by Flaming Sword
# Cards removed from the deck:
# Bravado - AI casts it on opponent's creatures
# Seething Song - mana acceleration would be great, bit the AI
# doesn't use the mana
# Viashino Sandscout - AI doesn't understand that it will return
# to owner's hand, may enchant it
# Viashino Bladescout - removed from Wagic
# Notes:
# Flavor deck.
#NAME:Viashino Warriors
#DESC:Descended from dragons, the
#DESC:Viashino are agile, aggressive
#DESC:and deadly
#HINT:alwaysattackwith(Archwing Dragon)
#HINT:alwaysattackwith(Viashino Cutthroat)
#HINT:alwaysattackwith(Viashino Sandscout)
#HINT:alwaysattackwith(Viashino Sandstalker)
Archetype of Aggression (BNG) *2
Archwing Dragon (AVR) *2
Bloodmark Mentor (SHM) *3
Impact Tremors (DTK) *4
Mountain (10E) *1
Mountain (AVR) *4
Mountain (INV) *4
Mountain (MIR) *4
Mountain (RAV) *4
Mountain (SHM) *4
Mountain (USG) *4
Purphoros, God of the Forge (THS) * 2
Rage Reflection (SHM) *1
Viashino Cutthroat (ULG) *2
Viashino Pyromancer (FGN) *4
Viashino Sandscout (10E) *4
Viashino Sandstalker (VIS) *3
Viashino Spearhunter (M10) *4
Viashino Warrior (MIR) *2
Viashino Weaponsmith (USG) *2

View File

@@ -1,61 +1,23 @@
#NAME:Heartmender
#
#DESC:"No matter who
#DESC: No matter what
#DESC: We heal.
#DESC: The good and the bad
#DESC: The calm and the mad
#DESC: The live and the dead
#DESC: We heal."
Heartmender (SHM) *4 # continuously removes -1/-1 counters
# # from all others
Kitchen Finks (SHM) *4 # brings 2 life everytime it persists
Safehold Elite (SHM) *4 # cheap early defense
Lingering Tormentor (EVE) *4 # attacker with Fear
Rendclaw Trow (EVE) *4 # has Wither
Gravelgill Axeshark (SHM) *3 # 3/3 creature
Scuzzback Marauders (SHM) *3 # 5/2 attacker
Restless Apparition (EVE) *2 # can get +3/+3 bonus, but does the
# # AI use that ability?
Vine Trellis (MRQ) *4 # cheap defender and mana source
Animate Dead (RV) *4 # to bring back creatures that were
# # killed before the Heartmenders came
# # online
Forest (10E) *12
Swamp (10E) *12
# Cards considered, but not included:
# Kithkin Spellduster - has Persist, but is expensive & needs W
# River Kelpie - has Persist, but is expensive & needs blue mana
# Rattleblaze Scarecrow - too expensive for conditional persist
# Wingrattle Scarecrow - only conditional persist
# Gaea's Cradle - AI doesn't use the mana, bad thematic fit
# Cauldron Haze - effect only til end of turn, too short
# Trapjaw Kelpie - very expensive, AI doesn't use flash
# Sadistic Glee - Might help in a deck where so many creatures go
# to the Graveyard, then again it might not if it's the
# enchanted creature that dies. The point is currently moot
# though since the AI casts the spell on its opponents anyway
# Vulturous Zombie - no Persist, too expensive
# Infest - perhaps too dangerous as long as no Heartmender in play
# Harbinger of Night - definitely too dangerous
# Cards removed from the deck:
# none
# Notes:
# Doesn't perform as well as I'd like it to. The deck is very
# dependent on the Heartmenders, and sometimes they take a long
# time to come out. Suggestions?
#
# Animate Dead seems to choose targets randomly and sometimes
# picks bad ones. But it still works well in this deck if it
# targets creatures with Persist, because when these get killed
# while they are animated dead, they return from the graveyard
# without the animation enchantment. It would be nice if "Animate
# Dead" could prioritize the Kitchen Finks as targets.
#DESC:Life will always endure,
#DESC:no matter the odds,
#DESC:no matter the cost.
#HINT:combo hold(Worldly Tutor|myhand)^cast(Worldly Tutor|myhand) targeting(Heartmender|mylibrary)^totalmananeeded({G})
#HINT:alwaysattackwith(Scuzzback Marauders)
Forest (MIR) *2
Forest (MRQ) *4
Forest (10E) *4
Forest (SHM) *4
Heartmender (SHM) *4
Kitchen Finks (SHM) *4
Lingering Tormentor (EVE) *4
Putrid Goblin (MH1) *2
Raise Dead (9ED) *2
Rendclaw Trow (EVE) *4
Safehold Elite (SHM) *4
Scuzzback Marauders (SHM) *4
Swamp (MRQ) *4
Swamp (10E) *4
Swamp (SHM) *2
Vine Trellis (MRQ) *4
Worldly Tutor (MIR) *4

View File

@@ -1,58 +1,27 @@
#NAME:Fairy Archmage
#
#DESC:"Now we're here
#DESC: Now we're there
#DESC: Now we're gone
#DESC: Now we're back
#NAME:Faerie Archmage
#DESC:Never mistake a faerie's
#DESC:mischief for mere
#DESC:playfulness.
#DESC:
#DESC: But what happened to your defenses?"
Glen Elendra Archmage (EVE) *4 # ability is currently buggy ...
Heartmender (SHM) *4 # continuously removes -1/-1 counters
# # from all others
Kitchen Finks (SHM) *4 # brings 2 life everytime it persists
Safehold Elite (SHM) *4 # cheap early defense
Gravelgill Axeshark (SHM) *2 # 3/3 creature
Kithkin Spellduster (EVE) *2 # Enchantment removal
Restless Apparition (EVE) *4 # can get +3/+3 bonus
River Kelpie (SHM) *2 # card drawer, only *2 to prevent the
# # AI from decking itself out
Oona's Gatewarden (SHM) *4 # good cheap defense & fits the theme
Plumeveil (SHM) *2 # great defense & fits the theme
Wrath of God (10E) *4 # destroys all creatures
Plains (10E) *14
Island (10E) *10
# Cards considered, but not included:
# Rendclaw Trow - has persist & wither, but needs BG mana
# Lingering Tormentor - has persist * Fear, but needs B mana
# Scuzzback Marauders - has persist & high attack, but needs BR
# mana. High attack not necessary once Wrath of God is cast
# Rattleblaze Scarecrow - too expensive for conditional persist
# Wingrattle Scarecrow - only conditional persist
# Gaea's Cradle - AI doesn't use the mana, dubious thematic fit
# Cauldron Haze - effect only til end of turn, too short
# Trapjaw Kelpie - very expensive, AI doesn't use flash
# Cards removed from the deck:
# none
# Notes:
# The AI seemed pretty reluctant to cast Wrath in the test runs,
# although it did use the card from time to time
#
# River Kelpie: The AI is in danger of decking itself out if it
# has many Wither creatures, 2 Kelpies, and casts Wrath of God.
# I already reduced the Kelpies after the AI had to draw 40 cards
# in one test run, but even 2 may be too much. Will have to be
# watched.
#
# Restless Apparition: May actually prevent the Heartmender and
# Wrath of God from being played if the AI uses its plains to pump
# the apparition before checking whether it could use those plains
# to play spells. This will have to be watched too.
#DESC:Deck for Wagic by Bob
#HINT:combo hold(Archmage of Echoes|myhand)^cast(Archmage of Echoes|myhand)^restriction{type(Archmage of Echoes|mybattlefield)~lessthan~1}^totalmananeeded({4}{U})
#HINT:combo hold(Shadow Puppeteers|myhand)^cast(Shadow Puppeteers|myhand)^restriction{type(Shadow Puppeteers|mybattlefield)~lessthan~1}^totalmananeeded({6}{U})
Arcane Denial (WOC) * 2
Archmage of Echoes (WOC) *4
Counterspell (DSC) *2
Faerie Bladecrafter (WOC) *4
Faerie Miscreant (M20) *4
Go for the Throat (BRO) * 2
Island (ELD) *4
Island (FDN) *4
Island (LRW) *4
Island (WOE) *4
Obyra, Dreaming Duelist (WOE) *2
Oona's Gatewarden (SHM) *3
Scion of Oona (LRW) *4
Shadow Puppeteers (WOC) *2
Sleep-Cursed Faerie (WOE) *2
Surveilling Sprite (RAV) * 3
Swamp (ELD) *2
Swamp (LRW) *4
Swamp (WOE) *4

View File

@@ -1,46 +1,27 @@
#NAME:Snake Pit
#
#DESC:"Ssalute our ssinuossity
#DESC: Love our lithenesss
#DESC: Enjoy our embrace
#DESC:
#DESC: Care for a kisss?
#DESC: Ssoon you will ssleep ..."
Orochi Sustainer (CHK) *3 # Orochi Snake Shaman
Sachi, Daughter of Seshiro (CHK) *2 # toughness bonus to snakes
Anaconda (POR) *1 # 18 snakes
Anaconda (UZS) *2
River Boa (ZEN) *3
Hornet Cobra (LEG) *3
Python (POR) *3
Skeletal Snake (POR) *1
Mold Adder (M10) *2 # only good against 2 colors
Boa Constrictor (MRQ) *1 # AI can't handle ability
Serpent Warrior (POR) *1 # AI doesn't realize the life loss
Serpent Assassin (POR) *3
Weakness (M10) *2 # 10 spells to simulate poison effects
Paralyze (RV) *2
Last Gasp (RAV) *1
Venomous Fangs (USG) *4
Fevered Convulsions (TMP) *1
Snake Pit (MRQ) *1
Forest (10E) *11
Swamp (10E) *13
# Cards considered, but not included:
# Creakwood Liege - not a snake
# Coiled Tinviper - mechanical snake, bad thematic fit
# Plague Wind - considered as endgame surprise, but doesn't fit
# the theme well enough
# Notes:
# I haven't found any information about the Orochi, so I can't
# tell whether they fit to the rest of the cards apart from the
# fact that they are snakes. If they don't fit, replacement
# suggestions are welcome.
#DESC:The serpents move unseen
#DESC:through the marsh, waiting
#DESC:to strike with venomous
#DESC:malice
#HINT:combo hold(Blot Out|myhand)^cast(Blot Out|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{B})
#HINT:alwaysattackwith(Filth)
Anaconda (POR) *3
Archetype of Finality (BNG) *1
Blot Out (MAT) * 2
Fell (BLB) *4
Filth (JUD) *2
Forest (10E) *4
Forest (POR) *4
Forest (RAV) *4
Gift of the Viper (MH3) *3
Marsh Boa (PCY) *4
Mire Boa (TSR) *4
Moss Viper (THB) *4
Orochi Sustainer (CHK) *2
Persistent Constrictor (DSC) *2
Seshiro the Anointed (CHK) *2
Swamp (10E) *1
Swamp (POR) *4
Swamp (RAV) *4
Urborg, Tomb of Yawgmoth (LTC) *3
Zodiac Snake (PTK) *3

View File

@@ -1,4 +1,11 @@
#NAME:Tatyova Commander
#NAME:Tatyova Commander
#DESC:Years of study attuned
#DESC:Tatyova to the magic
#DESC:of the coastal woodlands
#DESC:
#DESC:Win Wagic duels to unlock
#DESC:more Commander opponents
#DESC:
#DESC:The Tatyova Commander Deck
#DESC:Refined for Wagic by Bob
#HINT:castpriority(commander,*)

View File

@@ -1,44 +1,26 @@
#NAME:Noble Predators
#
#DESC:"We are hunters.
#DESC: You are prey.
#DESC: Now run
#DESC: So that we can catch you."
Noble Panther (INV) *4 # 29 furious feline friends
Horned Cheetah (INV) *4 # lifelink
Cave Tiger (UZS) *3
Grizzled Leotau (ARB) *4 # great cheap defender
Mist Leopard (M10) *4 # shroud
Savannah Lions (RV) *4
Silvercoat Lion (M10) *3
Jungle Lion (POR) *3
Predator's Strike (MRD) *4 # AI often wastes it, great theme fit
Aggressive Urge (10E) *4 # weak stand-in for Predatory Hunger
Gaea's Embrace (UZS) *1 # a bit of help from mother Nature
Forest (10E) *13
Plains (10E) *9
# Cards considered, but not included:
# Wirecat - mechanical cat doesn't fit the theme
# Red cats: Canyon Wildcat, Guma, Raging Cougar, Sabretooth Tiger,
# Whild Jhovall: No synergy with green or white
# Jhovall Queen - used as a mount, so not really a "wild" cat
# Wild Nacatl - wields a weapon, so not really wild either
# Sabertooth Nishoba - is a cat warrior
# Panther Warriors - dito
# Giant Growth - AI doesn't seem to use it at all
# Whitemane Lion - AI can't choose well which creature to return
# Cards removed from the deck:
# Predatory Hunger - This card was a fantastic fit for theme,
# focus, and power. Unfortunately the AI casts it on its
# opponent's creatures. Swap this card back in as soon as this
# problem gets solved.
# Notes:
# Flavor deck.
#DESC:'Dangerous it is to rouse
#DESC:the lion, fatal is the
#DESC:tiger's tooth'
#DESC:Friedrich Schiller
Beastmaster Ascension (ZEN) *4
Cave Tiger (UZS) *2
Forest (10E) *4
Forest (INV) *3
Forest (M10) *4
Forest (POR) *4
Grizzled Leotau (ARB) *2
Horned Cheetah (INV) *2
King of the Pride (MH1) *4
Loam Lion (WWK) *3
Mist Leopard (M10) *2
Noble Panther (INV) *2
Plains (10E) *4
Plains (M10) *1
Plains (POR) *4
Pouncing Cheetah (AKH) *2
Pouncing Jaguar (USG) * 3
Predatory Hunger (EXO) *4
Savannah Lions (FDN) *2
Silvercoat Lion (M10) *2
Slashing Tiger (PTK) * 2

View File

@@ -1,37 +1,22 @@
#NAME:Treefolk
#DESC:Who's hiding in the tree?
#DESC:
#DESC:These trees have withstood
#DESC:the anger of the elements
#DESC:for ages.
#DESC:Do you really think
#DESC:you have the slightest chance
#DESC:to even scratch their bark?
Forest (M10) *24
Timber Protector (LRW) *4
#{4}{G} ; Creature — Treefolk Warrior (4/6); Other Treefolk creatures you control get +1/+1. Other Treefolk and Forests you control are indestructible.
Dauntless Dourbark (LRW) *4
#{3}{G} ; Creature — Treefolk Warrior (*/*) ; Dauntless Dourbark's power and toughness are each equal to the number of Forests you control plus the number of Treefolk you control. Dauntless Dourbark has trample as long as you control another Treefolk.
Treefolk Seedlings (USG) *2
#{2}{G} Creature — Treefolk (2/*) ; Treefolk Seedlings's toughness is equal to the number of Forests you control.
Essence Warden (PLC) *4
#{G} ; Creature — Elf Shaman (1/1) Whenever another creature enters the battlefield, you gain 1 life.
Thornweald Archer (FUT) *4
#{1}{G}; Creature — Elf Archer (2/1) ; Reach (This creature can block creatures with flying.); Deathtouch (Creatures dealt damage by this creature are destroyed. You can divide this creature's combat damage among any of the creatures blocking or blocked by it.)
Gaea's Anthem (PLC) *4
#{1}{G}{G} Enchantment ; Creatures you control get +1/+1.
Blanchwood Armor *2
#{2}{G} ; Enchantment — Aura ; Enchant creature (Target a creature as you cast this. This card enters the battlefield attached to that creature.); Enchanted creature gets +1/+1 for each Forest you control.
Llanowar Elves (M10) *4
#Creature — Elf Druid (1/1) {T}: Add {G} to your mana pool.
#DESC:In the most ancient forests
#DESC:the trees need no protectors.
#DESC:They defend themselves.
Ambassador Oak (MOR) *2
#{3}{G}Creature — Treefolk Warrior (3/3) When Ambassador Oak enters the battlefield, put a 1/1 green Elf Warrior creature token onto the battlefield.
Blanchwood Armor (USG) *2
Dauntless Dourbark (LRW) *4
Dungrove Elder (M12) *2
Essence Warden (PLC) *4
Forest (10E) *4
Forest (CHK) *4
Forest (LRW) *4
Forest (M10) *4
Forest (M12) *4
Forest (USG) *4
Gaea's Anthem (PLC) *4
Imperious Perfect (LRW) *2
#{2}{G}; Creature — Elf Warrior (2/2) ; Other Elf creatures you control get +1/+1.{G}{T} :: Put a 1/1 green Elf Warrior creature token onto the battlefield
Mirri, Cat Warrior (10E) *1
#{1}{G}{G} Legendary Creature — Cat Warrior (2/3) ; First strike, forestwalk, vigilance (This creature deals combat damage before creatures without first strike, it's unblockable as long as defending player controls a Forest, and attacking doesn't cause this creature to tap.)
Sachi, Daughter of Seshiro (CHK) *1
#{2}{G}{G} Legendary Creature — Snake Shaman (1/3) Other Snake creatures you control get +0/+1. Shamans you control have "{T}add{G}{G} to your mana pool."
Mold Adder (M10) *2
#{G} Creature — Fungus Snake (1/1) ; Whenever an opponent casts a blue or black spell, you may put a +1/+1 counter on Mold Adder.
Llanowar Elves (M10) *4
Skyshroud Ranger (10E) *2
Thornweald Archer (FUT) *4
Timber Protector (LRW) *4
Treefolk Seedlings (USG) *2

View File

@@ -1,43 +1,23 @@
#NAME:Dragons
#DESC:Dragons are rage
#DESC:of power and will.
#DESC:Dragons are artists
#DESC:with flames,
#DESC:painting the world
#DESC:with fire.
#Land
Mountain (M10) *24
#Direct Damage
Lightning Bolt (M10) *4
Soulblast (10E) *1
#DESC:Dragons are sculptors
#DESC:of fire, fashioning
#DESC:flames into death.
Ashenmoor Liege (SHM) *2
Beacon of Destruction (10E) *1
Spitting Earth (10E) *2
#Generic booster
Goblin War Paint (ZEN) *2
#Dragon Generator
Dragon Roost (10E) *1
#Boost Dragon
Bloodmark Mentor (SHM) *4
Crucible of Fire (ALA) *4
#Small dragon (4)
Rakdos Pit Dragon (DIS) *4
Furnace Whelp (10E) *4
#Heavy Dragon (6)
Shivan Dragon (M10) *2
#Legendary Dragon (6)
Dragonmaster Outcast (WWK) *4
Firespitter Whelp (FDN) *4
Goblin War Paint (ZEN) *2
Lava Spike (CHK) *2
Lightning Bolt (M10) *4
Mountain (10E) *4
Mountain (ALA) *4
Mountain (CHK) *4
Mountain (DTK) *2
Mountain (M10) *4
Mountain (SHM) *4
Mountain (ZEN) *4
Rorix Bladewing (ONS) *1
Ryusei, the Falling Star (CHK) *1
#Black Red small creatures
Bloodhall Ooze (CFX) *2
# (PSY) 2x Ashenmoor Liege not available, removed
#Ashenmoor Liege (SHM) *2
Ashenmoor Gouger (SHM) *2
Emberstrike Duo (SHM) *2
Bloodmark Mentor (SHM) *4
Shivan Dragon (M10) *2
Thunderbreak Regent (DTK) *4

View File

@@ -1,68 +1,37 @@
#NAME:Badlands
#DESC:Dangerous foes await you.
#DESC:Both undead, goblins, and
#DESC:other abominations will
#DESC:fight you recklessly.
#Ankh of Mishra
1094
1094
1094
1094
#Armageddon Clock
1095
#Black Vise
1097
1097
#Dancing Scimitar
1104
1104
#Howling Mine
1112
#The Rack
1139
1139
#Bad Moon
1144
1144
#Black Knight
1145
1145
#Drudge Skeletons
1157
1157
1157
1157
#El-Hajjaj
1158
1158
#Hypnotic Specter
1165
1165
#Scathe Zombies
1177
1177
1177
1177
#Zombie Master
1188
#Goblin King
1296
1296
#Orcish Oriflamme
1310
1310
#Wheel of Fortune
1326
#Sedge Troll
1315
1315
1315
#Mons's Goblin Raiders
1308
1308
1308
1308
#Swamp
#DESC:The badlands are full of
#DESC:treachery; even the paths
#DESC:through the marshes will
#DESC:mislead and betray
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Ankh of Mishra (RV) * 4
Armageddon Clock (RV) * 1
Bad Moon (RV) * 2
Black Knight (RV) * 2
Black Vise (RV) * 2
Dancing Scimitar (RV) * 2
Drudge Skeletons (RV) * 4
El-Hajjaj (RV) * 2
Goblin King (RV) * 2
Howling Mine (RV) * 1
Hypnotic Specter (RV) * 2
Mons's Goblin Raiders (RV) * 4
# RV Mountains
1389
1390
1391
1389
1390
1391
1389
1390
1391
Orcish Oriflamme (RV) * 2
Scathe Zombies (RV) * 4
Sedge Troll (RV) * 3
# RV Swamps
1373
1374
1375
@@ -73,13 +42,6 @@
1374
1375
1373
#Mountain
1389
1390
1391
1389
1390
1391
1389
1390
1391
The Rack (RV) * 2
Wheel of Fortune (RV) * 1
Zombie Master (RV) * 1

View File

@@ -1,27 +1,25 @@
#NAME:Millage
#DESC:"You may think that you have
#DESC: a rich repository
#DESC: of spells and artifacts and
#DESC: creatures.
#DESC: But before you know it,
#DESC: all your possessions
#DESC: will crumble
#DESC: in your hands."
Wrath of God (10E) *4
#NAME:Erosion
#DESC:All the things you most value
#DESC:will crumble in your hands.
#HINT:combo hold(Damnation|myhand)^cast(Damnation|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{B}{B})
#HINT:combo hold(Evacuation|myhand)^cast(Evacuation|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({3}{U}{U})
#HINT:combo hold(Moat|myhand)^cast(Moat|myhand)^restriction{type(Moat|mybattlefield)~lessthan~1}^totalmananeeded({2}{W}{W})
#HINT:combo hold(Wrath of God|myhand)^cast(Wrath of God|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{W}{W})
Damnation (PLC) *4
Evacuation (10E) *3
Moat (LEG) *2
Tome Scour (M10) *4
Howling Mine (M10) *4
Glimpse the Unthinkable (RAV) *4
Dream Fracture (EVE) *4
Memory Erosion (ALA) *4
Traumatize (M10) *2
Evacuation (10E) *3
Forced Fruition (LRW) *1
Glimpse the Unthinkable (RAV) *4
Howling Mine (M10) *4
Island (LRW) *2
Island (RAV) *4
Island (TSP) *4
Island (LRW) *2
Swamp (RAV) *4
Swamp (TSP) *3
Memory Erosion (ALA) *4
Moat (LEG) *2
Plains (RAV) *4
Plains (TSP) *3
Swamp (RAV) *4
Swamp (TSP) *3
Tome Scour (M10) *4
Traumatize (M10) *2
Wrath of God (10E) *4

View File

@@ -1,31 +1,21 @@
#NAME:Mind Wracked
#DESC:"What was it, what was it ... I know
#DESC: there was something I wanted to tell
#DESC: you. Or was it something you wanted
#DESC: to tell me? Ah, why can't I remember?
#DESC: I know it was important! Or wasn't it?
#DESC:
#DESC: What am I thinking about here? And
#DESC: are these actually my own thoughts?
#DESC: Who am I anyway? And who are *you*?
#DESC: Ah, never mind. I'll just kill you.
#DESC:
#DESC: You're disrupting my thoughts."
Izzet Signet (GPT) * 4 #
Gelectrode (GPT) * 4 #
Wee Dragonauts (GPT) * 4 #
Stream Hopper (EVE) * 4 #
Mindwrack Liege (EVE) * 4 #
Noggle Ransacker (EVE) * 4 #
Noggle Bridgebreaker (EVE) * 4 #
Magefire Wings (ARB) * 4 #
Unsummon (M10) * 2 #
Lightning Bolt (M10) * 2 #
Island (ZEN) * 3 #
Island (ZEN) * 3 #
Island (ZEN) * 3 #
Island (ZEN) * 3 #
Mountain (ZEN) * 3 #
Mountain (ZEN) * 3 #
Mountain (ZEN) * 3 #
Mountain (ZEN) * 3 #
#DESC:Sometimes forgetting can
#DESC:be an act of aggression
#HINT:castpriority(instant,enchantment,creature,*)
Blistercoil Weird (RTR) * 4
Clout of the Dominus (EVE) * 4
Island (10E) * 4
Island (M10) * 4
Island (ZEN) * 4
Lightning Bolt (M10) * 3
Magefire Wings (ARB) * 4
Mindwrack Liege (EVE) * 2
Mountain (10E) * 4
Mountain (M10) * 4
Mountain (ZEN) * 4
Noggle Bandit (EVE) * 2
Noggle Bridgebreaker (EVE) * 2
Riverfall Mimic (EVE) * 4
Sprite Dragon (CLB) *4
Tempest Angler (BLB) * 4
Unsummon (M10) * 3

View File

@@ -1,21 +1,24 @@
#NAME:Magnivore
#DESC:Do not underestimate
#DESC:this... thing... because
#DESC:it happens to be blind.
#DESC:For if you do, it will
#DESC:be your last mistake!
Hymn to Tourach (FEM) * 4 #
Magnivore (ODY) * 4 #
Stone Rain (CHK) * 4 #
Mountain (RAV) * 4 #
Swamp (RAV) * 4 #
Swamp (TSP) * 4 #
Mountain (TSP) * 4 #
Damnation (PLC) * 4 #
Demolish (10E) * 4 #
Mountain (LRW) * 4 #
Swamp (LRW) * 4 #
Blightning (ALA) * 4 #
Megrim (M10) * 4 #
Sign in Blood (M10) * 4 #
Pyroclasm (M10) * 4 #
#DESC:The Magnivore feeds from
#DESC:expended magic; it grows
#DESC:stronger from the sorcery
#DESC:of others.
#HINT:castpriority(sorcery,creature,*)
#HINT:combo hold(Damnation|myhand)^cast(Damnation|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{B}{B})
#HINT:combo hold(Pyroclasm|myhand)^cast(Pyroclasm|myhand)^restriction{type(creature|opponentbattlefield)~morethan~0}^totalmananeeded({1}{R})
Blightning (ALA) * 4
Damnation (PLC) * 4
Demolish (10E) * 4
Disentomb (M10) * 4
Hymn to Tourach (FEM) * 4
Lava Spike (CHK) * 2
Magnivore (ODY) * 4
Mountain (LRW) * 4
Mountain (RAV) * 4
Mountain (TSP) * 4
Pyroclasm (M10) * 4
Sign in Blood (M10) * 2
Stone Rain (CHK) * 4
Swamp (LRW) * 4
Swamp (RAV) * 4
Swamp (TSP) * 4

View File

@@ -1,30 +1,30 @@
#NAME:Ascendant Bloodwitch
#DESC:Oh to sink one's teeth
#DESC:To sink one's teeth
#DESC:into the warm softness
#DESC:of pulsating flesh!
#DESC:
#DESC:Oh to drink the liquor
#DESC:To drink the liquor
#DESC:of life and passion
#DESC:fresh from the source!
#DESC:
#DESC:Can it be a sin
#DESC:to revel in such bliss?
Dark Ritual (RV) * 2 #
Arrogant Vampire (POR) * 4 #
Vampiric Feast (POR) * 2 #
Vampiric Touch (POR) * 2 #
Stalking Bloodsucker (ODY) * 1 #
Skeletal Vampire (GPT) * 1 #
Ascendant Evincar (10E) * 2 #
Vampiric Link (PLC) * 3 #
Swamp (ALA) * 4 #
Swamp (ALA) * 4 #
Vampire's Bite (ZEN) * 3 #
Blood Seeker (ZEN) * 4 #
Vampire Nighthawk (ZEN) * 4 #
Malakir Bloodwitch (ZEN) * 4 #
Child of Night (M10) * 4 #
Swamp (M10) * 4 #
Swamp (M10) * 4 #
Swamp (M10) * 4 #
Swamp (M10) * 4 #
Arrogant Vampire (POR) * 2
Ascendant Evincar (10E) * 2
Blood Seeker (ZEN) * 4
Child of Night (M10) * 4
Gift of Fangs (VOW) * 3
Malakir Bloodwitch (ZEN) * 4
Necropolis Regent (RTR) * 1
Swamp (10E) * 4
Swamp (ALA) * 4
Swamp (M10) * 4
Swamp (M11) * 4
Swamp (POR) * 4
Swamp (ZEN) * 4
Vampire Cutthroat (EMN) * 3
Vampire Nighthawk (ZEN) * 4
Vampire of the Dire Moon (M20) * 4
Vampiric Link (PLC) * 2
Vampiric Touch (POR) * 2
Vengeant Vampire (PZ2) * 1

View File

@@ -1,24 +1,24 @@
#NAME:Disciplination
#DESC:"Unfortunately, my army
#DESC: has not managed to survive
#DESC: certain disciplinary measures
#DESC: that I was sadly forced to take.
#DESC: But I see that you
#DESC: have brought me reinforcements.
#DESC: How very nice of you. Thanks!"
Paralyze (RV) * 3 #
Moat (LEG) * 4 #
Light of Day (TMP) * 1 #
Torment (STH) * 4 #
Sleeper Agent (USG) * 4 #
Pillory of the Sleepless (GPT) * 4 #
Pacifism (10E) * 4 #
Bound in Silence (FUT) * 4 #
Stronghold Discipline (10E) * 4 #
Recumbent Bliss (EVE) * 4 #
Swamp (ZEN) * 4 #
Plains (ZEN) * 4 #
Plains (ZEN) * 4 #
Plains (ZEN) * 4 #
Swamp (ZEN) * 4 #
Swamp (ZEN) * 4 #
#NAME:Torpor
#DESC:When the army is unoccupied
#DESC:and restless, beware the
#DESC:enemies within.
#HINT:combo hold(Darkest Hour|myhand)^cast(Darkest Hour|myhand)^restriction{type(Darkest Hour|mybattlefield)~lessthan~1}^totalmananeeded({B})
#HINT:combo hold(Light of Day|myhand)^cast(Light of Day|myhand)^restriction{type(Light of Day|mybattlefield)~lessthan~1}^totalmananeeded({3}{W})
#HINT:combo hold(Moat|myhand)^cast(Moat|myhand)^restriction{type(Moat|mybattlefield)~lessthan~1}^totalmananeeded({2}{W}[W})
#HINT:combo hold(Stronghold Discipline|myhand)^cast(Stronghold Discipline|myhand)^restriction{type(creature|opponentbattlefield)~morethan~2}^totalmananeeded({2}{B}{B})
Bound in Silence (FUT) * 2
Darkest Hour (7ED) * 4
Light of Day (TMP) * 4
Moat (LEG) * 4
Pacifism (10E) * 4
Paralyze (RV) * 3
Pillory of the Sleepless (GPT) * 4
Plains (10E) * 4
Plains (7ED) * 4
Plains (ZEN) * 4
Recumbent Bliss (EVE) * 3
Sleeper Agent (USG) * 4
Stronghold Discipline (10E) * 4
Swamp (10E) * 4
Swamp (7ED) * 4
Swamp (ZEN) * 4

View File

@@ -1,6 +1,8 @@
#NAME:Brimaz Commander
#DESC:Brimaz draws power from his
#DESC:cat army. Can you defeat him?
#DESC:A warrior and a spiritual
#DESC:leader, Brimaz leads the
#DESC:pride with honor and
#DESC:humility.
#DESC:
#DESC:Win Wagic duels to unlock
#DESC:more Commander opponents

View File

@@ -1,29 +1,27 @@
#NAME:Enchanted Coatl
#DESC:Beware! The enchantresses
#DESC:have found a new pet!
#DESC:And they enjoy to make it
#DESC:stronger and stronger
#DESC:until no defender
#DESC:can stop it.
Flight (RV) * 2 #
Fastbond (RV) * 1 #
Instill Energy (RV) * 1 #
Verduran Enchantress (RV) * 4 #
Web (RV) * 1 #
Island (MIR) * 4 #
Island (MIR) * 4 #
Island (MIR) * 1 #
Argothian Enchantress (USG) * 4 #
Forest (USG) * 4 #
Forest (USG) * 4 #
Forest (USG) * 4 #
Serra's Sanctum (USG) * 1 #
Ancestral Mask (MRQ) * 4 #
Forest (MRQ) * 1 #
Ground Seal (ODY) * 1 #
Primal Frenzy (ODY) * 2 #
Enchantress's Presence (ONS) * 4 #
Fists of Ironwood (RAV) * 1 #
Howling Mine (10E) * 4 #
Yavimaya Enchantress (10E) * 4 #
Lorescale Coatl (ARB) * 4 #
#DESC:The ancient serpents did not
#DESC:suspect that beautiful
#DESC:enchantresses would bind
#DESC:them to eternal servitude.
Ancestral Mask (MRQ) * 4
Argothian Enchantress (USG) * 4
Enchantress's Presence (ONS) * 4
Fastbond (RV) * 1
Fists of Ironwood (RAV) * 1
Flight (RV) * 2
Forest (MIR) * 4
Forest (RV) * 1
Forest (MRQ) * 4
Forest (USG) * 4
Ground Seal (ODY) * 1
Howling Mine (10E) * 4
Instill Energy (RV) * 1
Island (MIR) * 4
Island (MRQ) * 1
Island (USG) * 4
Lorescale Coatl (ARB) * 4
Primal Frenzy (ODY) * 2
Serra's Sanctum (USG) * 1
Verduran Enchantress (RV) * 4
Web (RV) * 1
Yavimaya Enchantress (10E) * 4

View File

@@ -1,20 +1,23 @@
#NAME:Wraith's Feast
#DESC:"My army may intimidate you,
#DESC: but it is my hunger for life
#DESC: that will kill you."
Dark Ritual (RV) * 4 #
Drain Life (RV) * 4 #
Cabal Coffers (TOR) * 4 #
Last Gasp (RAV) * 3 #
Magus of the Coffers (PLC) * 4 #
Nightmare (10E) * 4 #
Terror (10E) * 3 #
Corrupt (SHM) * 4 #
Swamp (ALA) * 3 #
Swamp (ALA) * 3 #
Consume Spirit (M10) * 4 #
Swamp (M10) * 4 #
Swamp (M10) * 4 #
Swamp (M10) * 4 #
Swamp (M10) * 4 #
Tendrils of Corruption (M10) * 4 #
#DESC:The wraiths consume the
#DESC:spirit as the swamps
#DESC:submerge the flesh
#HINT:castpriority(instant,*)
#HINT:dontblockwith(Crypt Ghast)
#HINT:combo hold(Drain Life|myhand)^cast(Drain Life|myhand)~totalmananeeded({6}{B})
Corrupt (SHM) * 4
Crypt Ghast (GTC) * 4
Drain Life (RV) * 4
Go for the Throat (MBS) * 4
Murder (EMN) * 3
Nightmare (10E) * 4
Squelching Leeches (JOU) * 4
Swamp (10E) * 4
Swamp (9ED) * 4
Swamp (ALA) * 3
Swamp (M10) * 4
Swamp (M11) * 4
Swamp (RAV) * 4
Swamp (SHM) * 3
Tendrils of Corruption (M10) * 4
Terror (10E) * 3

View File

@@ -1,26 +1,21 @@
#NAME:Bloodhall Ooze
#DESC:"Note about specimen 114:
#DESC: After being nourished by living
#DESC: and decaying organic matter,
#DESC: the ooze has grown to proportions
#DESC: we never fathomed.
#DESC: Actually, when I look at its
#DESC: raging tentacles slapping
#DESC: relentlessly against the glassy
#DESC: wall of its prison, I wonder if
#DESC: it might not eventually become a
#DESC: security risk for this labo..."
#DESC: (scrap of paper found among the
#DESC: slimy ruins of the mages' lab)
Kird Ape (RV) * 4 #
Forest (10E) *13 #
Mountain (10E) *11 #
Tattermunge Maniac (SHM) * 4 #
Odious Trow (EVE) * 4 #
Stalker Hag (EVE) * 4 #
Tattermunge Duo (SHM) * 4 #
Noxious Hatchling (EVE) * 4 #
Creakwood Liege (EVE) * 4 #
Rendclaw Trow (EVE) * 4 #
Bloodhall Ooze (CFX) * 4 #
#DESC:After being nourished by living
#DESC:and decaying organic matter,
#DESC:the ooze grew to unfathomable
#DESC:proportions.
Bloodhall Ooze (CFX) * 4
Creakwood Liege (EVE) * 4
Forest (10E) * 4
Forest (LRW) * 4
Forest (SHM) * 4
Forest (RV) * 1
Kird Ape (RV) * 4
Mountain (10E) * 4
Mountain (LRW) * 4
Mountain (SHM) * 3
Noxious Hatchling (EVE) * 4
Odious Trow (EVE) * 4
Rendclaw Trow (EVE) * 4
Stalker Hag (EVE) * 4
Tattermunge Duo (SHM) * 4
Tattermunge Maniac (SHM) * 4

View File

@@ -1,20 +1,24 @@
#NAME:Persistence
#DESC:See your whole army
#DESC:fall victim
#DESC:to wrath and damnation
#DESC:while we persist
#DESC:and survive
#DESC:to strike you
#DESC:when you are defenseless.
Wrath of God (RV) * 4 #
Damnation (PLC) * 4 #
Kitchen Finks (SHM) * 4 #
Safehold Elite (SHM) * 4 #
Lingering Tormentor (EVE) * 3 #
Kithkin Spellduster (EVE) * 1 #
Heartmender (SHM) * 4 #
Restless Apparition (EVE) * 4 #
Rendclaw Trow (EVE) * 4 #
Day of Judgment (ZEN) * 4 #
Swamp (ZEN) *11 #
Plains (ZEN) *13 #
#DESC:You will fall to
#DESC:damnation while we
#DESC:survive and persist.
#HINT:combo hold(Damnation|myhand)^cast(Damnation|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{B}{B})
#HINT:combo hold(Day of Judgment|myhand)^cast(Day of Judgment|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{W}{W})
#HINT:combo hold(Wrath of God|myhand)^cast(Wrath of God|myhand)^restriction{type(creature|opponentbattlefield)~morethan~1}^totalmananeeded({2}{W}{W})
Damnation (PLC) * 4
Day of Judgment (ZEN) * 4
Heartmender (SHM) * 4
Kitchen Finks (SHM) * 4
Kithkin Spellduster (EVE) * 1
Lingering Tormentor (EVE) * 3
Plains (M10) * 4
Plains (RV) * 1
Plains (SHM) * 4
Plains (ZEN) * 4
Rendclaw Trow (EVE) * 4
Restless Apparition (EVE) * 4
Safehold Elite (SHM) * 4
Swamp (M10) * 3
Swamp (SHM) * 4
Swamp (ZEN) * 4
Wrath of God (RV) * 4

View File

@@ -1,66 +1,18 @@
#NAME:Yavimaya
#DESC:Beasts of the woods and the
#DESC:seas are gathering, preparing
#DESC:for battle.
#Armageddon Clock
1095
#Obsianus Golem
1129
1129
#Air Elemental
1189
1189
1189
1189
#Lifetap
1205
1205
#Lord of Atlantis
1206
1206
#Merfolk of the Pearl Trident
1210
1210
1210
1210
#Phantom Monster
1213
1213
#Serendib Efreet
1221
1221
#Sea Serpent
1220
1220
#Cockatrice
1238
#Craw Wurm
1239
#Elvish Archers
1242
#Giant Spider
1249
1249
#Grizzly Bears
1250
1250
#Scryb Sprites
1264
1264
1264
#Thicket Basilisk
1267
# (PSY) Timber Wolves not available any more, replaced with Scryb Sprites
#Timber Wolves
#1268
#Tsunami
1271
#Wall of Ice
1274
#War Mammoth
1277
1277
#Forest
#DESC:On the island of Yavimaya
#DESC:the forest is not just
#DESC:ancient and wild. It is
#DESC:also sentient.
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#HINT:combo hold(Tranquility|myhand)^cast(Tranquility|myhand)^restriction{type(enchantment|opponentbattlefield)~morethan~0}^totalmananeeded({2}{G})
Air Elemental (RV) * 4
Armageddon Clock (RV) * 1
Cockatrice (RV) * 1
Craw Wurm (RV) * 1
Elvish Archers (RV) * 2
# RV Forests
1386
1387
1388
@@ -73,7 +25,9 @@
1386
1387
1388
#Island
Giant Spider (RV) * 2
Grizzly Bears (RV) * 2
# RV Islands
1392
1393
1394
@@ -86,3 +40,14 @@
1392
1393
1394
Lord of Atlantis (RV) * 3
Merfolk of the Pearl Trident (RV) * 4
Obsianus Golem (RV) * 2
Phantom Monster (RV) * 2
Scryb Sprites (RV) * 3
Sea Serpent (RV) * 2
Serendib Efreet (RV) * 2
Thicket Basilisk (RV) * 1
Tranquility (RV) * 1
Wall of Ice (RV) * 1
War Mammoth (RV) * 2

View File

@@ -1,21 +1,22 @@
#NAME:Bushwhacked
#DESC:"Attack! Heal! Attack! Heal!
#DESC: And again and again and again.
#DESC: Oh, how I miss my days
#DESC: in the goblin army!
#DESC: There, I never had to do
#DESC: TWO things in a battle!"
Swords to Plowshares (ICE) * 4 #
Akki Raider (BOK) * 4 #
Lightning Helix (RAV) * 4 #
Knight of Meadowgrain (LRW) * 4 #
Tattermunge Maniac (SHM) * 3 #
Nobilis of War (EVE) * 3 #
Plated Geopede (ZEN) * 4 #
Steppe Lynx (ZEN) * 4 #
Elite Vanguard (M10) * 3 #
Lightning Bolt (M10) * 4 #
Plains (ZEN) * 5 #
Mountain (ZEN) * 4 #
Plains (ZEN) * 7 #
Mountain (ZEN) * 7 #
#NAME:Crucible
#DESC:Destruction is the forerunner
#DESC:of new beginnings
#HINT:combo hold(Armageddon|myhand)^cast(Armageddon|myhand)^restriction{type(Crucible of Worlds|mybattlefield)~morethan~0}^totalmananeeded({3}{W})
Akki Raider (BOK) * 2
Akoum Hellhound (ZNR) * 3
Armageddon (A25) * 3
Crucible of Worlds (5DN) * 3
Fearless Fledgling (ZNR) * 4
Lightning Bolt (M10) * 3
Lightning Helix (RAV) * 4
Mountain (RAV) * 3
Mountain (M10) * 4
Mountain (ZEN) * 4
Nobilis of War (EVE) * 2
Plains (RAV) * 4
Plains (M10) * 4
Plains (ZEN) * 4
Plated Geopede (ZEN) * 4
Prowling Felidar (ZNR) * 2
Steppe Lynx (ZEN) * 4
Swords to Plowshares (ICE) * 3

View File

@@ -1,20 +1,21 @@
#NAME:The Tarmack
#DESC:How does it feel
#DESC:being stripped to the rack
#DESC:while Tarmogoyf licks
#DESC:the soles of your feet?
The Rack (RV) * 4 #
Hymn to Tourach (FEM) * 4 #
Darksteel Ingot (DST) * 3 #
Geth's Grimoire (DST) * 3 #
Forest (RAV) * 5 #
Forest (RAV) * 4 #
Hypnotic Specter (10E) * 4 #
Tarmogoyf (FUT) * 4 #
Peppersmoke (LRW) * 4 #
Nath of the Gilt-Leaf (LRW) * 4 #
Executioner's Capsule (ALA) * 3 #
Doom Blade (M10) * 4 #
Weakness (M10) * 3 #
Swamp (ZEN) * 5 #
Swamp (ZEN) * 6 #
#NAME:Tarmogoyf's Rack
#DESC:The Tarmogoyf is an
#DESC:odious creaure, feeding
#DESC:on the suffering of others
Darksteel Ingot (DST) * 3 #
Doom Blade (M10) * 4 #
Fell (BLB) * 4 #
Forest (M10) * 1 #
Forest (RAV) * 4 #
Forest (ZEN) * 4 #
Geth's Grimoire (DST) * 3 #
Go for the Throat (MOC) * 4 #
Hymn to Tourach (FEM) * 4 #
Hypnotic Specter (10E) * 4 #
Murder (DSK) * 2 #
Nath of the Gilt-Leaf (LRW) * 3 #
Swamp (M10) * 4 #
Swamp (RAV) * 4 #
Swamp (ZEN) * 4 #
Tarmogoyf (FUT) * 4 #
The Rack (RV) * 4 #

View File

@@ -1,25 +1,23 @@
#NAME:Enchantresses
#DESC:Fear the might
#DESC:of the Enchantresses!
#DESC:If you don't take care,
#DESC:they will fire
#DESC:a barrage of spells
#DESC:while growing
#DESC:to powerful warriors
#DESC:themselves.
Web (RV) * 4 #
Wall of Blossoms (STH) * 4 #
Argothian Enchantress (USG) * 4 #
Yavimaya Enchantress (UDS) * 4 #
Ancestral Mask (MRQ) * 3 #
Briar Patch (MRQ) * 3 #
Fists of Ironwood (RAV) * 4 #
Forest (RAV) * 4 #
Forest (RAV) * 4 #
Forest (RAV) * 4 #
Gaea's Anthem (PLC) * 3 #
Primal Rage (10E) * 3 #
Forest (ALA) * 4 #
Forest (ALA) * 4 #
Forest (ALA) * 4 #
Birds of Paradise (M10) * 4 #
#DESC:The enchantresses weave
#DESC:their spells in mighty
#DESC:webs, ready to catch the
#DESC:foolish and unwary.
Ancestral Mask (MRQ) * 4 #
Argothian Enchantress (USG) * 4 #
Birds of Paradise (M10) * 4 #
Blanchwood Armor (10E) * 2 #
Briar Patch (MRQ) * 2 #
Canopy Spider (10E) * 2 #
Druid of the Cowl (AER) * 2 #
Fists of Ironwood (RAV) * 4 #
Forest (10E) * 4 #
Forest (ALA) * 4 #
Forest (M10) * 4 #
Forest (M11) * 4 #
Forest (RAV) * 4 #
Forest (RV) * 2 #
Gaea's Anthem (PLC) * 3 #
Primal Rage (10E) * 3 #
Web (RV) * 4 #
Yavimaya Enchantress (UDS) * 4 #

View File

@@ -1,22 +1,25 @@
#NAME:Slightly Sligh
#DESC:The Mogg are loose!
#DESC:And they come
#DESC:with some powerful spells
#DESC:too!
Mogg Conscripts (TMP) * 4 #
Mogg Flunkies (STH) * 4 #
Flame Rift (NMS) * 2 #
Mogg Sentry (PLS) * 2 #
Great Furnace (MRD) * 4 #
Lava Spike (CHK) * 4 #
Brute Force (PLC) * 4 #
Mogg Fanatic (10E) * 4 #
Tattermunge Maniac (SHM) * 4 #
Mudbrawler Cohort (SHM) * 4 #
Mountain (ALA) * 4 #
Mountain (ALA) * 4 #
Mountain (ALA) * 4 #
Mountain (ALA) * 2 #
Goblin Chieftain (M10) * 2 #
Raging Goblin (M10) * 4 #
Lightning Bolt (M10) * 4 #
#NAME:Mogg Brawlers
#DESC:Mogg Goblins are known for
#DESC:their size, their savagery...
#DESC:and their recklessness.
#DESC:
#DESC:Deck inspired by Paul Sligh
Consuming Fervor (AKH) * 2 #
Foundry Street Denizen (GTC) * 2 #
Furor of the Bitten (ISD) * 2 #
Goblin Chieftain (M10) * 2 #
Great Furnace (MRD) * 4 #
Lava Spike (CHK) * 4 #
Legion Loyalist (GTC) * 2 #
Lightning Bolt (M10) * 4 #
Mogg Conscripts (TMP) * 4 #
Mogg Flunkies (STH) * 4 #
Mogg Sentry (PLS) * 2 #
Mountain (10E) * 2 #
Mountain (ALA) * 4 #
Mountain (SHM) * 4 #
Mountain (TMP) * 4 #
Mudbrawler Cohort (SHM) * 4 #
Raging Goblin (M10) * 4 #
Skullcrack (GTC) * 2 #
Tattermunge Maniac (SHM) * 4 #

View File

@@ -1,26 +1,21 @@
#NAME:Barbarians
#DESC: Being a barbarian can be really,
#DESC: really hard. People think that all
#DESC: we are interested in is to spit out
#DESC: primitive threats like "Me barbarian!
#DESC: Me not like your face!", and then
#DESC: brutally crush the next best guy.
#DESC:
#DESC: This is is outrageously wrong! We can
#DESC: actually speak full sentences before
#DESC: we brutally crush the next best guy.
#DESC: (Ugh Skullcrusher,
#DESC: Barbarian Philosopher)
Keldon Warlord (RV) * 4 #
Balduvian Barbarians (ICE) * 4 #
Balduvian War-Makers (ALL) * 3 #
Raging Goblin (POR) * 4 #
Barbarian General (PTK) * 3 #
Barbarian Horde (PTK) * 3 #
Balthor the Stout (TOR) * 2 #
Halberdier (ODY) * 3 #
Kamahl, Pit Fighter (ODY) * 2 #
Jeska, Warrior Adept (JUD) * 2 #
Lovisa Coldeyes (CSP) * 2 #
Highland Berserker (ZEN) * 4 #
Mountain (ZEN) *24 #
#DESC:'War is the trade of barbarians'
#DESC:Napoleon Bonaparte
Balduvian Barbarians (ICE) * 4 #
Balthor the Stout (TOR) * 2 #
Barbarian General (PTK) * 2 #
Bravado (USG) * 2 #
Halberdier (ODY) * 2 #
Highland Berserker (ZEN) * 4 #
Hobgoblin Captain (AFR) * 2 #
Kamahl, Pit Fighter (ODY) * 2 #
Keldon Warlord (RV) * 4 #
Lovisa Coldeyes (CSP) * 4 #
Mountain (4ED) * 4 #
Mountain (ICE) * 4 #
Mountain (ODY) * 4 #
Mountain (POR) * 4 #
Mountain (RV) * 4 #
Mountain (ZEN) * 4 #
Raging Goblin (POR) * 4 #
Sardian Cliffstomper (BRO) * 4 #

View File

@@ -1,20 +1,21 @@
#NAME:Soul Blossom Procession
#DESC:"Beware!
#DESC: they come from everywhere!"
#DESC:
#DESC:Meet a diverse army
#DESC:drafted by unusual means.
Swords to Plowshares (ICE) * 4 #
Raise the Alarm (MRD) * 4 #
Plains (MRD) * 7 #
Swamp (MRD) * 5 #
Swamp (MRD) * 5 #
Skeletal Vampire (GPT) * 2 #
Glorious Anthem (10E) * 4 #
Spectral Procession (SHM) * 4 #
Bitterblossom (MOR) * 4 #
Voracious Hatchling (EVE) * 2 #
Deathbringer Liege (EVE) * 4 #
Plains (ALA) * 7 #
Deathgreeter (ALA) * 4 #
Soul Warden (M10) * 4 #
#DESC:The most powerful sorcerors
#DESC:can conjure biddable armies
#DESC:to serve their every desire.
Bitterblossom (MOR) * 4 #
Deathbringer Liege (EVE) * 4 #
Deathgreeter (ALA) * 4 #
Glorious Anthem (10E) * 4 #
Plains (10E) * 2 #
Plains (ALA) * 4 #
Plains (ICE) * 4 #
Plains (MRD) * 4 #
Raise the Alarm (MRD) * 4 #
Skeletal Vampire (GPT) * 2 #
Soul Warden (M10) * 4 #
Spectral Procession (SHM) * 4 #
Swamp (ALA) * 2 #
Swamp (ICE) * 4 #
Swamp (MRD) * 4 #
Swords to Plowshares (ICE) * 4 #
Voracious Hatchling (EVE) * 2 #

View File

@@ -1,18 +1,25 @@
#NAME:Blind Faith
#DESC:"No more Dark and Light
#DESC: for it is one that we fight"
Unholy Strength (RV) * 2 #
Holy Strength (RV) * 2 #
Silent Attendant (USG) * 2 #
Temple Acolyte (P02) * 4 #
Priest of Gix (USG) * 4 #
Teroh's Faithful (TOR) * 2 #
Doubtless One (ONS) * 4 #
Profane Prayers (ONS) * 4 #
Akroma's Devoted (LGN) * 2 #
Soul Warden (10E) * 4 #
Venerable Monk (10E) * 2 #
Ancestor's Chosen (10E) * 2 #
Plains (ALA) *11 #
Swamp (ALA) *11 #
Acolyte of Xathrid (M10) * 4 #
#DESC:Some clerics follow the life-
#DESC:giving path of righteousness.
#DESC:Others invoke the horrors
#DESC:of the darkness.
#HINT:castpriority(creature,*)
#HINT:combo hold(Profane Prayers|myhand)^cast(Profane Prayers|myhand)^restriction{type(creature|mybattlefield)~morethan~2}^totalmananeeded({2}{B}{B})
#HINT:alwaysattackwith(Vile Deacon)
Doubtless One (ONS) * 4 #
Elenda's Hierophant (LCC) * 4 #
Nullpriest of Oblivion (ZNR) * 2 #
Plains (10E) * 4 #
Plains (ALA) * 4 #
Plains (M10) * 4 #
Profane Prayers (ONS) * 4 #
Soul's Attendant (ROE) * 2
Soul Warden (10E) * 4 #
Swamp (10E) * 4 #
Swamp (ALA) * 4 #
Swamp (M10) * 4 #
Temple Acolyte (P02) * 4 #
Teroh's Faithful (TOR) * 2 #
Venerable Monk (10E) * 2 #
Vile Deacon (LGN) * 4 #
Vito, Thorn of the Dusk Rose (M21) * 4 #

View File

@@ -1,15 +1,24 @@
#NAME:Planet of the Apes
#DESC:A planet where apes
#DESC:evolved from men?
#DESC:There's got to be an answer!
Tree Monkey (P02) *4
Kird Ape (RV) *4
Barbary Apes (LEG) *4
Zodiac Monkey (PTK) *4
Gorilla Warrior (USG) *4
Gorilla Pack (ICE) *4
Raging Gorilla (VIS) *4
Gorilla Chieftain (ALL) *4
Ancient Silverback (UDS) *4
Forest (RV) *16
Mountain (RV) *8
#DESC:Stealthy, ferocious and
#DESC:intelligent, the apes
#DESC:are rulers of their
#DESC:forest domain.
Alpha Status (SCG) * 4
Ancient Silverback (UDS) * 1
Barbary Apes (LEG) * 4
Forest (5ED) * 4
Forest (ICE) * 4
Forest (MIR) * 4
Forest (POR) * 2
Forest (RV) * 4
Gorilla Chieftain (ALL) * 2
Gorilla Pack (ICE) * 3
Gorilla Warrior (USG) * 3
Hidden Gibbons (ULG) * 4
Silverback Shaman (M20) * 1
Towering Gibbon (J22) * 4
Tree Monkey (P02) * 4
Uktabi Orangutan (VIS) * 2
Unnatural Growth (MID) * 2
Yavimaya, Cradle of Growth (MH2) * 4
Zodiac Monkey (PTK) * 4

View File

@@ -1,4 +1,9 @@
#NAME:Ranar Commander
#DESC:Ranar swore never to
#DESC:abandon his post. For
#DESC:him, guardianship is a
#DESC:sacred honor.
#DESC:
#DESC:Kaldheim Commander Deck
#DESC:Phantom Premonition
#HINT:castpriority(commander,*)

View File

@@ -1,19 +1,23 @@
#NAME:Balefire Blast
#DESC:"Order and chaos
#DESC: can be united
#DESC: by the raw power
#DESC: of pure fanaticism."
Boros Swiftblade (RAV) * 4 #
Lightning Helix (RAV) * 4 #
Boros Recruit (RAV) * 4 #
Mountain (RAV) *12 #
Plains (RAV) *12 #
Skyknight Legionnaire (RAV) * 3 #
Hobgoblin Dragoon (EVE) * 1 #
Rise of the Hobgoblins (EVE) * 2 #
Belligerent Hatchling (EVE) * 4 #
Nobilis of War (EVE) * 4 #
Hearthfire Hobgoblin (EVE) * 4 #
Balefire Liege (EVE) * 4 #
Bull Cerodon (ALA) * 1 #
Cerodon Yearling (ARB) * 1 #
#DESC:Order and chaos
#DESC:can be united
#DESC:by the power of
#DESC:pure fanaticism.
Balefire Liege (EVE) * 4 #
Battlegate Mimic (EVE) * 3 #
Belligerent Hatchling (EVE) * 4 #
Boros Recruit (RAV) * 4 #
Boros Swiftblade (RAV) * 4 #
Bull Cerodon (ALA) * 1 #
Cerodon Yearling (ARB) * 1 #
Hearthfire Hobgoblin (EVE) * 4 #
Hobgoblin Dragoon (EVE) * 1 #
Lightning Helix (RAV) * 4 #
Mountain (ALA) * 4 #
Mountain (M13) * 4 #
Mountain (RAV) * 4 #
Nobilis of War (EVE) * 3 #
Plains (ALA) * 4 #
Plains (M13) * 4 #
Plains (RAV) * 4 #
Skyknight Legionnaire (RAV) * 3 #

View File

@@ -1,25 +1,26 @@
#NAME:Wrath
#DESC:O miserable of happy
#DESC:Is this the end
#DESC:Of this new glorious world
# Land(s)
Plains (8ED) * 21
# Creature(s)
#DESC:The truly wrathful person
#DESC:harms themselves as much as
#DESC:their enemies
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
#HINT:combo hold(Armageddon|myhand)^cast(Armageddon|myhand)^restriction{type(creature|mybattlefield)~morethan~1}^totalmananeeded({3}{W})
#HINT:combo hold(Wrath of God|myhand)^cast(Wrath of God|myhand)^restriction{type(creature|opponentbattlefield)~morethan~2}^totalmananeeded({2}{W}{W})
Armageddon (VMA) * 4
Crusade (DDF) * 4
Guardians of Akrasa (ALA) * 4
Paladin en-Vec (9ED) * 1
Plains (8ED) * 4
Plains (9ED) * 4
Plains (M10) * 4
Plains (ALA) * 4
Plains (DDF) * 4
Plains (10E) * 1
Savannah Lions (8ED) * 4
Serra Angel (8ED) * 4
Sigiled Paladin (ALA) * 4
Skyhunter Skirmisher (5DN) * 3
White Knight (M10) * 4
# Enchantment(s)
Crusade (DDF) * 4
# Instant(s)
Swords to Plowshares (DDF) * 4
# Sorcery(s)
Armageddon (VMA) * 4
Wrath of God (8ED) * 3
White Knight (M10) * 4
Wrath of God (8ED) * 3

View File

@@ -1,23 +1,23 @@
#NAME:Life & Death
#DESC:"Life causes death.
#DESC: Death provides the basis
#DESC: for new life.
#DESC:
#DESC: Life and Death do not contradict,
#DESC: but complement each other.
#DESC:
#DESC: Understanding their interaction
#DESC: is the secret of our strength."
Dark Ritual (RV) * 4 #
Righteous War (VIS) * 4 #
Vindicate (APC) * 4 #
Swamp (RAV) *11 #
Plains (RAV) *11 #
Mourning Thrull (GPT) * 4 #
Nip Gwyllion (EVE) * 4 #
Harvest Gwyllion (EVE) * 2 #
Stillmoon Cavalier (EVE) * 2 #
Voracious Hatchling (EVE) * 4 #
Deathbringer Liege (EVE) * 4 #
Restless Apparition (EVE) * 2 #
Zealous Persecution (ARB) * 4 #
#DESC:'As man, perhaps, the moment
#DESC:of his breath, / Receives the
#DESC:lurking principle of death'
#DESC:Alexander Pope
#HINT:combo hold(Zealous Persecution|myhand)^cast(Zealous Persecution|myhand)^restriction{type(creature|mybattlefield)~morethan~2}^totalmananeeded({W}{B})
Athreos, God of Passage (JOU) * 2 #
Deathbringer Liege (EVE) * 4 #
Harvest Gwyllion (EVE) * 2 #
Moonrise Cleric (BLB) * 2 #
Mourning Thrull (GPT) * 4 #
Nightsky Mimic (EVE) * 2 #
Nip Gwyllion (EVE) * 4 #
Plains (M13) * 4 #
Plains (RAV) * 4 #
Plains (RV) * 4 #
Righteous War (VIS) * 4 #
Swamp (M13) * 4 #
Swamp (RAV) * 4 #
Swamp (RV) * 4 #
Vindicate (APC) * 4 #
Voracious Hatchling (EVE) * 4 #
Zealous Persecution (ARB) * 4 #

View File

@@ -1,58 +1,16 @@
#Mill /Artifact Game for AI
#NAME:Inquisitor
#DESC:Black vises in Ivory Towers
#DESC:await you, when facing
#DESC:this artificially created army,
#DESC:designed to completely stop
#DESC:your progress, and then
#DESC:torture you to death.
#4x Howling Mine
129598
129598
129598
129598
#4 x Black Vise
1097
1097
1097
1097
#4x Ivory Tower
1115
1115
1115
1115
#4x Obsianus Golem
1129
1129
1129
1129
#4xTower Gargoyle
174924
174924
174924
174924
#4xLiving Wall
1123
1123
1123
1123
#4x Dancing Scimitar
1104
1104
1104
1104
#4x Clockwork Beast
1101
1101
1101
1101
#4x Master of Etherium
175114
175114
175114
175114
#Lands
#10islands
#DESC:'The voice of nature is
#DESC:worthless in front of
#DESC:the Inquisition'
#DESC:Friedrich Schiller
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Black Vise (RV) * 4
Clockwork Beast (RV) * 4
Dancing Scimitar (RV) * 4
Howling Mine (10E) * 4
# 10E Islands
129606
129606
129606
@@ -63,15 +21,11 @@
129607
129608
129609
#7swamps
129755
129756
129757
129754
129755
129756
129757
#7Plains
Ivory Tower (RV) * 4
Living Wall (RV) * 4
Master of Etherium (ALA) * 4
Obsianus Golem (RV) * 4
# 10E Plains
129681
129682
129683
@@ -79,3 +33,12 @@
129681
129682
129683
# 10E Swamps
129755
129756
129757
129754
129755
129756
129757
Tower Gargoyle (ALA) * 4

View File

@@ -1,22 +1,23 @@
#NAME:Shatter
#DESC:See all your efforts shattered
#DESC:by the all-consuming power
#DESC:of righteous fury.
# Land(s)
Mountain (8ED) * 12
Plains (8ED) * 12
# Creature(s)
#DESC:See your efforts shattered
#DESC:by righteous fury
#DESC:
#DESC:Win matches to unlock more
#DESC:opponents, sets and game modes
Anaba Bodyguard (10E) * 4
Ancestor's Chosen (10E) * 4
Angelic Wall (10E) * 4
Rock Badger (10E) * 4
Steadfast Guard (10E) * 4
Suntail Hawk (8ED) * 2
Thundering Giant (10E) * 4
# Instant(s)
Disenchant (M20) * 2
Lightning Bolt (M10) * 4
Mountain (10E) * 4
Mountain (8ED) * 4
Mountain (M10) * 4
Plains (10E) * 4
Plains (8ED) * 4
Plains (M10) * 4
Rock Badger (10E) * 4
Shatter (8ED) * 2
Tempest of Light (MRD) * 2
Steadfast Guard (10E) * 4
Suntail Hawk (8ED) * 2
Tempest of Light (MRD) * 2
Thundering Giant (10E) * 4

View File

@@ -88,4 +88,4 @@ auto=@movedto(other *|battlefield) restriction{type(*[isflipped]|nonbattlezone)~
auto=@each cleanup:all(*|myBattlefield) resetDamage
#Stun counter
auto=@untapped(*[counter{0/0.1.Stun}]|mybattlefield):name(Stunned creature can't untap) name(Stunned creature can't untap) all(trigger[to]) transforms((,newability[tap(noevent)],newability[counter(0/0.-1.Stun)])) oneshot
auto=@untapped(*[counter{0/0.1.Stun}]|mybattlefield):name(Stunned creature can't untap) name(Stunned creature can't untap) all(trigger[to]) transforms((,newability[tap(noevent)],newability[counter(0/0.-1.Stun)])) oneshot

View File

@@ -1,5 +1,5 @@
include randomCommander.txt
name=Random Commander From File
name=Random Everlasting Commander
unlock=prx_rnddeck
[INIT]
mode=random_commander_from_file

File diff suppressed because it is too large Load Diff

View File

@@ -3,219 +3,9 @@ author=Wagic Team
name=Commander 2021
orderindex=COM-P.C21
year=2021-04-23
total=371
total=410
[/meta]
[card]
primitive=Myr
id=-519288
rarity=T
[/card]
[card]
primitive=Eldrazi
id=-519281
rarity=T
[/card]
[card]
primitive=Saproling
id=-519276
rarity=T
[/card]
[card]
primitive=Spirit
id=-519265
rarity=T
[/card]
[card]
primitive=Elemental
id=-519246
rarity=T
[/card]
[card]
primitive=Elephant
id=-519242
rarity=T
[/card]
[card]
primitive=Beast
id=-519238
rarity=T
[/card]
[card]
primitive=Elephant
id=-519231
rarity=T
[/card]
[card]
primitive=Hydra
id=-519229
rarity=T
[/card]
[card]
primitive=Insect
id=-519228
rarity=T
[/card]
[card]
primitive=Insect
id=-519227
rarity=T
[/card]
[card]
primitive=Wurm
id=-519225
rarity=T
[/card]
[card]
primitive=Beast
id=-519223
rarity=T
[/card]
[card]
primitive=Beast
id=-519221
rarity=T
[/card]
[card]
primitive=Thopter
id=-519216
rarity=T
[/card]
[card]
primitive=Thopter
id=-519212
rarity=T
[/card]
[card]
primitive=Zombie
id=-519173
rarity=T
[/card]
[card]
primitive=Drake
id=-519166
rarity=T
[/card]
[card]
primitive=Kraken
id=-519162
rarity=T
[/card]
[card]
primitive=Lizard
id=-519161
rarity=T
[/card]
[card]
primitive=Construct
id=-519157
rarity=T
[/card]
[card]
primitive=Boar
id=-519153
rarity=T
[/card]
[card]
primitive=Horror
id=-519129
rarity=T
[/card]
[card]
primitive=Eldrazi
id=-519117
rarity=T
[/card]
[card]
primitive=Golem
id=-518475
rarity=T
[/card]
[card]
primitive=Fractal
id=-518473
rarity=T
[/card]
[card]
primitive=Fractal
id=-518468
rarity=T
[/card]
[card]
primitive=Inkling
id=-518467
rarity=T
[/card]
[card]
primitive=Beast
id=-518465
rarity=T
[/card]
[card]
primitive=Fractal
id=-518463
rarity=T
[/card]
[card]
primitive=Pest
id=-518461
rarity=T
[/card]
[card]
primitive=Fractal
id=-518460
rarity=T
[/card]
[card]
primitive=Fractal
id=-518457
rarity=T
[/card]
[card]
primitive=Demon
id=-518441
rarity=T
[/card]
[card]
primitive=Inkling
id=-518436
rarity=T
[/card]
[card]
primitive=Pest
id=-518432
rarity=T
[/card]
[card]
primitive=Kraken
id=-518429
rarity=T
[/card]
[card]
primitive=Target
id=-518422
rarity=T
[/card]
[card]
primitive=Construct
id=-518411
rarity=T
[/card]
[card]
primitive=Inkling
id=-518410
rarity=T
[/card]
[card]
primitive=Elemental
id=-518310
rarity=T
[/card]
[card]
primitive=Inkling
id=-518308
rarity=T
[/card]
[card]
primitive=Breena, the Demagogue
id=518307
rarity=M
@@ -938,7 +728,7 @@ rarity=C
[card]
primitive=Greed
id=519180
rarity=R
rarity=U
[/card]
[card]
primitive=Infernal Offering
@@ -1703,7 +1493,7 @@ rarity=R
[card]
primitive=Lonely Sandbar
id=519333
rarity=C
rarity=U
[/card]
[card]
primitive=Lumbering Falls
@@ -1788,7 +1578,7 @@ rarity=R
[card]
primitive=Secluded Steppe
id=519350
rarity=C
rarity=U
[/card]
[card]
primitive=Shivan Reef
@@ -1851,6 +1641,406 @@ id=519362
rarity=R
[/card]
[card]
primitive=Breena, the Demagogue
id=521597
rarity=M
[/card]
[card]
primitive=Felisa, Fang of Silverquill
id=521598
rarity=M
[/card]
[card]
primitive=Veyran, Voice of Duality
id=521599
rarity=M
[/card]
[card]
primitive=Zaffai, Thunder Conductor
id=521600
rarity=M
[/card]
[card]
primitive=Gyome, Master Chef
id=521601
rarity=M
[/card]
[card]
primitive=Willowdusk, Essence Seer
id=521602
rarity=M
[/card]
[card]
primitive=Alibou, Ancient Witness
id=521603
rarity=M
[/card]
[card]
primitive=Osgir, the Reconstructor
id=521604
rarity=M
[/card]
[card]
primitive=Adrix and Nev, Twincasters
id=521605
rarity=M
[/card]
[card]
primitive=Esix, Fractal Bloom
id=521606
rarity=M
[/card]
[card]
primitive=Angel of the Ruins
id=521607
rarity=R
[/card]
[card]
primitive=Archaeomancer's Map
id=521608
rarity=R
[/card]
[card]
primitive=Bronze Guardian
id=521609
rarity=R
[/card]
[card]
primitive=Combat Calligrapher
id=521610
rarity=R
[/card]
[card]
primitive=Digsite Engineer
id=521611
rarity=R
[/card]
[card]
primitive=Excavation Technique
id=521612
rarity=R
[/card]
[card]
primitive=Guardian Archon
id=521613
rarity=R
[/card]
[card]
primitive=Losheel, Clockwork Scholar
id=521614
rarity=R
[/card]
[card]
primitive=Monologue Tax
id=521615
rarity=R
[/card]
[card]
primitive=Nils, Discipline Enforcer
id=521616
rarity=R
[/card]
[card]
primitive=Promise of Loyalty
id=521617
rarity=R
[/card]
[card]
primitive=Scholarship Sponsor
id=521618
rarity=R
[/card]
[card]
primitive=Commander's Insight
id=521619
rarity=R
[/card]
[card]
primitive=Curiosity Crafter
id=521620
rarity=R
[/card]
[card]
primitive=Dazzling Sphinx
id=521621
rarity=R
[/card]
[card]
primitive=Deekah, Fractal Theorist
id=521622
rarity=R
[/card]
[card]
primitive=Inspiring Refrain
id=521623
rarity=R
[/card]
[card]
primitive=Muse Vortex
id=521624
rarity=R
[/card]
[card]
primitive=Octavia, Living Thesis
id=521625
rarity=R
[/card]
[card]
primitive=Perplexing Test
id=521626
rarity=R
[/card]
[card]
primitive=Replication Technique
id=521627
rarity=R
[/card]
[card]
primitive=Sly Instigator
id=521628
rarity=R
[/card]
[card]
primitive=Spawning Kraken
id=521629
rarity=R
[/card]
[card]
primitive=Theoretical Duplication
id=521630
rarity=R
[/card]
[card]
primitive=Author of Shadows
id=521631
rarity=R
[/card]
[card]
primitive=Blight Mound
id=521632
rarity=R
[/card]
[card]
primitive=Bold Plagiarist
id=521633
rarity=R
[/card]
[card]
primitive=Cunning Rhetoric
id=521634
rarity=R
[/card]
[card]
primitive=Essence Pulse
id=521635
rarity=R
[/card]
[card]
primitive=Fain, the Broker
id=521636
rarity=R
[/card]
[card]
primitive=Incarnation Technique
id=521637
rarity=R
[/card]
[card]
primitive=Keen Duelist
id=521638
rarity=R
[/card]
[card]
primitive=Marshland Bloodcaster
id=521639
rarity=R
[/card]
[card]
primitive=Stinging Study
id=521640
rarity=R
[/card]
[card]
primitive=Tivash, Gloom Summoner
id=521641
rarity=R
[/card]
[card]
primitive=Veinwitch Coven
id=521642
rarity=R
[/card]
[card]
primitive=Audacious Reshapers
id=521643
rarity=R
[/card]
[card]
primitive=Battlemage's Bracers
id=521644
rarity=R
[/card]
[card]
primitive=Creative Technique
id=521645
rarity=R
[/card]
[card]
primitive=Cursed Mirror
id=521646
rarity=R
[/card]
[card]
primitive=Fiery Encore
id=521647
rarity=R
[/card]
[card]
primitive=Inferno Project
id=521648
rarity=R
[/card]
[card]
primitive=Laelia, the Blade Reforged
id=521649
rarity=R
[/card]
[card]
primitive=Radiant Performer
id=521650
rarity=R
[/card]
[card]
primitive=Rionya, Fire Dancer
id=521651
rarity=R
[/card]
[card]
primitive=Rousing Refrain
id=521652
rarity=R
[/card]
[card]
primitive=Ruin Grinder
id=521653
rarity=R
[/card]
[card]
primitive=Surge to Victory
id=521654
rarity=R
[/card]
[card]
primitive=Blossoming Bogbeast
id=521655
rarity=R
[/card]
[card]
primitive=Ezzaroot Channeler
id=521656
rarity=R
[/card]
[card]
primitive=Fractal Harness
id=521657
rarity=R
[/card]
[card]
primitive=Guardian Augmenter
id=521658
rarity=R
[/card]
[card]
primitive=Healing Technique
id=521659
rarity=R
[/card]
[card]
primitive=Paradox Zone
id=521660
rarity=R
[/card]
[card]
primitive=Pest Infestation
id=521661
rarity=R
[/card]
[card]
primitive=Ruxa, Patient Professor
id=521662
rarity=R
[/card]
[card]
primitive=Sequence Engine
id=521663
rarity=R
[/card]
[card]
primitive=Sproutback Trudge
id=521664
rarity=R
[/card]
[card]
primitive=Trudge Garden
id=521665
rarity=R
[/card]
[card]
primitive=Yedora, Grave Gardener
id=521666
rarity=R
[/card]
[card]
primitive=Inkshield
id=521667
rarity=R
[/card]
[card]
primitive=Oversimplify
id=521668
rarity=R
[/card]
[card]
primitive=Reinterpret
id=521669
rarity=R
[/card]
[card]
primitive=Revival Experiment
id=521670
rarity=R
[/card]
[card]
primitive=Wake the Past
id=521671
rarity=R
[/card]
[card]
primitive=Elementalist's Palette
id=521672
rarity=R
[/card]
[card]
primitive=Geometric Nexus
id=521673
rarity=R
[/card]
[card]
primitive=Tempting Contract
id=521674
rarity=R
[/card]
[card]
primitive=Triplicate Titan
id=521675
rarity=R
[/card]
[card]
primitive=Witch's Clinic
id=521676
rarity=R
[/card]
[card]
primitive=Tranquil Thicket
id=519363
rarity=C

View File

@@ -362,7 +362,7 @@ rarity=U
[/card]
[card]
primitive=Nighteyes the Desecrator
id=446808
id=446807
rarity=T
[/card]
[card]

View File

@@ -1191,7 +1191,7 @@ rarity=M
[/card]
[card]
primitive=Ajani, Nacatl Avenger
id=661755
id=661754
rarity=T
[/card]
[card]
@@ -1291,7 +1291,7 @@ rarity=M
[/card]
[card]
primitive=Ral, Leyline Prodigy
id=661775
id=661774
rarity=T
[/card]
[card]
@@ -1331,7 +1331,7 @@ rarity=M
[/card]
[card]
primitive=Grist, the Plague Swarm
id=661783
id=661782
rarity=T
[/card]
[card]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,136 @@
[meta]
author=Wagic Team
name=Ugin's Fate
year=2015-01-17
total=26
[/meta]
[card]
primitive=Ugin, the Spirit Dragon
id=394086
rarity=M
[/card]
[card]
primitive=Mastery of the Unseen
id=394079
rarity=R
[/card]
[card]
primitive=Smite the Monstrous
id=394083
rarity=C
[/card]
[card]
primitive=Soul Summons
id=394084
rarity=C
[/card]
[card]
primitive=Watcher of the Roost
id=394088
rarity=U
[/card]
[card]
primitive=Jeskai Infiltrator
id=394078
rarity=R
[/card]
[card]
primitive=Reality Shift
id=394081
rarity=U
[/card]
[card]
primitive=Mystic of the Hidden Way
id=394080
rarity=C
[/card]
[card]
primitive=Write into Being
id=394090
rarity=C
[/card]
[card]
primitive=Debilitating Injury
id=394070
rarity=C
[/card]
[card]
primitive=Grim Haruspex
id=394075
rarity=R
[/card]
[card]
primitive=Sultai Emissary
id=394085
rarity=C
[/card]
[card]
primitive=Ruthless Ripper
id=394082
rarity=U
[/card]
[card]
primitive=Ainok Tracker
id=394065
rarity=C
[/card]
[card]
primitive=Arc Lightning
id=394068
rarity=U
[/card]
[card]
primitive=Fierce Invocation
id=394072
rarity=C
[/card]
[card]
primitive=Jeering Instigator
id=394077
rarity=R
[/card]
[card]
primitive=Arashin War Beast
id=394067
rarity=U
[/card]
[card]
primitive=Formless Nurturing
id=394073
rarity=C
[/card]
[card]
primitive=Dragonscale Boon
id=394071
rarity=C
[/card]
[card]
primitive=Wildcall
id=394089
rarity=R
[/card]
[card]
primitive=Hewed Stone Retainers
id=394076
rarity=U
[/card]
[card]
primitive=Ugin's Construct
id=394087
rarity=U
[/card]
[card]
primitive=Altar of the Brood
id=394066
rarity=R
[/card]
[card]
primitive=Briber's Purse
id=394069
rarity=U
[/card]
[card]
primitive=Ghostfire Blade
id=394074
rarity=R
[/card]

View File

@@ -226,7 +226,7 @@
#AUTO_DEFINE _FIGHT_ transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>])) oneshot
# Must be blocked this turn if able
#AUTO_DEFINE _MUST_BE_BLOCKD_ newability[@combat(attacking) source(this):ability$! notatarget(creature|myBattlefield) transforms((,newability[mustblock])) ueot!$ opponent]
#AUTO_DEFINE _MUST_BE_BLOCKD_ newability[@combat(attacking) source(this):ability$! notatarget(creature[-tapped]|myBattlefield) transforms((,newability[mustblock])) ueot!$ opponent]
# Suspect it. It has menace and can't block.
#AUTO_DEFINE _SUSPECT_IT_ name(Suspect it) transforms((suspect,menace,cantblock)) forever
@@ -240,7 +240,7 @@
#AUTO_DEFINE _ENLIST_ @combat(attacking) source(this) restriction{type(creature[-fresh]|mybattlefield)~morethan~0}:transforms((,newability[{T(creature[-attacking;-fresh]|mybattlefield)}:storedpower/0 ueot limit:1])) ueot
# Add one mana of any color.
#AUTO_DEFINE _MANAOFANYCOLOR_ ability$! choice Add{W} _ choice Add{U} _ choice Add{B} _ choice Add{R} _ choice Add{G} !$ controller
#AUTO_DEFINE _MANAOFANYCOLOR_ name(Add one mana of any color) ability$! choice Add{W} _ choice Add{U} _ choice Add{B} _ choice Add{R} _ choice Add{G} !$ controller
# Manifest dread. Look at the top two cards of your library. Put one onto the battlefield face down as a 2/2 creature and the other into your graveyard. Turn it face up any time for its mana cost if it's a creature card.
#AUTO_DEFINE _MANIFEST_DREAD_ name(Manifest dread) reveal:2 optionone name(Manifest) target(*|reveal) manifest optiononeend optiontwo all(*|reveal) moveto(mygraveyard) optiontwoend revealend
@@ -249,8 +249,31 @@
#AUTO_DEFINE _CREW1_ {crew(other creature[power>=1]|myBattlefield)}:name(crew 1 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~0}
#AUTO_DEFINE _CREW2_ {crew(other creature[power>=2]|myBattlefield)}:name(crew 2 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~1}
#AUTO_DEFINE _CREW2COMPLEMENT_ {crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}:name(crew 2 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~1,compare(crewtotalpower)~morethan~1}
# Endure
#AUTO_DEFINE _ENDURE_($c) transforms((,newability[choice counter(1/1.$c)],newability[choice create(Spirit:Creature:$c/$c:white)])) ueot
#AUTO_DEFINE _ENDURE1_ transforms((,newability[choice counter(1/1)],newability[choice create(Spirit:Creature:1/1:white)])) ueot
#AUTO_DEFINE _ENDURE2_ transforms((,newability[choice counter(1/1.2)],newability[choice create(Spirit:Creature:2/2:white)])) ueot
#AUTO_DEFINE _ENDURE3_ transforms((,newability[choice counter(1/1.3)],newability[choice create(Spirit:Creature:3/3:white)])) ueot
#AUTO_DEFINE _ENDURE4_ transforms((,newability[choice counter(1/1.4)],newability[choice create(Spirit:Creature:4/4:white)])) ueot
#AUTO_DEFINE _ENDURE5_ transforms((,newability[choice counter(1/1.5)],newability[choice create(Spirit:Creature:5/5:white)])) ueot
#AUTO_DEFINE _ENDURE6_ transforms((,newability[choice counter(1/1.6)],newability[choice create(Spirit:Creature:6/6:white)])) ueot
#AUTO_DEFINE _ENDURE7_ transforms((,newability[choice counter(1/1.7)],newability[choice create(Spirit:Creature:7/7:white)])) ueot
#AUTO_DEFINE _ENDURE8_ transforms((,newability[choice counter(1/1.8)],newability[choice create(Spirit:Creature:8/8:white)])) ueot
#AUTO_DEFINE _ENDURE9_ transforms((,newability[choice counter(1/1.9)],newability[choice create(Spirit:Creature:9/9:white)])) ueot
#AUTO_DEFINE _ENDURE10_ transforms((,newability[choice counter(1/1.10)],newability[choice create(Spirit:Creature:10/10:white)])) ueot
#AUTO_DEFINE _ENDURE11_ transforms((,newability[choice counter(1/1.11)],newability[choice create(Spirit:Creature:11/11:white)])) ueot
#AUTO_DEFINE _ENDURE12_ transforms((,newability[choice counter(1/1.12)],newability[choice create(Spirit:Creature:12/12:white)])) ueot
#AUTO_DEFINE _ENDURE13_ transforms((,newability[choice counter(1/1.13)],newability[choice create(Spirit:Creature:13/13:white)])) ueot
#AUTO_DEFINE _ENDURE14_ transforms((,newability[choice counter(1/1.14)],newability[choice create(Spirit:Creature:14/14:white)])) ueot
#AUTO_DEFINE _ENDURE15_ transforms((,newability[choice counter(1/1.15)],newability[choice create(Spirit:Creature:15/15:white)])) ueot
#AUTO_DEFINE _ENDURE16_ transforms((,newability[choice counter(1/1.16)],newability[choice create(Spirit:Creature:16/16:white)])) ueot
#AUTO_DEFINE _ENDURE17_ transforms((,newability[choice counter(1/1.17)],newability[choice create(Spirit:Creature:17/17:white)])) ueot
#AUTO_DEFINE _ENDURE18_ transforms((,newability[choice counter(1/1.18)],newability[choice create(Spirit:Creature:18/18:white)])) ueot
#AUTO_DEFINE _ENDURE19_ transforms((,newability[choice counter(1/1.19)],newability[choice create(Spirit:Creature:19/19:white)])) ueot
#AUTO_DEFINE _ENDURE20_ transforms((,newability[choice counter(1/1.20)],newability[choice create(Spirit:Creature:20/20:white)])) ueot
# Flurry
#AUTO_DEFINE _FLURRY_ @movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~1}:
@@ -351,14 +374,17 @@
# Zombie Token
#AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black)
# Blood Token
#AUTO_DEFINE _BLOOD_ token(Blood^Blood Artifact^0/0) and!( transforms((,newability[{1}{T}{D(*|myhand)}{S}:draw:1])) forever )!
# Clue Token
#AUTO_DEFINE _CLUE_ token(Clue,Clue Artifact,0/0) and!( transforms((,newability[{2}{S}:draw:1])) forever )!
#AUTO_DEFINE _CLUE_ token(Clue^Clue Artifact^0/0) and!( transforms((,newability[{2}{S}:draw:1])) forever )!
# Food Token
#AUTO_DEFINE _FOOD_ token(Food,Food Artifact,0/0) and!( transforms((,newability[{2}{T}{S}:life:3])) forever )!
#AUTO_DEFINE _FOOD_ token(Food^Food Artifact^0/0) and!( transforms((,newability[{2}{T}{S}:life:3])) forever )!
# Treasure Token
#AUTO_DEFINE _TREASURE_ token(Treasure,Treasure Artifact,0/0) and!( transforms((,newability[{T}{S}:Add{W}],newability[{T}{S}:Add{U}],newability[{T}{S}:Add{B}],newability[{T}{S}:Add{R}],newability[{T}{S}:Add{G}])) forever )!
#AUTO_DEFINE _TREASURE_ token(Treasure^Treasure Artifact^0/0) and!( transforms((,newability[{T}{S}:Add{W}],newability[{T}{S}:Add{U}],newability[{T}{S}:Add{B}],newability[{T}{S}:Add{R}],newability[{T}{S}:Add{G}])) forever )!
# Vehicle Token
#AUTO_DEFINE _VEHICLE_ token(Vehicle,Artifact Vehicle,3/2) and!( transforms((,newability[{crew(other creature[power>=1]|myBattlefield)}:name(crew 1 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~0}])) forever )!
#AUTO_DEFINE _VEHICLE_ token(Vehicle^Artifact Vehicle^3/2) and!( transforms((,newability[{crew(other creature[power>=1]|myBattlefield)}:name(crew 1 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~0}])) forever )!

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#Planeswalkers Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#Sorted this programmatically - Thanks to Vitty85 28-03-2024
#Sorted this programmatically - Thanks to Vitty85 29-04-2024
[card]
name=Abian, Luvion Usurper
auto=counter(0/0,5,loyalty)
@@ -192,7 +192,7 @@ subtype=Aminatou
name=Angrath, Captain of Chaos
auto=counter(0/0,5,loyalty)
auto=lord(creature|myBattlefield) menace
auto={C(0/0,-2,Loyalty)}:name(-2: Amass 2) _AMASSZOMBIE2_
auto={C(0/0,-2,Loyalty)}:name(-2: Amass 2) ability$! _AMASSZOMBIE2_ !$ controller
text=Creatures you control have menace. -- -2: Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.)
mana={2}{BR}{BR}
type=Legendary Planeswalker
@@ -452,7 +452,7 @@ subtype=Chandra
[/card]
[card]
name=Chandra, Awakened Inferno
auto=nofizzle
abilities=nofizzle
auto=counter(0/0,6,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Emblem: "1 damage each upkeep") emblem transforms((,newability[@each opponent upkeep:damage:1 opponent])) forever dontremove
auto={C(0/0,-3,Loyalty)}:name(-3: Deals 3 damage to each non-elemental) damage:3 all(creature[-elemental])
@@ -595,7 +595,7 @@ auto=counter(0/0,5,loyalty)
auto=@movedTo(*[instant;sorcery]|mystack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) transforms((,newability[name(Copy spell) activate castcard(copied noevent)])) oneshot
auto={C(0/0,+2,Loyalty)}:name(+2: Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add blue) add{U} _ choice name(Add red) add{B} _ choice name(Add green) add{R} _ choice name(Add black) add{G}!$ controller
auto={C(0/0,+1,Loyalty)}:name(+1: Exile top 5 cards) all(*[zpos<=5]|mylibrary) moveto(myexile) and!( if cantargetcard(*[instant;sorcery]|*) then transforms((,newability[canplayfromexile])) ueot )!
auto={C(0/0,-1,Loyalty)}:name(-1: Damage one target) ability$!name(Damage target) name(Damage target) target(anytarget) damage:1!$ controller
auto={C(0/0,-1,Loyalty)}:name(-1: Damage one target) ability$!name(Damage target) name(Damage target) target(anytarget) damage:1!$ controller
auto={C(0/0,-1,Loyalty)}:name(-1: Damage two target) ability$!name(Damage targets) name(Damage targets) target(<2>anytarget) damage:1!$ controller
auto={C(0/0,-2,Loyalty)}:name(-2: Damage one target) ability$!name(Damage target) name(Damage target) target(anytarget) damage:2!$ controller
auto={C(0/0,-2,Loyalty)}:name(-2: Damage two target) ability$!name(Damage targets) name(Damage targets) target(<2>anytarget) damage:2!$ controller
@@ -983,6 +983,18 @@ type=Legendary Planeswalker
subtype=Elspeth
[/card]
[card]
name=Elspeth, Storm Slayer
auto=counter(0/0,5,loyalty)
auto=@tokencreated(*|myBattlefield):name(Double the token) all(trigger) clone options(notrigger)
auto={C(0/0,+1,Loyalty)}:create(soldier:creature soldier:1/1:white)
auto={C(0/0,0,Loyalty)}:all(creature|myBattlefield) transforms((,newability[counter(1/1)],flying)) uynt
auto={C(0/0,-3,Loyalty)}:destroy target(creature[manacost>=3]|opponentBattlefield)
text=If one or more tokens would be created under your control, twice that many of those tokens are created instead. -- [+1]: Create a 1/1 white Soldier creature token. -- [0]: Put a +1/+1 counter on each creature you control. Those creatures gain flying until your next turn. -- [-3]: Destroy target creature an opponent controls with mana value 3 or greater.
mana={3}{W}{W}
type=Legendary Planeswalker
subtype=Elspeth
[/card]
[card]
name=Elspeth, Sun's Champion
auto=counter(0/0,4,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Create three 1/1 Soldier) _SOLDIERTOKEN_*3
@@ -1269,7 +1281,7 @@ auto=counter(0/0,5,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Untap all creatures and get +1/+1) all(creature|mybattlefield) 1/1 && all(creature|mybattlefield) untap ueot
auto={C(0/0,0,Loyalty)}:name(+0: Transforms to Human Soldier 5/5) transforms((Creature Human Soldier,setpower=5,settoughness=5,indestructible,newability[preventAllDamage to(this)])) ueot
auto={C(0/0,-10,Loyalty)}:name(10: Tap all creatures and +2/+2) all(creature|opponentbattlefield) tap && all(creature|mybattlefield) 2/2 ueot
text=+2: Untap all creatures you control. Those creatures get +1/+1 until end of turn. -- 0: Until end of turn, Gideon, Martial Paragon becomes a 5/5 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn. -- -10: Creatures you control get +2/+2 until end of turn. Tap all creatures your opponents control.
text=+2: Untap all creatures you control. Those creatures get +1/+1 until end of turn. -- 0: Until end of turn, Gideon, Martial Paragon becomes a 5/5 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn. -- -10: Creatures you control get +2/+2 until end of turn. Tap all creatures your opponents control.
mana={4}{W}
type=Legendary Planeswalker
subtype=Gideon
@@ -1558,7 +1570,7 @@ subtype=Jace
[/card]
[card]
name=Jace, the Perfected Mind
auto=if paid(alternative) then counter(0/0,3,loyalty)
auto=alternative counter(0/0,3,loyalty)
auto=ifnot paid(alternative) then counter(0/0,5,loyalty)
auto={C(0/0,+1,Loyalty)}:name(+1: Target creature gains -3/-0) target(creature|battlefield) transforms((,newability[-3/-0])) uynt
auto={C(0/0,+1,Loyalty)}:name(+1: Don't target any creature) donothing
@@ -1725,7 +1737,7 @@ name=Kaito, Bane of Nightmares
auto=counter(0/0,4,loyalty)
autohand={1}{U}{B}{N}:ninjutsu
auto=this(variable{controllerturn}>0) becomes(Ninja Creature,3/4,hexproof)
auto={C(0/0,+1,Loyalty)}:name(emblem) emblem transforms((,newability[all(ninja|myBattlefield) 1/1])) forever dontremove
auto={C(0/0,+1,Loyalty)}:name(emblem) emblem transforms((,newability[lord(ninja|myBattlefield) 1/1])) forever dontremove
auto={C(0/0,0,Loyalty)}:name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(<upto:psurveiloffsetplus2plusend>*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<psurveiloffsetplus2plusend>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:1 controller])) oneshot afterrevealedend revealend
auto={C(0/0,-2,Loyalty)}:name(-2 Tap target creature) target(creature) transforms((,newability[tap],newability[counter(0/0.2.Stun)]))
text=Ninjutsu {1}{U}{B} ({1}{U}{B}, Return an unblocked attacker you control to hand: Put this card onto the battlefield from your hand tapped and attacking.) -- During your turn, as long as Kaito has one or more loyalty counters on him, he's a 3/4 Ninja creature and has hexproof. -- [+1]: You get an emblem with "Ninjas you control get +1/+1." -- [0]: Surveil 2. Then draw a card for each opponent who lost life this turn. -- [-2]: Tap target creature. Put two stun counters on it.
@@ -2179,7 +2191,7 @@ subtype=Windgrace
[card]
name=Lukka, Bound to Ruin
auto=ifnot paid(alternative) then counter(0/0,5,loyalty)
auto=if paid(alternative) then counter(0/0,3,loyalty)
auto=alternative counter(0/0,3,loyalty)
auto=aslongas(creature|mybattlefield,myrestrictedcastingzone) {C(0/0,+1,Loyalty)}:name(+1: Add mana) name(+1: Add mana) add{R}{G}
auto={C(0/0,-1,Loyalty)}:name(-1: Create beast) token(Phyrexian Beast,Creature Phyrexian Beast,3/3,green,poisontoxic)
auto=aslongas(creature[power=1]|mybattlefield) {C(0/0,-4,Loyalty)}:name(-4: Deal 1 damage) name(-4: Deal 1 damage) thisforeach(variable{1}) ability$!name(Deal 1 damage) damage:1 target(*[creature;planeswalker]|battlefield)!$ controller
@@ -2351,7 +2363,7 @@ subtype=Nahiri
[card]
name=Nahiri, the Unforgiving
auto=ifnot paid(alternative) then counter(0/0,5,loyalty)
auto=if paid(alternative) then counter(0/0,3,loyalty)
auto=alternative counter(0/0,3,loyalty)
auto={C(0/0,+1,Loyalty)}:name(+1: Creature must attack) target(creature|battlefield) transforms((,newability[mustattack])) uynt
auto={C(0/0,+1,Loyalty)}:name(+1: Don't target any creature) donothing
auto={C(0/0,+1,Loyalty)}:name(+1: Discard and draw) _DISCARD&DRAW_
@@ -2540,7 +2552,7 @@ subtype=Nissa
[card]
name=Nissa, Ascended Animist
auto=ifnot paid(kicker) then ifnot paid(alternative) then counter(0/0,7,loyalty)
auto=if paid(alternative) then counter(0/0,5,loyalty)
auto=alternative counter(0/0,5,loyalty)
auto=if paid(kicker) then counter(0/0,3,loyalty)
auto={C(0/0,+1,Loyalty)}:name(+1: Create horror) token(Phyrexian Horror,Creature Phyrexian Horror,hascntloyalty/hascntloyalty,green)
auto={C(0/0,-1,Loyalty)}:name(-1: Destroy artifact or enchantment) destroy target(*[artifact;enchantment]|battlefield)
@@ -2803,7 +2815,7 @@ otherrestriction=can play planeswalker,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Will, Scholar of Frost)
autostack=if paid(alternative) then name(Will, Scholar of Frost) name(Will, Scholar of Frost) flip(Will, Scholar of Frost) forcetype(Legendary Planeswalker)
auto=if paid(alternative) then counter(0/0,4,Loyalty) else counter(0/0,2,loyalty)
auto=alternative counter(0/0,4,Loyalty) else counter(0/0,2,loyalty)
auto=this(variable{isflipped}<1) lord(instant,sorcery|mycastingzone) altercost(colorless,-1)
auto=this(variable{isflipped}<1) {C(0/0,1,Loyalty)}:name(+1: Deals damage) name(+1: Deals damage) if compare(pdrewcount)~lessthan~3 then damage:1 opponent else damage:3 opponent
auto=this(variable{isflipped}<1) {C(0/0,-4,Loyalty)}:name(-4: Emblem copy spells) name(-4: Emblem copy spells) emblem transforms((,newability[@movedto(*[instant;sorcery]|mystack):all(trigger[to]<1>) transforms((,newability[pay[[{2}]] name(copy spell) activate name(copy spell) castcard(copied noevent)])) forever])) forever dontremove
@@ -3126,7 +3138,7 @@ auto={C(0/0,1,Loyalty)}:name(+1: Look four and move sorcery to hand) reveal:4 op
auto={C(0/0,1,Loyalty)}:name(+1: Look four and move enchantment to hand) reveal:4 optionone name(Get enchantment) target(<upto:4>enchantment|reveal) moveto(myhand) optiononeend optiontwo name(Put graveyard) target(<4>*|reveal) moveto(myGraveyard) optiontwoend revealend
auto={C(0/0,1,Loyalty)}:name(+1: Look four and move planeswalker to hand) reveal:4 optionone name(Get planeswalker) target(<upto:4>planeswalker|reveal) moveto(myhand) optiononeend optiontwo name(Put graveyard) target(<4>*|reveal) moveto(myGraveyard) optiontwoend revealend
auto={C(0/0,1,Loyalty)}:name(+1: Look four and move artifact to hand) reveal:4 optionone name(Get artifact) target(<upto:4>artifact|reveal) moveto(myhand) optiononeend optiontwo name(Put graveyard) target(<4>*|reveal) moveto(myGraveyard) optiontwoend revealend
auto={C(0/0,1,Loyalty)}:name(+1: Look four and move tribal to hand) reveal:4 optionone name(Get tribal) target(<upto:4>tribal|reveal) moveto(myhand) optiononeend optiontwo name(Put graveyard) target(<4>*|reveal) moveto(myGraveyard) optiontwoend revealend
auto={C(0/0,1,Loyalty)}:name(+1: Look four and move kindred to hand) reveal:4 optionone name(Get kindred) target(<upto:4>kindred|reveal) moveto(myhand) optiononeend optiontwo name(Put graveyard) target(<4>*|reveal) moveto(myGraveyard) optiontwoend revealend
auto={C(0/0,-3,Loyalty)}:name(-3: Return target card from graveyard) moveTo(myHand) target(*|myGraveyard)
text=Spells and abilities your opponents control can't cause you to discard cards or sacrifice permanents. -- +1: Choose a nonland card name, then reveal the top four cards of your library. Put all cards with the chosen name from among them into your hand and the rest into your graveyard. -- -3: Return target card from your graveyard to your hand.
mana={2}{G}{U}
@@ -3136,7 +3148,7 @@ subtype=Tamiyo
[card]
name=Tamiyo, Compleated Sage
auto=ifnot paid(alternative) then counter(0/0,5,loyalty)
auto=if paid(alternative) then counter(0/0,3,loyalty)
auto=alternative counter(0/0,3,loyalty)
auto={C(0/0,+1,Loyalty)}:name(+1: Tap artifact or creature) target(*[artifact;creature]|battlefield) freeze
auto={C(0/0,+1,Loyalty)}:name(+1: Don't tap anything) donothing
auto={C(0/0,0,Loyalty)}:name(0: Exile and copy with cost 0) target(*[-land&manacost=0]|mygraveyard) moveto(myexile) and!( clone )!
@@ -3654,6 +3666,19 @@ type=Legendary Planeswalker
subtype=Tyvar
[/card]
[card]
name=Ugin, Eye of the Storms
auto=counter(0/0,7,loyalty)
autostack=may moveTo(exile) target(*[white;blue;black;red;green])
auto=@movedTo(*[colorless]|mystack):may moveTo(exile) target(*[white;blue;black;red;green])
auto={C(0/0,+2,Loyalty)}:life:3 && draw:1
auto={C(0/0,0,Loyalty)}:Add{C}{C}{C}
auto={C(0/0,-11,Loyalty)}:target(<anyAmount>*[colorless]|myLibrary) moveTo(exile) and!( transforms((,newability[zerocast],newability[canplayfromexile])) ueot )!
text=When you cast this spell, exile up to one target permanent that's one or more colors. -- Whenever you cast a colorless spell, exile up to one target permanent that's one or more colors. -- [+2]: You gain 3 life and draw a card. -- [0]: Add {C}{C}{C}. -- [-11]: Search your library for any number of colorless nonland cards, exile them, then shuffle. Until end of turn, you may cast those cards without paying their mana costs.
mana={7}
type=Legendary Planeswalker
subtype=Ugin
[/card]
[card]
name=Ugin, the Ineffable
auto=counter(0/0,4,loyalty)
auto=lord(*[colorless]|mycastingzone) altercost(colorless,-2)
@@ -3720,7 +3745,7 @@ subtype=Venser
name=Vivien Reid
auto=counter(0/0,5,loyalty)
aicode=activate moveto(myhand) target(*[creature;land;zpos<=4]|mylibrary)
auto={C(0/0,+1,Loyalty)}:name(+1: Look four and put creature or land in hand) name(look) reveal:4 optionone name(Get a creature or land) target(<1>*[creature;land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,+1,Loyalty)}:name(+1: Look four and put creature or land in hand) name(look) reveal:4 optionone name(Get a creature or land) target(<1>*[creature;land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target artifact) destroy target(artifact)
auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target enchantment) destroy target(enchantment)
auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target creature with flying) destroy target(creature[flying])
@@ -3801,7 +3826,7 @@ subtype=Vraska
[/card]
[card]
name=Vraska, Betrayal's Sting
auto=if paid(alternative) then counter(0/0,4,loyalty)
auto=alternative counter(0/0,4,loyalty)
auto=ifnot paid(alternative) then counter(0/0,6,loyalty)
auto={C(0/0,0,Loyalty)}:name(0: Draw card and lose life) draw:1 controller && life:-1 controller && _PROLIFERATE_
auto={C(0/0,-2,Loyalty)}:name(-2: Creature becomes treasure) target(creature|battlefield) transforms((removeallsubtypes,removeallcolors,newability[becomes(Treasure artifact)],,newability[{T}{S}:Add{W}],newability[{T}{S}:Add{U}],newability[{T}{S}:Add{B}],newability[{T}{S}:Add{R}],newability[{T}{S}:Add{G}])) forever
@@ -3967,4 +3992,4 @@ text=+1: Creatures you control get +1/+0 and gain haste until end of turn. -- 0:
mana={2}{R}{R}
type=Legendary Planeswalker
subtype=Zariel
[/card]
[/card]

View File

@@ -2,5 +2,5 @@
#Sun, 20 May 2020 11:56:35 +0200
build.major=0
build.minor=25
build.point=3
build.point=5

View File

@@ -88,8 +88,8 @@ Mod by: Vitty85
#define WAGIC_CORE_VERSION_STRING "core_" VERSION_STRINGIFY(WAGIC_RESOURCE_VERSION)
#define WAGIC_RESOURCE_NAME "Wagic-core-" VERSION_STRINGIFY(WAGIC_RESOURCE_VERSION) ".zip"
#define WAGIC_RELEASE_NAME "wagic-v" WAGIC_VERSION_STRING
#define WAGIC_RESOURCE_URL "https://github.com/WagicProject/wagic/releases" WAGIC_RELEASE_NAME "/" WAGIC_RESOURCE_NAME
#define WAGIC_RESOURCE_URL "https://github.com/WagicProject/wagic/releases/download/" WAGIC_RELEASE_NAME "/" WAGIC_RESOURCE_NAME
#endif
</echo>

View File

@@ -76,7 +76,7 @@ class AIPlayerBaka: public AIPlayer{
virtual int chooseBlockers();
virtual int canFirstStrikeKill(MTGCardInstance * card, MTGCardInstance *ennemy);
virtual int effectBadOrGood(MTGCardInstance * card, int mode = MODE_PUTINTOPLAY, TargetChooser * tc = NULL);
virtual bool shouldAIForceAttack(MTGCardInstance* card, bool globalAttack);
// returns 1 if the AI algorithm supports a given cost (ex:simple mana cost), 0 otherwise (ex: cost involves Sacrificing a target)
virtual int CanHandleCost(ManaCost * cost, MTGCardInstance * card = NULL);

View File

@@ -26,7 +26,7 @@ public:
TYPE_EQUIPMENT = 11,
TYPE_AURA = 12,
TYPE_PLANESWALKER = 13,
TYPE_TRIBAL = 14,
TYPE_KINDRED = 14,
TYPE_PLANE = 15,
TYPE_SCHEME = 16,
TYPE_VANGUARD = 17,

View File

@@ -14,7 +14,7 @@ Mod by: Vitty85
/* Wagic versions */
#define WAGIC_VERSION_MAJOR 0
#define WAGIC_VERSION_MEDIUM 25
#define WAGIC_VERSION_MINOR 3
#define WAGIC_VERSION_MINOR 5
#define VERSION_DOT(a, b, c) a ##.## b ##.## c
#define VERSION_WITHOUT_DOT(a, b, c) a ## b ## c

View File

@@ -46,9 +46,9 @@ int OrderedAIAction::getEfficiency(AADamager * aad)
return 0;
}
if(p && target)
if(p == target->controller())
return 0;
if(p && target)
if(p == target->controller())
return 0;
if (dTarget && aad && (aad->getDamage() == dTarget->toughness))
return 100;
@@ -107,7 +107,7 @@ int OrderedAIAction::getEfficiency()
{
target = a->source;
}
AACastCard * CC = dynamic_cast<AACastCard*> (a);
if (CC)
return 99;
@@ -126,13 +126,13 @@ int OrderedAIAction::getEfficiency()
break;
if (!coreAbilityCardTarget->regenerateTokens && currentPhase == MTG_PHASE_COMBATBLOCKERS
&& (coreAbilityCardTarget->defenser || coreAbilityCardTarget->blockers.size())
)
&& (coreAbilityCardTarget->defenser || coreAbilityCardTarget->blockers.size())
)
{
efficiency = 95;
}
//TODO If the card is the target of a damage spell
break;
//TODO If the card is the target of a damage spell
break;
}
case MTGAbility::STANDARD_PREVENT:
{
@@ -272,7 +272,7 @@ int OrderedAIAction::getEfficiency()
}
case MTGAbility::STANDARD_PUMP:
{
efficiency = 0;
efficiency = 0;
if(!coreAbilityCardTarget)
break;
if(!target && !dynamic_cast<ALord*> (a) && (((MTGCardInstance *)a->source)->hasSubtype(Subtypes::TYPE_AURA) || ((MTGCardInstance *)a->source)->hasSubtype(Subtypes::TYPE_EQUIPMENT)))
@@ -296,9 +296,9 @@ int OrderedAIAction::getEfficiency()
int suggestion = af.abilityEfficiency(a, p, MODE_ABILITY);
//i do not set a starting eff. on this ability, this allows Ai to sometimes randomly do it as it normally does.
int currentPhase = g->getCurrentGamePhase();
if ((currentPhase == MTG_PHASE_COMBATBLOCKERS) || (currentPhase == MTG_PHASE_COMBATATTACKERS))
if ((currentPhase == MTG_PHASE_COMBATBLOCKERS) || (currentPhase == MTG_PHASE_COMBATATTACKERS))
{
if (suggestion == BAKA_EFFECT_GOOD && target->controller() == p)
if (suggestion == BAKA_EFFECT_GOOD && target->controller() == p)
{
if(coreAbilityCardTarget->defenser || coreAbilityCardTarget->blockers.size())
{
@@ -350,30 +350,30 @@ int OrderedAIAction::getEfficiency()
break;
}
case MTGAbility::MANA_PRODUCER://only way to hit this condition is nested manaabilities, ai skips manaproducers by defualt when finding an ability to use.
{
AManaProducer * manamaker = dynamic_cast<AManaProducer*>(a);
GenericActivatedAbility * GAA = dynamic_cast<GenericActivatedAbility*>(ability);
if(GAA)
{
AForeach * forMana = dynamic_cast<AForeach*>(GAA->ability);
if (manamaker && forMana)
{
int outPut = forMana->checkActivation();
if (ability->getCost() && outPut > int(ability->getCost()->getConvertedCost() +1) && currentPhase == MTG_PHASE_FIRSTMAIN && ability->source->controller()->game->hand->nb_cards > 1)
efficiency = 60;//might be a bit random, but better than never using them.
}
}
else
efficiency = 0;
break;
}
{
AManaProducer * manamaker = dynamic_cast<AManaProducer*>(a);
GenericActivatedAbility * GAA = dynamic_cast<GenericActivatedAbility*>(ability);
if(GAA)
{
AForeach * forMana = dynamic_cast<AForeach*>(GAA->ability);
if (manamaker && forMana)
{
int outPut = forMana->checkActivation();
if (ability->getCost() && outPut > int(ability->getCost()->getConvertedCost() +1) && currentPhase == MTG_PHASE_FIRSTMAIN && ability->source->controller()->game->hand->nb_cards > 1)
efficiency = 60;//might be a bit random, but better than never using them.
}
}
else
efficiency = 0;
break;
}
case MTGAbility::STANDARDABILITYGRANT:
{
efficiency = 0;
if (!target)
break;
//ensuring that Ai grants abilities to creatures during first main, so it can actually use them in combat.
//quick note: the eff is multiplied by creatures ranking then divided by the number of cards in hand.
//the reason i do this is to encourage more casting and less waste of mana on abilities.
@@ -391,8 +391,8 @@ int OrderedAIAction::getEfficiency()
}
if (!target->has(a->abilitygranted) && g->getCurrentGamePhase() == MTG_PHASE_COMBATBEGIN
&& p == target->controller()
)
&& p == target->controller()
)
{
efficiency += efficiencyModifier;
}
@@ -404,8 +404,8 @@ int OrderedAIAction::getEfficiency()
}
if ((suggestion == BAKA_EFFECT_BAD && p == target->controller())
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller())
)
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller())
)
{
efficiency = 0;
//stop giving trample to the players creatures.
@@ -547,13 +547,13 @@ int OrderedAIAction::getEfficiency()
}
}
if ((suggestion == BAKA_EFFECT_BAD && p == target->controller())
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller()))
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller()))
{
efficiency = 0;
}
else
{
//without a base to start with Wrand % 5 almost always returns 0.
//without a base to start with Wrand % 5 almost always returns 0.
efficiency = 10 + (owner->getRandomGenerator()->random() % 20); //Small percentage of chance for unknown abilities
}
}
@@ -650,7 +650,7 @@ int OrderedAIAction::getEfficiency()
}
if(p->game->battlefield->countByType("token") >= 25)
efficiency = 0;
}
else if (GenericRevealAbility * grA = dynamic_cast<GenericRevealAbility *>(a))
{
@@ -684,7 +684,7 @@ int OrderedAIAction::getEfficiency()
{
AIPlayer * chk = (AIPlayer*)p;
if(may->ability && may->ability->getActionTc() && chk->chooseTarget(may->ability->getActionTc(),NULL,NULL,true))
efficiency = 50 + (owner->getRandomGenerator()->random() % 50);
efficiency = 50 + (owner->getRandomGenerator()->random() % 50);
}
if (p->game->hand->nb_cards == 0)
efficiency = (int) ((float) efficiency * 1.3); //increase chance of using ability if hand is empty
@@ -720,18 +720,18 @@ int OrderedAIAction::getEfficiency()
{
efficiency += 55;
}
if (ability->source)
{
if(ability->source->hasType(Subtypes::TYPE_PLANESWALKER) || ability->source->hasType(Subtypes::TYPE_BATTLE))
efficiency += 50;
else if(ability->source->hasType(Subtypes::TYPE_LAND))
{ // probably a shockland, don't pay life if hand is empty
if (p->life<=2)
// check that's not a manland(like Celestial Colonnade)
if(efficiency < 50)
efficiency = 0;
}
{ // probably a shockland, don't pay life if hand is empty
if (p->life<=2)
// check that's not a manland(like Celestial Colonnade)
if(efficiency < 50)
efficiency = 0;
}
}
SAFE_DELETE(transAbility);
@@ -781,7 +781,7 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
{
target = a->source;
}
AACastCard * CC = dynamic_cast<AACastCard*> (a);
if (CC)
return 99;
@@ -800,8 +800,8 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
break;
if (!coreAbilityCardTarget->regenerateTokens && currentPhase == MTG_PHASE_COMBATBLOCKERS
&& (coreAbilityCardTarget->defenser || coreAbilityCardTarget->blockers.size())
)
&& (coreAbilityCardTarget->defenser || coreAbilityCardTarget->blockers.size())
)
{
eff2 = 95;
}
@@ -1010,27 +1010,27 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
break;
}
case MTGAbility::MANA_PRODUCER://only way to hit this condition is nested manaabilities, ai skips manaproducers by defualt when finding an ability to use.
{
AManaProducer * manamaker = dynamic_cast<AManaProducer*>(a);
GenericActivatedAbility * GAA = dynamic_cast<GenericActivatedAbility*>(ability2);
AForeach * forMana = dynamic_cast<AForeach*>(GAA->ability);
if (manamaker && forMana)
{
int outPut = forMana->checkActivation();
if (ability2->getCost() && outPut > int(ability2->getCost()->getConvertedCost() +1) && currentPhase == MTG_PHASE_FIRSTMAIN && ability2->source->controller()->game->hand->nb_cards > 1)
eff2 = 60;//might be a bit random, but better than never using them.
AManaProducer * manamaker = dynamic_cast<AManaProducer*>(a);
GenericActivatedAbility * GAA = dynamic_cast<GenericActivatedAbility*>(ability2);
AForeach * forMana = dynamic_cast<AForeach*>(GAA->ability);
if (manamaker && forMana)
{
int outPut = forMana->checkActivation();
if (ability2->getCost() && outPut > int(ability2->getCost()->getConvertedCost() +1) && currentPhase == MTG_PHASE_FIRSTMAIN && ability2->source->controller()->game->hand->nb_cards > 1)
eff2 = 60;//might be a bit random, but better than never using them.
}
else
eff2 = 0;
break;
}
else
eff2 = 0;
break;
}
case MTGAbility::STANDARDABILITYGRANT:
{
eff2 = 0;
if (!target)
break;
//ensuring that Ai grants abilities to creatures during first main, so it can actually use them in combat.
//quick note: the eff is multiplied by creatures ranking then divided by the number of cards in hand.
//the reason i do this is to encourage more casting and less waste of mana on abilities.
@@ -1048,8 +1048,8 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
}
if (!target->has(a->abilitygranted) && g->getCurrentGamePhase() == MTG_PHASE_COMBATBEGIN
&& p == target->controller()
)
&& p == target->controller()
)
{
eff2 += eff2Modifier;
}
@@ -1061,8 +1061,8 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
}
if ((suggestion == BAKA_EFFECT_BAD && p == target->controller())
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller())
)
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller())
)
{
eff2 = 0;
//stop giving trample to the players creatures.
@@ -1203,13 +1203,13 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
}
}
if ((suggestion == BAKA_EFFECT_BAD && p == target->controller())
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller()))
|| (suggestion == BAKA_EFFECT_GOOD && p != target->controller()))
{
eff2 = 0;
}
else
{
//without a base to start with Wrand % 5 almost always returns 0.
//without a base to start with Wrand % 5 almost always returns 0.
eff2 = 10 + (owner->getRandomGenerator()->random() % 20); //Small percentage of chance for unknown abilities
}
}
@@ -1290,7 +1290,7 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
}
if(p->game->battlefield->countByType("token") >= 25)
eff2 = 0;
}
//At this point the "basic" eff2 is computed, we further tweak it depending on general decisions, independent of theAbility type
@@ -1299,7 +1299,7 @@ int OrderedAIAction::getRevealedEfficiency(MTGAbility * ability2)
{
AIPlayer * chk = (AIPlayer*)p;
if(may->ability && may->ability->getActionTc() && chk->chooseTarget(may->ability->getActionTc(),NULL,NULL,true))
eff2 = 50 + (owner->getRandomGenerator()->random() % 50);
eff2 = 50 + (owner->getRandomGenerator()->random() % 50);
}
if (p->game->hand->nb_cards == 0)
eff2 = (int) ((float) eff2 * 1.3); //increase chance of using ability if hand is empty
@@ -1351,7 +1351,7 @@ MTGCardInstance * AIPlayerBaka::chooseCard(TargetChooser * tc, MTGCardInstance *
MTGPlayerCards * playerZones = source->controller()->game;
if (comboHint && comboHint->cardTargets.size())
{
tc = GetComboTc(observer,tc);
tc = GetComboTc(observer,tc);
}
for(int players = 0; players < 2;++players)
{
@@ -1376,9 +1376,9 @@ MTGCardInstance * AIPlayerBaka::chooseCard(TargetChooser * tc, MTGCardInstance *
bool AIPlayerBaka::payTheManaCost(ManaCost * cost, int anytypeofmana, MTGCardInstance * target,vector<MTGAbility*>gotPayments)
{
DebugTrace("AIPlayerBaka: AI attempting to pay a mana cost." << endl
<< "- Target: " << (target ? target->name : "None" ) << endl
<< "- Cost: " << (cost ? cost->toString() : "NULL") );
DebugTrace("AIPlayerBaka: AI attempting to pay a mana cost." << endl
<< "- Target: " << (target ? target->name : "None" ) << endl
<< "- Cost: " << (cost ? cost->toString() : "NULL") );
if (!cost)
{
@@ -1450,7 +1450,7 @@ bool AIPlayerBaka::payTheManaCost(ManaCost * cost, int anytypeofmana, MTGCardIns
}
}
if(k == gotPayments.size()-1)//only add it once, and at the end.
paid->add(this->getManaPool());//incase some of our payments were mana already in the pool/.
paid->add(this->getManaPool());//incase some of our payments were mana already in the pool/.
if(paid->canAfford(cost, anytypeofmana))
{
if((!cost->hasX() && !cost->hasAnotherCost()) || k == gotPayments.size()-1)
@@ -1575,7 +1575,7 @@ vector<MTGAbility*> AIPlayerBaka::canPayMana(MTGCardInstance * target, ManaCost
if(!cost || (cost && !cost->getConvertedCost()) || !target)
return vector<MTGAbility*>();
map<MTGCardInstance*, bool> usedCards;
return canPayMana(target, cost, anytypeofmana, usedCards);
}
@@ -1857,7 +1857,7 @@ vector<MTGAbility*> AIPlayerBaka::canPaySunBurst(ManaCost * cost)
}
}
}
for(int i = fullColor;i < cost->getConvertedCost();i++)
{
for (size_t i = 0; i < observer->mLayers->actionLayer()->manaObjects.size(); i++)
@@ -1902,7 +1902,7 @@ int AIPlayerBaka::CanHandleCost(ManaCost * cost, MTGCardInstance * card)
{
ec->costs[i]->setSource(card);
if(!ec->costs[i]->tc->countValidTargets())
return 0;
return 0;
if(!chooseCard(ec->costs[i]->tc,card))
return 0;
}
@@ -1981,7 +1981,7 @@ int AIPlayerBaka::createAbilityTargets(MTGAbility * a, MTGCardInstance * c, Rank
MTGCardInstance * cTargeting = dynamic_cast<MTGCardInstance*>(potentialTargets[0]);
if(cTargeting)
check = NEW OrderedAIAction(this, a,c,cTargeting);
check = NEW OrderedAIAction(this, a,c,cTargeting);
Player * pTargeting = dynamic_cast<Player*>(potentialTargets[0]);
if(pTargeting)
@@ -2084,17 +2084,17 @@ int AIPlayerBaka::selectAbility()
}
}
}
// Try Deck hints first
if (selectHintAbility())
// Try Deck hints first
if (selectHintAbility())
return 1;
if(observer->mLayers->stackLayer()->lastActionController == this)
{
//this is here for 2 reasons, MTG rules state that priority is passed with each action.
//without this ai is able to chain cast {t}:damage:1 target(creature) from everything it can all at once.
//this not only is illegal but cause ai to waste abilities ei:all damage:1 on a single 1/1 creature.
return 1;
}
if(observer->mLayers->stackLayer()->lastActionController == this)
{
//this is here for 2 reasons, MTG rules state that priority is passed with each action.
//without this ai is able to chain cast {t}:damage:1 target(creature) from everything it can all at once.
//this not only is illegal but cause ai to waste abilities ei:all damage:1 on a single 1/1 creature.
return 1;
}
RankingContainer ranking;
list<int>::iterator it;
@@ -2504,8 +2504,8 @@ int AIPlayerBaka::chooseTarget(TargetChooser * _tc, Player * forceTarget,MTGCard
{
if(observer->mExtraPayment)
{
observer->mExtraPayment->action->CheckUserInput(JGE_BTN_SEC);
observer->mExtraPayment = NULL;
observer->mExtraPayment->action->CheckUserInput(JGE_BTN_SEC);
observer->mExtraPayment = NULL;
}
//there should never be a case where a extra cost target selection is happening at the same time as this..
//extracost uses "chooseCard()" to determine its targets.
@@ -2522,7 +2522,7 @@ int AIPlayerBaka::chooseTarget(TargetChooser * _tc, Player * forceTarget,MTGCard
assert(tc);
if (comboHint && comboHint->cardTargets.size())
{
tc = GetComboTc(observer,tc);
tc = GetComboTc(observer,tc);
}
if(!checkOnly && tc->maxtargets > 1)
{
@@ -2619,7 +2619,7 @@ int AIPlayerBaka::chooseTarget(TargetChooser * _tc, Player * forceTarget,MTGCard
}
}
if(playerTargetedZone > 1)
target = target->opponent();
target = target->opponent();
playerTargetedZone--;
}
if (potentialTargets.size())
@@ -2665,10 +2665,10 @@ int AIPlayerBaka::getEfficiency(MTGAbility * ability)
check = NEW OrderedAIAction(this, ability, pTarget, ability->source);
else
check = NEW OrderedAIAction(this, ability, ability->source);
if (!check)
return -1;
int result = getEfficiency(check);
SAFE_DELETE(check);
return result;
@@ -2757,8 +2757,8 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
payAlternative = NONE;
gotPayments = vector<MTGAbility*>();
//canplayfromgraveyard
while ((card = cd.nextmatch(game->graveyard, card)))
{
while ((card = cd.nextmatch(game->graveyard, card)))
{
bool hasFlashback = false;
if(card->getManaCost())
@@ -2784,11 +2784,11 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
/*// Case were manacost is equal to flashback cost, if they are different the AI hangs
if (hasFlashback && (card->getManaCost() != card->getManaCost()->getFlashback()))
continue;
continue;
// Case were manacost is equal to retrace cost, if they are different the AI hangs
if (hasRetrace && (card->getManaCost() != card->getManaCost()->getRetrace()))
continue;*/
continue;*/
if (card->hasType(Subtypes::TYPE_LAND))
{
@@ -2816,7 +2816,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
if (card->hasType(Subtypes::TYPE_BATTLE) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_BATTLE,card->types[1]))
continue;
if(hints && hints->HintSaysItsForCombo(observer,card))
{
if(hints->canWeCombo(observer,card,this))
@@ -2834,7 +2834,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
else
{
nextCardToPlay = NULL;
continue;
continue;
}
}
int currentCost = card->getManaCost()->getConvertedCost();
@@ -2987,7 +2987,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
if (card->hasType(Subtypes::TYPE_BATTLE) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_BATTLE,card->types[1]))
continue;
if(hints && hints->HintSaysItsForCombo(observer,card))
{
if(hints->canWeCombo(observer,card,this))
@@ -3005,7 +3005,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
else
{
nextCardToPlay = NULL;
continue;
continue;
}
}
int currentCost = card->getManaCost()->getConvertedCost();
@@ -3013,7 +3013,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
gotPayments.clear();
if((!pMana->canAfford(card->getManaCost(),0) || card->getManaCost()->getKicker()))
gotPayments = canPayMana(card,card->getManaCost(),card->has(Constants::ANYTYPEOFMANA));
//for preformence reason we only look for specific mana if the payment couldn't be made with pmana.
//for preformence reason we only look for specific mana if the payment couldn't be made with pmana.
if ((currentCost > maxCost || hasX) && (gotPayments.size() || pMana->canAfford(card->getManaCost(),card->has(Constants::ANYTYPEOFMANA))))
{
TargetChooserFactory tcf(observer);
@@ -3122,10 +3122,10 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
if (game->playRestrictions->canPutIntoZone(card, game->stack) == PlayRestriction::CANT_PLAY)
continue;
if (card->hasType(Subtypes::TYPE_LEGENDARY) && game->inPlay->findByName(card->name))
continue;
if(hints && hints->HintSaysItsForCombo(observer,card))
{
if(hints->canWeCombo(observer,card,this))
@@ -3143,7 +3143,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
else
{
nextCardToPlay = NULL;
continue;
continue;
}
}
int currentCost = card->getManaCost()->getConvertedCost();
@@ -3151,7 +3151,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
gotPayments.clear();
if((!pMana->canAfford(card->getManaCost(),0) || card->getManaCost()->getKicker()))
gotPayments = canPayMana(card,card->getManaCost(),card->has(Constants::ANYTYPEOFMANA));
//for preformence reason we only look for specific mana if the payment couldn't be made with pmana.
//for preformence reason we only look for specific mana if the payment couldn't be made with pmana.
if ((currentCost > maxCost || hasX) && (gotPayments.size() || pMana->canAfford(card->getManaCost(),card->has(Constants::ANYTYPEOFMANA))))
{
TargetChooserFactory tcf(observer);
@@ -3275,8 +3275,8 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
//PLaneswalkers are now legendary so this is redundant
//if (card->hasType(Subtypes::TYPE_PLANESWALKER) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_PLANESWALKER,card->types[1]))
//continue;
//continue;
if(hints && hints->HintSaysItsForCombo(observer,card))
{
if(hints->canWeCombo(observer,card,this))
@@ -3294,7 +3294,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
else
{
nextCardToPlay = NULL;
continue;
continue;
}
}
int currentCost = card->getManaCost()->getConvertedCost();
@@ -3487,7 +3487,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty
if(hints && hints->HintSaysItsForCombo(observer,nextCardToPlay))
{
DebugTrace(" AI wants to play a card that belongs to a combo.");
nextCardToPlay = NULL;
nextCardToPlay = NULL;
}
}
@@ -3521,7 +3521,7 @@ MTGCardInstance * AIPlayerBaka::activateCombo()
if(comboCards.size())
{
nextCardToPlay = comboCards.back();
DebugTrace("ai is doing a combo:" << nextCardToPlay->getName());
DebugTrace("ai is doing a combo:" << nextCardToPlay->getName());
DebugTrace("ai is doing a combo:" << nextCardToPlay->getName());
@@ -3574,7 +3574,7 @@ int AIPlayerBaka::computeActions()
if(doThis >= 0)
{
if(object->abilitiesMenu->isMultipleChoice)
observer->mLayers->actionLayer()->ButtonPressedOnMultipleChoice(doThis);
observer->mLayers->actionLayer()->ButtonPressedOnMultipleChoice(doThis);
else
observer->mLayers->actionLayer()->doReactTo(doThis);
}
@@ -3985,16 +3985,16 @@ int AIPlayerBaka::getCreaturesInfo(Player * player, int neededInfo, int untapMod
int AIPlayerBaka::chooseAttackers()
{
int myCreatures = getCreaturesInfo(this, INFO_NBCREATURES, -1, 1);
if (myCreatures < 1)
return 0;
int myCreatures = getCreaturesInfo(this, INFO_NBCREATURES, -1, 1);
if (myCreatures < 1)
return 0;
//Attack with all creatures
//How much damage can the other player do during his next Attack ?
int opponentForce = getCreaturesInfo(opponent(), INFO_CREATURESPOWER);
int opponentCreatures = getCreaturesInfo(opponent(), INFO_NBCREATURES);
int myForce = getCreaturesInfo(this, INFO_CREATURESPOWER, -1, 1);
if(opponent()->life < 5)
agressivity += 31;
if(opponent()->life < 5)
agressivity += 31;
bool attack = ((myCreatures > opponentCreatures) || (myForce > opponentForce) || (myForce > 2 * opponent()->life));
if (agressivity > 80 && !attack && life > opponentForce)
@@ -4002,7 +4002,7 @@ int AIPlayerBaka::chooseAttackers()
opponentCreatures = getCreaturesInfo(opponent(), INFO_NBCREATURES, -1);
opponentForce = getCreaturesInfo(opponent(), INFO_CREATURESPOWER, -1);
attack = (myCreatures >= opponentCreatures && myForce > opponentForce)
|| (myForce > opponentForce) || (myForce > opponent()->life) || ((life - opponentForce) > 30) ;
|| (myForce > opponentForce) || (myForce > opponent()->life) || ((life - opponentForce) > 30) ;
}
printf("Choose attackers : %i %i %i %i -> %i\n", opponentForce, opponentCreatures, myForce, myCreatures, attack);
@@ -4012,16 +4012,13 @@ int AIPlayerBaka::chooseAttackers()
MTGCardInstance * card = NULL;
while ((card = cd.nextmatch(game->inPlay, card)))
{
if ((hints && hints->HintSaysAlwaysAttack(observer, card)) || card->has(Constants::UNBLOCKABLE))
if (shouldAIForceAttack(card, attack))
{
if (!card->isAttacker())
if (card->attackCost)
{
if (card->attackCost)
{
MTGAbility * a = observer->mLayers->actionLayer()->getAbility(MTGAbility::ATTACK_COST);
doAbility(a,card);
observer->cardClick(card, MTGAbility::ATTACK_COST);
}
MTGAbility* a = observer->mLayers->actionLayer()->getAbility(MTGAbility::ATTACK_COST);
doAbility(a, card);
observer->cardClick(card, MTGAbility::ATTACK_COST);
}
observer->cardClick(card, MTGAbility::MTG_ATTACK_RULE);
}
@@ -4052,6 +4049,76 @@ int AIPlayerBaka::chooseAttackers()
return 1;
}
bool AIPlayerBaka::shouldAIForceAttack(MTGCardInstance* card, bool globalAttack)
{
if (globalAttack)
return true;
if (!card || card->isAttacker())
return false;
if (hints)
{
if (hints->HintSaysDontAttack(observer, card))
return false;
if (hints->HintSaysAlwaysAttack(observer, card))
return true;
}
if (card->has(Constants::UNBLOCKABLE))
return true;
// Flags for opponent defenses
bool oppHasShadow = false;
bool oppHasAirDefense = false;
bool oppHasHorsemanship = false;
bool oppHasBlackOrArtifact = false;
bool oppHasMatchingColorOrArtifact = false;
MTGCardInstance* oppCard = NULL;
CardDescriptor desc;
desc.init();
desc.setType("creature");
while ((oppCard = desc.nextmatch(opponent()->game->inPlay, oppCard)))
{
if (oppCard->isTapped())
continue;
if (oppCard->has(Constants::SHADOW))
oppHasShadow = true;
if (oppCard->has(Constants::FLYING) || oppCard->has(Constants::REACH))
oppHasAirDefense = true;
if (oppCard->has(Constants::HORSEMANSHIP))
oppHasHorsemanship = true;
if (oppCard->hasColor(Constants::MTG_COLOR_BLACK) || oppCard->hasType("Artifact"))
oppHasBlackOrArtifact = true;
// Intimidate check: artifact or shares color
if (oppCard->hasType("Artifact") || (oppCard->colors & card->colors))
oppHasMatchingColorOrArtifact = true;
}
// Decision logic based on evasion
if ((card->has(Constants::SHADOW) && !oppHasShadow) ||
(card->has(Constants::FLYING) && !oppHasAirDefense) ||
(card->has(Constants::HORSEMANSHIP) && !oppHasHorsemanship) ||
(card->has(Constants::FEAR) && !oppHasBlackOrArtifact) ||
(card->has(Constants::INTIMIDATE) && !oppHasMatchingColorOrArtifact))
return true;
// Landwalk abilities
if ((card->has(Constants::SWAMPWALK) && opponent()->game->inPlay->hasType("Swamp")) ||
(card->has(Constants::ISLANDWALK) && opponent()->game->inPlay->hasType("Island")) ||
(card->has(Constants::FORESTWALK) && opponent()->game->inPlay->hasType("Forest")) ||
(card->has(Constants::MOUNTAINWALK) && opponent()->game->inPlay->hasType("Mountain")) ||
(card->has(Constants::PLAINSWALK) && opponent()->game->inPlay->hasType("Plains")))
return true;
return false;
}
/* Can I first strike my oponent and get away with murder ? */
int AIPlayerBaka::canFirstStrikeKill(MTGCardInstance * card, MTGCardInstance *ennemy)
{
@@ -4073,14 +4140,16 @@ int AIPlayerBaka::chooseBlockers()
//Should not block during my own turn...
if (observer->currentPlayer == this)
return 0;
map<MTGCardInstance *, int> opponentsToughness;
int opponentForce = getCreaturesInfo(opponent(), INFO_CREATURESPOWER);
map<MTGCardInstance*, int> opponentsToughness;
//Initialize the list of opponent's attacking cards toughness
CardDescriptor cdAttackers;
cdAttackers.init();
cdAttackers.setType("Creature");
MTGCardInstance * card = NULL;
MTGCardInstance* card = NULL;
// Gather all attacking creatures and store their toughness
while ((card = cdAttackers.nextmatch(opponent()->game->inPlay, card)))
{
if (card->isAttacker())
@@ -4094,11 +4163,12 @@ int AIPlayerBaka::chooseBlockers()
cd.unsecureSetTapped(-1);
card = NULL;
// We first try to block the major threats, those that are marked in the Top 3 of our stats
// First pass: auto-block top 3 threats if can be killed
while ((card = cd.nextmatch(game->inPlay, card)))
{
if(hints && hints->HintSaysDontBlock(observer,card))
if (hints && hints->HintSaysDontBlock(observer, card))
continue;
observer->cardClick(card, MTGAbility::MTG_BLOCK_RULE);
int set = 0;
while (!set)
@@ -4109,8 +4179,8 @@ int AIPlayerBaka::chooseBlockers()
}
else
{
MTGCardInstance * attacker = card->defenser;
map<MTGCardInstance *, int>::iterator it = opponentsToughness.find(attacker);
MTGCardInstance* attacker = card->defenser;
map<MTGCardInstance*, int>::iterator it = opponentsToughness.find(attacker);
if (it == opponentsToughness.end())
{
opponentsToughness[attacker] = attacker->toughness;
@@ -4125,7 +4195,7 @@ int AIPlayerBaka::chooseBlockers()
{
if (card->blockCost)
{
MTGAbility * a = observer->mLayers->actionLayer()->getAbility(MTGAbility::BLOCK_COST);
MTGAbility* a = observer->mLayers->actionLayer()->getAbility(MTGAbility::BLOCK_COST);
doAbility(a, card);
observer->cardClick(card, MTGAbility::BLOCK_COST);
}
@@ -4135,13 +4205,13 @@ int AIPlayerBaka::chooseBlockers()
}
}
//If blocking one of the major threats is not enough to kill it,
// We change strategy, first we unassign its blockers that where assigned above
// Second pass: unassign if attacker is not expected to die
card = NULL;
while ((card = cd.nextmatch(game->inPlay, card)))
{
if(hints && hints->HintSaysDontBlock(observer,card))
if (hints && hints->HintSaysDontBlock(observer, card))
continue;
if (card->defenser && opponentsToughness[card->defenser] > 0)
{
while (card->defenser)
@@ -4151,53 +4221,156 @@ int AIPlayerBaka::chooseBlockers()
}
}
//Assign the "free" potential blockers to attacking creatures that are not blocked enough
// Third pass: intelligent blocking
card = NULL;
while ((card = cd.nextmatch(game->inPlay, card)))
{
if(hints && hints->HintSaysDontBlock(observer,card))
if (hints && hints->HintSaysDontBlock(observer, card))
continue;
if (!card->defenser)
if (card->defenser)
continue;
MTGCardInstance* bestAttacker = NULL;
int bestScore = -1;
for (map<MTGCardInstance*, int>::iterator it = opponentsToughness.begin(); it != opponentsToughness.end(); ++it)
{
if (card->blockCost)
MTGCardInstance* attacker = it->first;
if (!attacker)
continue;
int currentBlockers = (int)attacker->blockers.size();
int totalAssignedDamage = 0;
std::list<MTGCardInstance*>::iterator itb;
for (itb = attacker->blockers.begin(); itb != attacker->blockers.end(); ++itb)
{
MTGAbility * a = observer->mLayers->actionLayer()->getAbility(MTGAbility::BLOCK_COST);
doAbility(a, card);
MTGCardInstance* blocker = *itb;
if (blocker)
totalAssignedDamage += blocker->power;
}
observer->cardClick(card, MTGAbility::MTG_BLOCK_RULE);
int set = 0;
while (!set)
int maxBlockers = 1;
if (attacker->basicAbilities[Constants::MENACE]) maxBlockers = 2;
if (attacker->basicAbilities[Constants::THREEBLOCKERS]) maxBlockers = 3;
if (totalAssignedDamage >= attacker->toughness || currentBlockers >= maxBlockers)
continue;
bool canKill = (card->power >= attacker->toughness);
bool survives = (card->toughness > attacker->power);
// Always block if can kill, regardless of survivability or damage
if (canKill)
{
if (!card->defenser)
int score = attacker->power * 2 + attacker->toughness;
if (getStats() && getStats()->isInTop(attacker, 3, false))
score += 100;
if (score > bestScore)
{
set = 1;
bestScore = score;
bestAttacker = attacker;
}
else
}
// Block even if can't kill, but we survive and reduce damage
else if (survives && attacker->power < life)
{
int score = attacker->power;
if (getStats() && getStats()->isInTop(attacker, 3, false))
score += 50;
if (score > bestScore)
{
MTGCardInstance * attacker = card->defenser;
if (opponentsToughness[attacker] <= 0 || (card->toughness <= attacker->power && opponentForce * 2 < life && !canFirstStrikeKill(card, attacker)) || attacker->nbOpponents() > 1)
bestScore = score;
bestAttacker = attacker;
}
}
// Block to prevent lethal damage, even if we die
else if (!survives && attacker->power >= life)
{
int score = attacker->power;
if (getStats() && getStats()->isInTop(attacker, 3, false))
score += 75;
if (score > bestScore)
{
bestScore = score;
bestAttacker = attacker;
}
}
}
if (bestAttacker)
{
int requiredBlockers = 1;
if (bestAttacker->basicAbilities[Constants::MENACE]) requiredBlockers = 2;
if (bestAttacker->basicAbilities[Constants::THREEBLOCKERS]) requiredBlockers = 3;
int currentBlockers = (int)bestAttacker->blockers.size();
int currentBlockPower = 0;
std::list<MTGCardInstance*>::iterator itb;
for (itb = bestAttacker->blockers.begin(); itb != bestAttacker->blockers.end(); ++itb)
{
MTGCardInstance* blocker = *itb;
if (blocker)
currentBlockPower += blocker->power;
}
if (currentBlockers >= requiredBlockers || currentBlockPower >= bestAttacker->toughness)
continue;
vector<MTGCardInstance*> extraBlockers;
if (requiredBlockers > 1)
{
CardDescriptor cd2;
cd2.init();
cd2.setType("Creature");
cd2.unsecureSetTapped(-1);
MTGCardInstance* c2 = NULL;
while ((c2 = cd2.nextmatch(game->inPlay, c2)))
{
if (c2 == card || c2->defenser || (hints && hints->HintSaysDontBlock(observer, c2)))
continue;
int combinedPower = c2->power + card->power;
bool combinedCanKill = (combinedPower >= bestAttacker->toughness);
if (combinedCanKill)
{
if (card->blockCost)
{
MTGAbility * a = observer->mLayers->actionLayer()->getAbility(MTGAbility::BLOCK_COST);
doAbility(a, card);
}
if((!attacker->basicAbilities[Constants::MENACE] && !attacker->basicAbilities[Constants::THREEBLOCKERS]) ||
(attacker->basicAbilities[Constants::MENACE] && attacker->blockers.size() > 2) ||
(attacker->basicAbilities[Constants::THREEBLOCKERS] && attacker->blockers.size() > 3))
observer->cardClick(card, MTGAbility::MTG_BLOCK_RULE);
else
set = 1;
extraBlockers.push_back(c2);
if ((int)extraBlockers.size() + currentBlockers + 1 >= requiredBlockers)
break;
}
else
}
}
if (currentBlockers + (int)extraBlockers.size() + 1 >= requiredBlockers)
{
if (card->blockCost)
{
MTGAbility* a = observer->mLayers->actionLayer()->getAbility(MTGAbility::BLOCK_COST);
doAbility(a, card);
}
observer->cardClick(card, MTGAbility::MTG_BLOCK_RULE);
opponentsToughness[bestAttacker] -= card->power;
for (size_t i = 0; i < extraBlockers.size(); ++i)
{
MTGCardInstance* extra = extraBlockers[i];
if (extra->blockCost)
{
set = 1;
MTGAbility* a = observer->mLayers->actionLayer()->getAbility(MTGAbility::BLOCK_COST);
doAbility(a, extra);
}
observer->cardClick(extra, MTGAbility::MTG_BLOCK_RULE);
opponentsToughness[bestAttacker] -= extra->power;
}
}
}
}
return 1;
}
@@ -4269,7 +4442,7 @@ int AIPlayerBaka::receiveEvent(WEvent * event)
AIPlayerBaka::AIPlayerBaka(GameObserver *observer, string file, string fileSmall, string avatarFile, MTGDeck * deck) :
AIPlayer(observer, file, fileSmall, deck)
AIPlayer(observer, file, fileSmall, deck)
{
nextCardToPlay = NULL;
@@ -4312,7 +4485,7 @@ AIPlayerBaka::AIPlayerBaka(GameObserver *observer, string file, string fileSmall
if (fileSmall == "ai_baka_eviltwin")
mAvatar->SetHFlip(true);
initTimer();
}
@@ -4379,17 +4552,17 @@ int AIPlayerBaka::Act(float dt)
else
{
if (observer->currentActionPlayer == this)//if im not the action player why would i requestnextphase?
observer->userRequestNextGamePhase();
observer->userRequestNextGamePhase();
}
}
else
{
while(clickstream.size())
{
AIAction * action = clickstream.front();
action->Act();
SAFE_DELETE(action);
clickstream.pop();
AIAction * action = clickstream.front();
action->Act();
SAFE_DELETE(action);
clickstream.pop();
}
}
return 1;

View File

@@ -165,7 +165,7 @@ Credits::~Credits()
if (bonus[i])
delete bonus[i];
bonus.clear();
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
void Credits::compute(GameObserver* g, GameApp * _app)
@@ -227,7 +227,7 @@ void Credits::compute(GameObserver* g, GameApp * _app)
if (p1->game->hand->nb_cards == 7)
{
CreditBonus * b = NEW CreditBonus(77, _("'Seven-Tail Mentor' Bonus"));
CreditBonus * b = NEW CreditBonus(77, _("'Library of Alexandria' Bonus"));
bonus.push_back(b);
}
@@ -685,7 +685,7 @@ void Credits::Render()
{
f2->DrawString(_("There's more!").c_str(), 10, y + 15);
f->DrawString(_("Mods, additional cards, updates and more at:").c_str(), 10, y + 30);
f2->DrawString("-> Discord: Wagic - MTG Game", 10, y + 42);
f2->DrawString("Discord and GitHub: Wagic game", 10, y + 42);
}
}

View File

@@ -37,7 +37,7 @@ GameStateAwards::GameStateAwards(GameApp* parent) :
GameStateAwards::~GameStateAwards()
{
kAwardFile = ""; //Reset the chosen backgorund.
kAwardFile = ""; //Reset the chosen background.
}
void GameStateAwards::End()
@@ -50,7 +50,7 @@ void GameStateAwards::End()
if (saveMe)
options.save();
kAwardFile = ""; //Reset the chosen backgorund.
kAwardFile = ""; //Reset the chosen background.
}
void GameStateAwards::Start()
{
@@ -97,6 +97,12 @@ void GameStateAwards::Start()
wgh = NEW WGuiHeader("");
listview->Add(wgh);
#if !defined(PSP)
WGuiItem* backLabel = NEW WGuiItem("Back to Main Menu");
WGuiButton* backBtn = NEW WGuiButton(backLabel, EXIT_AWARDS_MENU, GameStateAwardsConst::kBackToMainMenuID, this);
listview->Add(backBtn);
#endif
int locked = 0;

View File

@@ -105,7 +105,7 @@ GameStateDeckViewer::~GameStateDeckViewer()
SAFE_DELETE(myCollection);
}
SAFE_DELETE(filterMenu);
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
void GameStateDeckViewer::rebuildFilters()
@@ -308,7 +308,7 @@ void GameStateDeckViewer::End()
SAFE_DELETE(playerdata);
SAFE_DELETE(filterMenu);
SAFE_DELETE(source);
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
void GameStateDeckViewer::addRemove(MTGCard * card)

View File

@@ -182,7 +182,7 @@ GameStateDuel::~GameStateDuel()
{
End();
SAFE_DELETE(tournament);
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
void GameStateDuel::Start()
@@ -372,7 +372,7 @@ void GameStateDuel::End()
#endif
MTGAbility::deletedpointers.clear(); // Clear the list of deallocated pointer.
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
//TODO Move This to utils or ResourceManager. Don't we have more generic functions that can do that?

View File

@@ -25,7 +25,7 @@ GameStateOptions::GameStateOptions(GameApp* parent) :
GameStateOptions::~GameStateOptions()
{
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
void GameStateOptions::Start()
@@ -161,7 +161,7 @@ void GameStateOptions::End()
JRenderer::GetInstance()->EnableVSync(false);
SAFE_DELETE(optionsTabs);
SAFE_DELETE(optionsMenu);
kBgFile = ""; //Reset the chosen backgorund.
kBgFile = ""; //Reset the chosen background.
}
void GameStateOptions::Update(float dt)
@@ -282,7 +282,7 @@ void GameStateOptions::Render()
const char * const CreditsText[] = {
"Wagic, The Homebrew?! by Wololo",
"",
"Updates, new cards, and more on http://wololo.net/wagic",
"Updates, new cards, and more on the Wagic Discord",
"Many thanks to the people who help this project",
"",
"",
@@ -320,7 +320,7 @@ void GameStateOptions::Render()
"",
"This work is not related to or endorsed by Wizards of the Coast, Inc",
"",
"Please support this project with donations at http://wololo.net/wagic",
"Please support this project with donations at Wagic Discord",
};
WFont * mFont = WResourceManager::Instance()->GetWFont(Fonts::MAGIC_FONT);

View File

@@ -17,7 +17,7 @@ GuiBackground::GuiBackground(GameObserver* observer)
GuiBackground::~GuiBackground()
{
kBackdropFile = ""; //Reset the chosen backgorund.
kBackdropFile = ""; //Reset the chosen background.
}
void GuiBackground::Render()

View File

@@ -605,7 +605,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
if (grave->hasType("artifact")) checkTypesAmount++;
if (grave->hasType("planeswalker")) checkTypesAmount++;
if (grave->hasType("battle")) checkTypesAmount++;
if (grave->hasType("tribal")) checkTypesAmount++;
if (grave->hasType("kindred")) checkTypesAmount++;
if (checkTypesAmount < 4)
return 0;
}
@@ -625,7 +625,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
if (grave->hasType("artifact")) checkTypesAmount++;
if (grave->hasType("planeswalker")) checkTypesAmount++;
if (grave->hasType("battle")) checkTypesAmount++;
if (grave->hasType("tribal")) checkTypesAmount++;
if (grave->hasType("kindred")) checkTypesAmount++;
if (checkTypesAmount > 3)
return 0;
}

View File

@@ -347,12 +347,17 @@ void MTGCardInstance::initMTGCI()
data = this; //an MTGCardInstance point to itself for data, allows to update it without killing the underlying database item
if (observer && basicAbilities[(int)Constants::CHANGELING])
{//if the card is a changeling, it gains all creature subtypes
{
//if the card is a changeling, it gains all creature subtypes except "Equipment"
vector<string> values = MTGAllCards::getCreatureValuesById();
for (size_t i = 0; i < values.size(); ++i)
{
//Don' want to send any event to the gameObserver inside of initMCGI, so calling the parent setSubtype method instead of mine
CardPrimitive::setSubtype(values[i].c_str());
const string& subtype = values[i];
if (subtype == "Clue" || subtype == "Equipment" || subtype == "Food" || subtype == "Treasure")
continue;
// Don't send any event to the gameObserver inside of initMCGI, so calling the parent setSubtype method instead
CardPrimitive::setSubtype(subtype.c_str());
}
}
@@ -1147,8 +1152,8 @@ int MTGCardInstance::canBlock(MTGCardInstance * opponent)
return 0;
if (opponent->basicAbilities[(int)Constants::FEAR] && !(this->hasType(Subtypes::TYPE_ARTIFACT) || this->hasColor(Constants::MTG_COLOR_BLACK)))
return 0;
if (opponent->controller()->game->battlefield->hasAbility(Constants::LURE) && !opponent->has(Constants::LURE))
return 0;
//if (opponent->controller()->game->battlefield->hasAbility(Constants::LURE) && !opponent->has(Constants::LURE))
//return 0; Doesn't consider if the lure creature is attacking
//intimidate
if (opponent->basicAbilities[(int)Constants::INTIMIDATE] && !(this->hasType(Subtypes::TYPE_ARTIFACT)))
{

View File

@@ -245,7 +245,7 @@ const char* Constants::MTGBasicAbilities[] = {
"countershroud", //Card can't get any kind of counter (e.g. "Solemnity").
"nonight", //It can't become night (e.g. "Angel of Eternal Dawn").
"nodamageremoved", //Damage is not removed from card (e.g. "Patient Zero").
"backgroundpartner", //Can choose a backgorund partner as commander (e.g. "Faceless One").
"backgroundpartner", //Can choose a background partner as commander (e.g. "Faceless One").
"bottomlibrarydeath", //It goes to bottom of library after death (e.g. "Quintorius, Loremaster").
"noloyaltydamage", //Damage does not cause loyalty counter to be removed from a Planeswalker (e.g. "Spark Rupture").
"nodefensedamage", //Damage does not cause defense counter to be removed from a Battle.

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