Laurent - Added cards to USG - First step of Counter adding to parser (does not work yet). Update of AI deck description

This commit is contained in:
wagic.laurent
2009-06-13 19:43:57 +00:00
parent 3e12e7d630
commit 984038e5e2
9 changed files with 123 additions and 37 deletions

View File

@@ -1,5 +1,7 @@
#NAME:Howlins
#DESC:Goblin deck
#DESC:High in Jund's mountains.
#DESC:They build up a head of steam
#DESC:before attacking prey down below.
#Spark Elemental
129577
129577

View File

@@ -1,4 +1,7 @@
#NAME:Giants!
#DESC:A giant can brood
#DESC:over a grudge for decades,
#DESC:and woe to those who interrupt him.
#Mogg Fanatic
4832
4832
@@ -30,8 +33,11 @@
146597
146597
#Borderland Behemoth (IS NOT INCLUDED IN OFFICIAL RELEASE !! SHOULD BE REPLACED !!)
153102
153102
#153102
#153102
#Oathsworn Giant {4}{W}{W} - 3/4 giant - lord creature|myinplay 0/2 vigilance other
89012
89012
#Pyroclasm
129801
129801

View File

@@ -1,4 +1,4 @@
#NAME:Flashback
#NAME:Savannah
#DESC:Ol'good RV green/white
#DESC:small creatures deck
#2x Black Vise

View File

@@ -1,5 +1,9 @@
#NAME:Disenchant
#DESC:Red/White Deck for AI, Anti Artifact
#NAME:Shatter
#DESC:The scepter of power is fragile
#DESC:in a calloused hand.
#DESC:See you effort reduced
#DESC:to a smoking stack of scrap
#DESC:in one easy step.
#2x Shatter
1316
1316

View File

@@ -593,6 +593,9 @@ subtype=Aura
text=Search your library for a Plains, Island, Swamp, or Mountain card and put it into play tapped. Then shuffle your library.
id=87970
name=Farseek
target=plains,island,swamp|mylibrary
auto=moveto(myinplay)
auto=tap
rarity=C
type=Sorcery
mana={1}{G}
@@ -625,7 +628,7 @@ subtype=Angel
toughness=3
[/card]
[card]
text=Until end of turn, permanents you control gain "{T}: This permanent deals 1 damage to target creature or player."
text=Until end of turn, permanents you control gain "{T}: This permanent deals 1 damage to target creature or player."
id=83912
name=Flame Fusillade
rarity=R

View File

@@ -474,6 +474,14 @@ subtype=Goblin
toughness=1
[/card]
[card]
text=Put X 1/1 red Goblin creature tokens into play.
id=8818
name=Goblin Offensive
rarity=U
type=Sorcery
mana={X}{1}{R}{R}
[/card]
[card]
text=Goblin Raider can't block.
id=5701
name=Goblin Raider
@@ -714,6 +722,15 @@ mana={1}{W}
subtype=Aura
[/card]
[card]
text=Destroy target creature. Its owner gains 4 life.
id=5684
target=creature
name=Path of Peace
rarity=C
type=Sorcery
mana={3}{W}
[/card]
[card]
text=Flying, first strike
id=5729
name=Pegasus Charger

View File

