Laurent - 10E - 6 cards added

Added Graveborn Muse (just missing one muse now, too complicated for me).
Added  Beacon of destruction,unrest and immortality.
Added Traumatize
Added Verdant Force
All tested (except beacon of unrest) and working.
This commit is contained in:
wagic.laurent
2009-06-21 01:59:28 +00:00
parent b5139ea523
commit 7c3464e3ba
4 changed files with 200 additions and 63 deletions
+67
View File
@@ -186,6 +186,39 @@ color=Land
type=Land type=Land
[/card] [/card]
[card] [card]
text=Beacon of Destruction deals 5 damage to target creature or player. Shuffle Beacon of Destruction into its owner's library.
id=135262
name=Beacon of Destruction
target=creature,player
auto=damage:5
rarity=R
color=Red
type=Instant
mana={3}{R}{R}
[/card]
[card]
text=Double target player's life total. Shuffle Beacon of Immortality into its owner's library.
id=130553
target=player
name=Beacon of Immortality
rarity=R
color=White
type=Instant
mana={5}{W}
[/card]
[card]
text=Put target artifact or creature card in a graveyard into play under your control. Shuffle Beacon of Unrest into its owner's library.
id=135270
target=creature,artifact|graveyard
auto=moveto(myinplay)
alias=135262
name=Beacon of Unrest
rarity=R
color=Black
type=Sorcery
mana={3}{B}{B}
[/card]
[card]
text=Flash (You may play this spell any time you could play an instant.) First strike (This creature deals combat damage before creatures without first strike.) text=Flash (You may play this spell any time you could play an instant.) First strike (This creature deals combat damage before creatures without first strike.)
abilities=flash,first strike abilities=flash,first strike
id=136279 id=136279
@@ -992,6 +1025,18 @@ subtype=Goblin Warrior
toughness=2 toughness=2
[/card] [/card]
[card] [card]
text=At the beginning of your upkeep, you draw X cards and you lose X life, where X is the number of Zombies you control.
id=135256
name=Graveborn Muse
rarity=R
color=Black
type=Creature
mana={2}{B}{B}
power=3
subtype=Zombie Spirit
toughness=3
[/card]
[card]
text=When Gravedigger comes into play, you may return target creature card from your graveyard to your hand. text=When Gravedigger comes into play, you may return target creature card from your graveyard to your hand.
auto=may moveTo(myhand) target(creature|mygraveyard) auto=may moveTo(myhand) target(creature|mygraveyard)
id=129584 id=129584
@@ -2681,6 +2726,16 @@ type=Sorcery
mana={3}{U}{U} mana={3}{U}{U}
[/card] [/card]
[card] [card]
text=Target player puts the top half of his or her library, rounded down, into his or her graveyard.
id=129774
target=player
name=Traumatize
rarity=R
color=Blue
type=Sorcery
mana={3}{U}{U}
[/card]
[card]
text=When Treasure Hunter comes into play, you may return target artifact card from your graveyard to your hand. text=When Treasure Hunter comes into play, you may return target artifact card from your graveyard to your hand.
auto=may moveTo(myhand) target(artifact|mygraveyard) auto=may moveTo(myhand) target(artifact|mygraveyard)
id=135232 id=135232
@@ -2795,6 +2850,18 @@ subtype=Human Monk Cleric
toughness=2 toughness=2
[/card] [/card]
[card] [card]
text=At the beginning of each upkeep, put a 1/1 green Saproling creature token into play under your control.
id=129788
name=Verdant Force
rarity=R
color=Green
type=Creature
mana={5}{G}{G}{G}
power=7
subtype=Elemental
toughness=7
[/card]
[card]
text=When Viridian Shaman comes into play, destroy target artifact. text=When Viridian Shaman comes into play, destroy target artifact.
id=129792 id=129792
name=Viridian Shaman name=Viridian Shaman
-60
View File
@@ -135,33 +135,6 @@ type=Instant
mana={W} mana={W}
[/card] [/card]
[card] [card]
text=Beacon of Destruction deals 5 damage to target creature or player. Shuffle Beacon of Destruction into its owner's library.
id=135262
name=Beacon of Destruction
rarity=R
color=Red
type=Instant
mana={3}{R}{R}
[/card]
[card]
text=Double target player's life total. Shuffle Beacon of Immortality into its owner's library.
id=130553
name=Beacon of Immortality
rarity=R
color=White
type=Instant
mana={5}{W}
[/card]
[card]
text=Put target artifact or creature card in a graveyard into play under your control. Shuffle Beacon of Unrest into its owner's library.
id=135270
name=Beacon of Unrest
rarity=R
color=Black
type=Sorcery
mana={3}{B}{B}
[/card]
[card]
text=When Bogardan Firefiend is put into a graveyard from play, it deals 2 damage to target creature. text=When Bogardan Firefiend is put into a graveyard from play, it deals 2 damage to target creature.
id=130534 id=130534
name=Bogardan Firefiend name=Bogardan Firefiend
@@ -452,18 +425,6 @@ type=Enchantment
mana={1}{B}{B}{B} mana={1}{B}{B}{B}
[/card] [/card]
[card] [card]
text=At the beginning of your upkeep, you draw X cards and you lose X life, where X is the number of Zombies you control.
id=135256
name=Graveborn Muse
rarity=R
color=Black
type=Creature
mana={2}{B}{B}
power=3
subtype=Zombie Spirit
toughness=3
[/card]
[card]
text=Guerrilla Tactics deals 2 damage to target creature or player. When a spell or ability an opponent controls causes you to discard Guerrilla Tactics, Guerrilla Tactics deals 4 damage to target creature or player. text=Guerrilla Tactics deals 2 damage to target creature or player. When a spell or ability an opponent controls causes you to discard Guerrilla Tactics, Guerrilla Tactics deals 4 damage to target creature or player.
id=129588 id=129588
name=Guerrilla Tactics name=Guerrilla Tactics
@@ -1258,15 +1219,6 @@ type=Sorcery
mana={8}{U}{U} mana={8}{U}{U}
[/card] [/card]
[card] [card]
text=Target player puts the top half of his or her library, rounded down, into his or her graveyard.
id=129774
name=Traumatize
rarity=R
color=Blue
type=Sorcery
mana={3}{U}{U}
[/card]
[card]
text=Enchant creature (Target a creature as you play this. This card comes into play attached to that creature.) Enchanted creature gets +1/+1 and can't be blocked except by creatures with flying. text=Enchant creature (Target a creature as you play this. This card comes into play attached to that creature.) Enchanted creature gets +1/+1 and can't be blocked except by creatures with flying.
id=129777 id=129777
name=Treetop Bracers name=Treetop Bracers
@@ -1345,18 +1297,6 @@ type=Enchantment
mana={3}{G} mana={3}{G}
[/card] [/card]
[card] [card]
text=At the beginning of each upkeep, put a 1/1 green Saproling creature token into play under your control.
id=129788
name=Verdant Force
rarity=R
color=Green
type=Creature
mana={5}{G}{G}{G}
power=7
subtype=Elemental
toughness=7
[/card]
[card]
text=Viashino Runner can't be blocked except by two or more creatures. text=Viashino Runner can't be blocked except by two or more creatures.
id=130531 id=130531
name=Viashino Runner name=Viashino Runner
+79 -2
View File
@@ -3740,10 +3740,9 @@ class ARampageAbility:public MTGAbility{
} }
}; };
// Dreamborn Muse // Seedborn Muse
class ASeedbornMuse: public TriggeredAbility{ class ASeedbornMuse: public TriggeredAbility{
public: public:
int nbcards;
ASeedbornMuse(int _id, MTGCardInstance * _source):TriggeredAbility(_id, _source){ ASeedbornMuse(int _id, MTGCardInstance * _source):TriggeredAbility(_id, _source){
} }
@@ -3768,4 +3767,82 @@ class ASeedbornMuse: public TriggeredAbility{
} }
}; };
// Graveborn Muse
class AGravebornMuse: public TriggeredAbility{
public:
int nbcards_life;
AGravebornMuse(int _id, MTGCardInstance * _source):TriggeredAbility(_id, _source){
nbcards_life=0;
}
int trigger(){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UPKEEP && ((MTGCardInstance *) source)->controller()== game->currentPlayer){
return 1;
}
return 0;
}
int resolve(){
for (int j = source->controller()->game->inPlay->nb_cards-1; j >=0 ; j--){
MTGCardInstance * current = source->controller()->game->inPlay->cards[j];
if (current->hasSubtype("zombie")){
nbcards_life++;
}
}
source->controller()->life-=nbcards_life;
game->mLayers->stackLayer()->addDraw(source->controller(),nbcards_life);
return 1;
}
virtual ostream& toString(ostream& out) const
{
out << "AGravebornMuse ::: nbcards_life : " << nbcards_life
<< " (";
return TriggeredAbility::toString(out) << ")";
}
};
// Verdant Force
class AVerdantForce: public TriggeredAbility{
public:
list<int>types;
AVerdantForce(int _id, MTGCardInstance * _source):TriggeredAbility(_id, _source){
string s = "Saproling Creature";
while (s.size()){
unsigned int found = s.find(" ");
if (found != string::npos){
int id = Subtypes::subtypesList->Add(s.substr(0,found));
types.push_back(id);
s = s.substr(found+1);
}else{
int id = Subtypes::subtypesList->Add(s);
types.push_back(id);
s = "";
}
}
}
int trigger(){
if (newPhase != currentPhase && newPhase == Constants::MTG_PHASE_UPKEEP) return 1;
return 0;
}
int resolve(){
Token * myToken = NEW Token("Saproling",source,1,1);
list<int>::iterator it;
for ( it=types.begin() ; it != types.end(); it++ ){
myToken->addType(*it);
}
myToken->setColor(Constants::MTG_COLOR_GREEN);
source->controller()->game->stack->addCard(myToken);
Spell * spell = NEW Spell(myToken);
spell->resolve();
delete spell;
return 1;
}
virtual ostream& toString(ostream& out) const
{
out << "AVerdantForce ::: (";
return TriggeredAbility::toString(out) << ")";
}
};
#endif #endif
+54 -1
View File
@@ -1969,13 +1969,66 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){
game->addObserver( NEW ADreambornMuse(_id ,card)); game->addObserver( NEW ADreambornMuse(_id ,card));
break; break;
} }
case 135256: //Graveborn Muse
{
game->addObserver( NEW AGravebornMuse(_id ,card));
break;
}
case 129774: // Traumatize
{
int nbcards;
Player * player = spell->getNextPlayerTarget();
MTGLibrary * library = player->game->library;
nbcards = (library->nb_cards)/2;
for (int i = 0; i < nbcards; i++){
if (library->nb_cards)
player->game->putInZone(library->cards[library->nb_cards-1],library, player->game->graveyard);
}
break;
}
case 129788: // Verdant Force
{
game->addObserver( NEW AVerdantForce(_id,card));
break;
}
case 135215: //Sylvan Basilisk case 135215: //Sylvan Basilisk
{ {
game->addObserver( NEW ABasilik (_id ,card)); game->addObserver( NEW ABasilik (_id ,card));
break; break;
} }
case 130553:// Beacon of Immortality
{
int life;
Player * player = spell->getNextPlayerTarget();
MTGLibrary * library = card->controller()->game->library;
MTGGraveyard * graveyard = card->controller()->game->graveyard;
life = player->life;
player->life+=life;
MTGGameZone * zones[] = {card->controller()->game->inPlay,card->controller()->game->graveyard,card->controller()->game->hand};
for (int k = 0; k < 3; k++){
MTGGameZone * zone = zones[k];
if (zone->hasCard(card)){
card->controller()->game->putInZone(card,zone,library);
library->shuffle();
}
}
break;
}
case 135262:// Beacon of Destruction & unrest
{
MTGLibrary * library = card->controller()->game->library;
MTGGameZone * zones[] = {card->controller()->game->inPlay,card->controller()->game->graveyard,card->controller()->game->hand};
for (int k = 0; k < 3; k++){
MTGGameZone * zone = zones[k];
if (zone->hasCard(card)){
card->controller()->game->putInZone(card,zone,library);
library->shuffle();
}
}
break;
}
case 129750: //Sudden Impact case 129750: //Sudden Impact
{ {
Damageable * target = spell->getNextDamageableTarget(); Damageable * target = spell->getNextDamageableTarget();