From 234cdc64c543f482659f0843abf9446fd147c4c7 Mon Sep 17 00:00:00 2001 From: "wagic.laurent" Date: Fri, 22 May 2009 16:40:32 +0000 Subject: [PATCH] Laurent - Fixed Rampage, cleaned-up 10E. --- projects/mtg/bin/Res/sets/10E/_cards.dat | 36 +++++++++++------ projects/mtg/bin/Res/sets/10E/todo.dat | 9 ----- projects/mtg/include/AllAbilities.h | 50 +++++++----------------- projects/mtg/include/MTGDefinitions.h | 2 +- projects/mtg/src/MTGAbility.cpp | 13 ++++-- 5 files changed, 47 insertions(+), 63 deletions(-) diff --git a/projects/mtg/bin/Res/sets/10E/_cards.dat b/projects/mtg/bin/Res/sets/10E/_cards.dat index 0dbdfa7ca..46e0fd5e8 100644 --- a/projects/mtg/bin/Res/sets/10E/_cards.dat +++ b/projects/mtg/bin/Res/sets/10E/_cards.dat @@ -277,7 +277,7 @@ toughness=3 [card] text=Return target permanent to its owner's hand. target=* -alias=1229 +auto=moveTo(ownerHand) id=129494 name=Boomerang rarity=C @@ -454,6 +454,16 @@ type=Sorcery mana={2}{G}{G} [/card] [card] +text=Destroy target Plains or Island. Cryoclasm deals 3 damage to that land's controller. +target=plains,island +id=129909 +name=Cryoclasm +rarity=U +color=Red +type=Sorcery +mana={2}{R} +[/card] +[card] text=Destroy target green or white creature. target=creature[green;white] auto=destroy @@ -1085,7 +1095,7 @@ subtype=Island [card] text={4}, {T}: Draw a card. id=106478 -alias=1119 +auto={4}{T}:draw:1 name=Jayemdae Tome rarity=R color=Artifact @@ -1492,7 +1502,7 @@ mana={3}{G}{G} text=Flying (This creature can't be blocked except by creatures with flying or reach.) Nightmare's power and toughness are each equal to the number of Swamps you control. abilities=flying id=129659 -alias=1170 +auto=foreach(swamp|myinplay) 1/1 name=Nightmare rarity=R color=Black @@ -1703,7 +1713,7 @@ mana={1}{G} [card] text={T}: Prodigal Pyromancer deals 1 damage to target creature or player. id=134752 -alias=1217 +auto={T}:damage:1 target(creature,player) name=Prodigal Pyromancer rarity=C color=Red @@ -1787,7 +1797,7 @@ mana={1}{B}{B} [card] text=Return target card from your graveyard to your hand. target=*|myGraveyard -alias=1263 +auto=moveTo(myHand) id=130507 name=Recollect rarity=U @@ -1893,7 +1903,7 @@ toughness=3 [card] text={3}, {T}: Rod of Ruin deals 1 damage to target creature or player. id=129704 -alias=1134 +auto={3}{T}:damage:1 target(creature,player) name=Rod of Ruin rarity=U color=Artifact @@ -1929,7 +1939,7 @@ toughness=2 [card] text={T}: Destroy target tapped creature. id=129708 -alias=1175 +auto={T}:destroy target(creature[tapped]) name=Royal Assassin rarity=R color=Black @@ -2054,7 +2064,7 @@ toughness=2 [card] text=Destroy all artifacts. They can't be regenerated. id=130370 -alias=1317 +auto=bury all(artifact) name=Shatterstorm rarity=U color=Red @@ -2407,7 +2417,7 @@ toughness=4 [card] text=Destroy all enchantments. id=132131 -alias=1270 +auto=destroy all(enchantment) name=Tempest of Light rarity=U color=White @@ -2416,8 +2426,8 @@ mana={2}{W} [/card] [card] text=Destroy target nonartifact, nonblack creature. It can't be regenerated. -target=creature[-artifact;-black] -alias=1182 +target=creature[-black;-artifact] +auto=bury id=135199 name=Terror rarity=C @@ -2524,8 +2534,8 @@ subtype=Aura [card] text=Return target creature to its owner's hand. target=creature +auto=moveTo(ownerHand) id=136218 -alias=1229 name=Unsummon rarity=C color=Blue @@ -2651,7 +2661,7 @@ toughness=2 [card] text=Destroy all creatures. They can't be regenerated. id=129808 -alias=1372 +auto=bury all(creature) name=Wrath of God rarity=R color=White diff --git a/projects/mtg/bin/Res/sets/10E/todo.dat b/projects/mtg/bin/Res/sets/10E/todo.dat index 194f20bde..ccd27b2f6 100644 --- a/projects/mtg/bin/Res/sets/10E/todo.dat +++ b/projects/mtg/bin/Res/sets/10E/todo.dat @@ -314,15 +314,6 @@ type=Sorcery mana={1}{B} [/card] [card] -text=Destroy target Plains or Island. Cryoclasm deals 3 damage to that land's controller. -id=129909 -name=Cryoclasm -rarity=U -color=Red -type=Sorcery -mana={2}{R} -[/card] -[card] text=Enchant creature (Target a creature as you play this. This card comes into play attached to that creature.) Enchanted creature doesn't untap during its controller's untap step. id=129521 name=Dehydration diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 3c7b3828a..5f0a92ab0 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -2888,44 +2888,19 @@ class AKirdApe:public ListMaintainerAbility{ }; - -//Rampage ability Tentative 2 +//Rampage ability class ARampageAbility:public MTGAbility{ - public: - int nbOpponents; - int PowerModifier; - int ToughnessModifier; - int modifier; - ARampageAbility(int _id, MTGCardInstance * _source,int _PowerModifier, int _ToughnessModifier):MTGAbility(_id, _source){ - modifier=0; - } - void Update(float dt){ - if (source->isAttacker()){ - MTGInPlay * inPlay = game->opponent()->game->inPlay; - for (int i = 0; i < inPlay->nb_cards; i ++){ - MTGCardInstance * current = inPlay->cards[i]; - if (current->isDefenser()){ - modifier++; - } - } - source->power+= (PowerModifier * modifier); - source->addToToughness(ToughnessModifier * modifier); - } - } -}; - - -//Rampage ability Tentative 1 - Did not work as expected -class A1RampageAbility:public MTGAbility{ public: MTGCardInstance * opponents[20]; int nbOpponents; int PowerModifier; int ToughnessModifier; - A1RampageAbility(int _id, MTGCardInstance * _source,int _PowerModifier, int _ToughnessModifier):MTGAbility(_id, _source){ - nbOpponents = 0; + int MaxOpponent; + ARampageAbility(int _id, MTGCardInstance * _source,int _PowerModifier, int _ToughnessModifier, int _MaxOpponent):MTGAbility(_id, _source){ + PowerModifier = _PowerModifier; + ToughnessModifier = _ToughnessModifier; + MaxOpponent = _MaxOpponent; } - void Update(float dt){ if (source->isAttacker()){ if (newPhase != currentPhase){ @@ -2935,13 +2910,16 @@ class A1RampageAbility:public MTGAbility{ while (opponent){ opponents[nbOpponents] = opponent; nbOpponents ++; - source->power+= PowerModifier; - source->addToToughness(ToughnessModifier); - opponent = source->getNextOpponent(opponent); + opponent = source->getNextOpponent(opponent); + if (nbOpponents > MaxOpponent){ + source->power+= PowerModifier; + source->addToToughness(ToughnessModifier); + + } + } + } } } - } - } } }; diff --git a/projects/mtg/include/MTGDefinitions.h b/projects/mtg/include/MTGDefinitions.h index 090604fad..ac4432509 100644 --- a/projects/mtg/include/MTGDefinitions.h +++ b/projects/mtg/include/MTGDefinitions.h @@ -92,7 +92,7 @@ class Constants SWAMPHOME = 34, PLAINSHOME = 35, FLANKING = 36, - RAMPAGE1 = 37, + RAMPAGE = 37, CLOUD = 38, CANTATTACK = 39, MUSTATTACK = 40, diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index c4af93a0f..be632fb5c 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -1704,7 +1704,7 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){ break; } //---addon Tempest--- - case 4801: //Ancient Ruine + case 4801: //Ancient Rune { game->addObserver(NEW ADamageForTypeControlled(_id, card,"artifact")); break; @@ -1760,7 +1760,12 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){ game->mLayers->stackLayer()->addDamage(card, target, damage); break; } - + case 129909: //Cryoclasm + { + card->target->controller()->game->putInGraveyard(card->target); + card->target->controller()->life-= 3; + break; + } //--- addon shm--- case 146013: //Corrupt { @@ -1829,8 +1834,8 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){ // New Abilities Flanking and Rampage - if (card->basicAbilities [Constants::RAMPAGE1]){ - game->addObserver (NEW ARampageAbility(_id, card, 1, 1)); + if (card->basicAbilities [Constants::RAMPAGE]){ + game->addObserver (NEW ARampageAbility(_id, card, 1, 1,1)); } //Instants are put in the graveyard automatically if that's not already done