@@ -742,15 +742,6 @@ power=1
subtype=Goblin
toughness=1
[/card]
[card]
text=Put X 1/1 red Goblin creature tokens into play.
id=8818
name=Goblin Offensive
rarity=U
type=Sorcery
mana={X}{1}{R}{R}
[/card]
[card]
text=Echo {R} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)
id=5653
@@ -1228,14 +1219,6 @@ mana={2}{W}
subtype=Aura
[/card]
[card]
text=Destroy target creature. Its owner gains 4 life.
id=5684
name=Path of Peace
rarity=C
type=Sorcery
mana={3}{W}
[/card]
[card]
text=Flying Cycling {2} ({2}, Discard this card: Draw a card.)
id=5575
name=Pendrell Drake
@@ -1695,7 +1678,10 @@ text={T}: Add {1} to your mana pool. {2}{R}, {T}: Shivan Gorge deals 1 dam
id=10482
name=Shivan Gorge
rarity=R
type=Legendary Land
type=Land
abilities=Legendary
auto={T}:add {1}
auto={2}{R}{T}:damage:1 target(opponent)
[/card]
[card]
text=First strike, haste Echo {2}{R} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)
@@ -1758,6 +1744,8 @@ toughness=3
[card]
text=Slippery Karst comes into play tapped. {T}: Add {G} to your mana pool. Cycling {2} ({2}, Discard this card: Draw a card.)
id=5803
auto=tap
auto={T}:add {G}
name=Slippery Karst
rarity=C
type=Land
@@ -1913,17 +1901,6 @@ type=Artifact
mana={1}
[/card]
[card]
text=Haste (This creature can attack and {T} as soon as it comes under your control.)
id=5759
name=Thundering Giant
rarity=U
type=Creature
mana={3}{R}{R}
power=4
subtype=Giant
toughness=3
[/card]
[card]
text=Each player shuffles his or her graveyard and hand into his or her library, then draws seven cards. You untap up to six lands. Remove Time Spiral from the game.
id=10423
name=Time Spiral

View File

@@ -10,6 +10,7 @@
#include "CardGui.h"
#include "GameOptions.h"
#include "Token.h"
#include "Counters.h"
#include "WEvent.h"
#include <JGui.h>
@@ -3249,6 +3250,27 @@ class AStasis:public ActivatedAbility{
//--------------Addon Abra------------------
//Draft for counters
class ACounters: public MTGAbility{
public:
int counter;
int power;
int toughness;
ACounters(int id, MTGCardInstance * _source, MTGCardInstance * _target, int _power, int _toughness):MTGAbility(id,_source,_target),power(_power),toughness(_toughness){
_target->counters->addCounter(power, toughness);
}
virtual ostream& toString(ostream& out) const
{
out << "ACounters ::: counter : " << counter
<< " ; power : " << power
<< " ; toughness : " << toughness
<< " (";
return MTGAbility::toString(out) << ")";
}
};
//Basilik
class ABasilik:public MTGAbility{
public:

View File

@@ -760,6 +760,40 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
}
}
//counter
found = s.find("counter(");
if (found != string::npos){
if (dryMode) {
dryModeResult = BAKA_EFFECT_GOOD;
dryModeResultSet = 1;
break;
}
int end = s.find(")", found);
string spt = s.substr(9,end - 1);
int power, toughness;
if ( parsePowerToughness(spt,&power, &toughness)){
if (dryMode){
if (power >=0 && toughness >= 0 ) {
dryModeResult = BAKA_EFFECT_GOOD;
}else{
dryModeResult = BAKA_EFFECT_BAD;
}
break;
}
if(tc){
//TODO
}else{
game->addObserver(NEW ACounters(id,card,target,power,toughness));
}
result++;
continue;
}
}
//Change Power/Toughness
int power, toughness;
if ( parsePowerToughness(s,&power, &toughness)){
@@ -1790,6 +1824,27 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){
break;
}
//-- addon Urza Saga---
case 8818: //Goblin Offensive
{
int x = spell->cost->getConvertedCost() - 3;
ATokenCreator * tok = NEW ATokenCreator(id,card,NEW ManaCost(),"Goblin","creature Goblin",1,1,"Red",0);
for (int i=0; i < x; i++){
tok->resolve();
}
break;
}
case 5684://Path of Peace
{
Player * p = card->target->controller();
p->game->putInGraveyard(card->target);
p->life+= 4;
break;
}
//-- addon 10E---
case 129523: //Demon's Horn
{
@@ -1860,7 +1915,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){
}
// --- addon Invasion---
case 23195: //Artifact Mutation (works fine but display is strange if you bury a target from opponent)
case 23195: //Artifact Mutation
{
card->target->controller()->game->putInGraveyard(card->target);
int x = card->target->getManaCost()->getConvertedCost();