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
+3 -1
View File
@@ -1,5 +1,7 @@
#NAME:Howlins #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 #Spark Elemental
129577 129577
129577 129577
+8 -2
View File
@@ -1,4 +1,7 @@
#NAME:Giants! #NAME:Giants!
#DESC:A giant can brood
#DESC:over a grudge for decades,
#DESC:and woe to those who interrupt him.
#Mogg Fanatic #Mogg Fanatic
4832 4832
4832 4832
@@ -30,8 +33,11 @@
146597 146597
146597 146597
#Borderland Behemoth (IS NOT INCLUDED IN OFFICIAL RELEASE !! SHOULD BE REPLACED !!) #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 #Pyroclasm
129801 129801
129801 129801
+1 -1
View File
@@ -1,4 +1,4 @@
#NAME:Flashback #NAME:Savannah
#DESC:Ol'good RV green/white #DESC:Ol'good RV green/white
#DESC:small creatures deck #DESC:small creatures deck
#2x Black Vise #2x Black Vise
+6 -2
View File
@@ -1,5 +1,9 @@
#NAME:Disenchant #NAME:Shatter
#DESC:Red/White Deck for AI, Anti Artifact #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 #2x Shatter
1316 1316
1316 1316
+4 -1
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. text=Search your library for a Plains, Island, Swamp, or Mountain card and put it into play tapped. Then shuffle your library.
id=87970 id=87970
name=Farseek name=Farseek
target=plains,island,swamp|mylibrary
auto=moveto(myinplay)
auto=tap
rarity=C rarity=C
type=Sorcery type=Sorcery
mana={1}{G} mana={1}{G}
@@ -625,7 +628,7 @@ subtype=Angel
toughness=3 toughness=3
[/card] [/card]
[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 id=83912
name=Flame Fusillade name=Flame Fusillade
rarity=R rarity=R
+17
View File
@@ -474,6 +474,14 @@ subtype=Goblin
toughness=1 toughness=1
[/card] [/card]
[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. text=Goblin Raider can't block.
id=5701 id=5701
name=Goblin Raider name=Goblin Raider
@@ -714,6 +722,15 @@ mana={1}{W}
subtype=Aura subtype=Aura
[/card] [/card]
[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 text=Flying, first strike
id=5729 id=5729
name=Pegasus Charger name=Pegasus Charger
+6 -29
View File
@@ -742,15 +742,6 @@ power=1
subtype=Goblin subtype=Goblin
toughness=1 toughness=1
[/card] [/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] [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.) 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 id=5653
@@ -1228,14 +1219,6 @@ mana={2}{W}
subtype=Aura subtype=Aura
[/card] [/card]
[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.) text=Flying Cycling {2} ({2}, Discard this card: Draw a card.)
id=5575 id=5575
name=Pendrell Drake 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 id=10482
name=Shivan Gorge name=Shivan Gorge
rarity=R rarity=R
type=Legendary Land type=Land
abilities=Legendary
auto={T}:add {1}
auto={2}{R}{T}:damage:1 target(opponent)
[/card] [/card]
[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.) 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] [card]
text=Slippery Karst comes into play tapped. {T}: Add {G} to your mana pool. Cycling {2} ({2}, Discard this card: Draw a 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 id=5803
auto=tap
auto={T}:add {G}
name=Slippery Karst name=Slippery Karst
rarity=C rarity=C
type=Land type=Land
@@ -1913,17 +1901,6 @@ type=Artifact
mana={1} mana={1}
[/card] [/card]
[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. 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 id=10423
name=Time Spiral name=Time Spiral
+22
View File
@@ -10,6 +10,7 @@
#include "CardGui.h" #include "CardGui.h"
#include "GameOptions.h" #include "GameOptions.h"
#include "Token.h" #include "Token.h"
#include "Counters.h"
#include "WEvent.h" #include "WEvent.h"
#include <JGui.h> #include <JGui.h>
@@ -3249,6 +3250,27 @@ class AStasis:public ActivatedAbility{
//--------------Addon Abra------------------ //--------------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 //Basilik
class ABasilik:public MTGAbility{ class ABasilik:public MTGAbility{
public: public:
+56 -1
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 //Change Power/Toughness
int power, toughness; int power, toughness;
if ( parsePowerToughness(s,&power, &toughness)){ if ( parsePowerToughness(s,&power, &toughness)){
@@ -1790,6 +1824,27 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){
break; 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--- //-- addon 10E---
case 129523: //Demon's Horn case 129523: //Demon's Horn
{ {
@@ -1860,7 +1915,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){
} }
// --- addon Invasion--- // --- 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); card->target->controller()->game->putInGraveyard(card->target);
int x = card->target->getManaCost()->getConvertedCost(); int x = card->target->getManaCost()->getConvertedCost();