diff --git a/projects/mtg/bin/Res/sets/10E/_cards.dat b/projects/mtg/bin/Res/sets/10E/_cards.dat index 8f1336fd0..5c9255398 100644 --- a/projects/mtg/bin/Res/sets/10E/_cards.dat +++ b/projects/mtg/bin/Res/sets/10E/_cards.dat @@ -364,7 +364,7 @@ mana={1}{U}{U} [/card] [card] text=Reach (This creature can block creatures with flying.) -abilities=Reach +abilities=reach id=135185 name=Canopy Spider rarity=C @@ -1487,7 +1487,7 @@ mana={2} [/card] [card] text=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.) -abilities=first strike,forestwalk,vigilance,legendary +abilities=first strike,forestwalk,vigilance,legendary id=106405 name=Mirri, Cat Warrior rarity=R @@ -1951,6 +1951,16 @@ subtype=Rat toughness=2 [/card] [card] +text=Target player shuffles his or her graveyard into his or her library. +id=129698 +target=player +name=Reminisce +rarity=U +color=Blue +type=Sorcery +mana={2}{U} +[/card] +[card] text=Counter target creature spell. target=creature|stack auto=fizzle @@ -2305,6 +2315,20 @@ subtype=Elf toughness=1 [/card] [card] +text=Flying (This creature can't be blocked except by creatures with flying or reach.) Whenever Thieving Magpie deals damage to an opponent, you draw a card. +id=129764 +abilities=flying +name=Thieving Magpie +auto=@damaged(opponent):draw:1 controller +rarity=U +color=Blue +type=Creature +mana={2}{U}{U} +power=1 +subtype=Bird +toughness=3 +[/card] +[card] text={2}: Target white or black creature gains flying until end of turn. (It can't be blocked except by creatures with flying or reach.) auto={2}:flying target(creature[white;black]) id=130998 diff --git a/projects/mtg/bin/Res/sets/10E/todo.dat b/projects/mtg/bin/Res/sets/10E/todo.dat index 8abf6a656..2d2d061b8 100644 --- a/projects/mtg/bin/Res/sets/10E/todo.dat +++ b/projects/mtg/bin/Res/sets/10E/todo.dat @@ -32,6 +32,9 @@ mana={2}{B}{B} text=Enchant creature (Target a creature as you play this. This card comes into play attached to that creature.) Enchanted creature gets +2/+2 and has "{T}: This creature deals 1 damage to target creature or player." id=130530 name=Arcane Teachings +target=creature +auto=2/2 +auto={T}:damage:1 target(creature,player) rarity=U color=Red type=Enchantment @@ -42,6 +45,8 @@ subtype=Aura text=Gain control of target Aura that's attached to a permanent. Attach it to another permanent it can enchant. id=130976 name=Aura Graft +target=aura +auto=moveto(creature) rarity=U color=Blue type=Instant @@ -99,6 +104,7 @@ toughness=3 text={X}{W}, {T}: Ballista Squad deals X damage to target attacking or blocking creature. id=129477 name=Ballista Squad +auto={X}{W}{T}:damage:x target(creature[attacking,blocking]) rarity=U color=White type=Creature @@ -111,6 +117,8 @@ toughness=2 text=Prevent the next 1 damage that would be dealt to target creature or player this turn. Draw a card. id=132106 name=Bandage +target=creature,player +auto=draw:1 controller rarity=C color=White type=Instant @@ -135,6 +143,7 @@ text=Whenever Cephalid Constable deals combat damage to a player, return up to t id=135261 name=Cephalid Constable rarity=R +auto=@damaged(player) from(this): color=Blue type=Creature mana={1}{U}{U} @@ -146,6 +155,7 @@ toughness=1 text={X}: Chimeric Staff becomes an X/X Construct artifact creature until end of turn. id=135254 name=Chimeric Staff +auto={X}:becomes(Artifact Creature Construct,x/x) rarity=R color=Artifact type=Artifact @@ -212,6 +222,9 @@ mana={3}{R}{R} text=Enchant creature (Target a creature as you play this. This card comes into play attached to that creature.) Whenever enchanted creature attacks or blocks, its controller loses 3 life. id=129590 name=Contaminated Bond +target=creature +auto=aslongas(this[attacking])life:3 targetController +auto=aslongas(this[blocking])life:3 targetController rarity=C color=Black type=Enchantment @@ -250,6 +263,8 @@ mana={2}{U}{U} text=Target player reveals his or her hand. You choose a nonland card from it. That player discards that card. id=135219 name=Distress +target=*[-land]|opponentHand +auto=moveto(opponentGraveyard) rarity=C color=Black type=Sorcery @@ -294,6 +309,10 @@ text=Faerie Conclave comes into play tapped. {T}: Add {U} to your mana pool. id=106531 name=Faerie Conclave rarity=U +auto=tap +auto={T}:add {U} +auto={1}{U}:becomes(Creature Faerie,2/1,flying blue) +#will only work if activatedability is added for becomes color=Land type=Land [/card] @@ -344,6 +363,8 @@ mana={1}{R}{R}{R} text=Creature spells can't be countered. id=129789 name=Gaea's Herald +auto=lord(creature|stack)shroud +#Not tested yet could evtl work rarity=R color=Green type=Creature @@ -364,6 +385,8 @@ type=Land text=Whenever Goblin Elite Infantry blocks or becomes blocked, it gets -1/-1 until end of turn. id=130380 name=Goblin Elite Infantry +auto=bushido(-1/-1) +#Could be coded once rampage is fixed bushido will be only a formality lot of cards have such ability but do not include the term bushido this one is an example. rarity=C color=Red type=Creature @@ -523,9 +546,12 @@ toughness=2 text={W}{U}{B}{R}{G}: Remove target permanent from the game. If Legacy Weapon would be put into a graveyard from anywhere, reveal Legacy Weapon and shuffle it into its owner's library instead. id=135242 name=Legacy Weapon +auto={W}{U}{B}{R}{G}:moveto(exile) target(*) +#as the same ability as darksteel collosus rarity=R color=Artifact -type=Legendary Artifact +abilities=legendary +type=Artifact mana={7} [/card] [card] @@ -610,6 +636,7 @@ mana={3}{R} text=Each noncreature artifact is an artifact creature with power and toughness each equal to its converted mana cost. (Equipment that's a creature can't equip a creature.) id=106555 name=March of the Machines +auto=lord(artifact[-creature])becomes(Artifact Creature,manacost/manacost) rarity=R color=Blue type=Enchantment @@ -619,6 +646,7 @@ mana={3}{U} text={T}: Draw a card, then discard a card. id=130900 name=Merfolk Looter +auto={T}:draw:1 controller && moveto(graveyard) target(*|myHand) rarity=C color=Blue type=Creature @@ -695,6 +723,7 @@ text={W}, {T}: Put target Aura card in a graveyard into play attached to a creat id=130547 name=Nomad Mythmaker rarity=R +auto=moveto(creature|myBattlefield) target(aura|graveyard) color=White type=Creature mana={2}{W} @@ -706,6 +735,8 @@ toughness=2 text=Enchant land (Target a land as you play this. This card comes into play attached to that land.) Whenever enchanted land is tapped for mana, its controller adds {G}{G} to his or her mana pool. id=135282 name=Overgrowth +target=land +auto=@tapped(this):add{G}{G} rarity=C color=Green type=Enchantment @@ -726,6 +757,8 @@ subtype=Aura text=Look at target player's hand. Draw a card. id=130903 name=Peek +target=opponenthand +auto=draw:1 controller rarity=C color=Blue type=Instant @@ -808,15 +841,6 @@ type=Sorcery mana={2}{R}{R} [/card] [card] -text=Target player shuffles his or her graveyard into his or her library. -id=129698 -name=Reminisce -rarity=U -color=Blue -type=Sorcery -mana={2}{U} -[/card] -[card] text=You may have Rhox assign its combat damage as though it weren't blocked. {2}{G}: Regenerate Rhox. (The next time this creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.) id=106504 name=Rhox @@ -931,7 +955,10 @@ mana={1}{R}{R} [card] text=Draw three cards, then discard a card. id=136217 -auto=draw:3 && moveto(mygraveyard) target(*|myhand) +auto=draw:3 controller +#the following works but you have to discard first then you draw 3 cards. no other combination would work because moveto(x) target(y) when put in play does not work +target=*|myhand +auto=moveto(mygraveyard) name=Sift rarity=C color=Blue @@ -995,7 +1022,8 @@ toughness=3 text=Trample (If this creature would deal enough combat damage to its blockers to destroy them, you may have it deal the rest of its damage to defending player.) At the beginning of your upkeep, return a green creature you control to its owner's hand. id=135264 name=Stampeding Wildebeests -auto=@my upkeep:moveto(myhand) target(creature[green]|myBattlefield) +#does not work because you cannot have a target after a line with @ +auto=@each my upkeep:moveto(myhand) target(creature[green]|myBattlefield) rarity=U type=Creature mana={2}{G}{G} @@ -1052,26 +1080,13 @@ color=Blue type=Instant mana={1}{U} [/card] - -[card] -text=Flying (This creature can't be blocked except by creatures with flying or reach.) Whenever Thieving Magpie deals damage to an opponent, you draw a card. -id=129764 -abilities=flying -name=Thieving Magpie -rarity=U -color=Blue -type=Creature -mana={2}{U}{U} -power=1 -subtype=Bird -toughness=3 -[/card] [card] text={1}{B}, Sacrifice Thrull Surgeon: Look at target player's hand and choose a card from it. That player discards that card. Play this ability only any time you could play a sorcery. id=136282 name=Thrull Surgeon rarity=U auto={1}{B}{S}:moveto(graveyard) target(*|opponentHand) +#unfortunately you can target opponenthand but it does not show when targetted color=Black type=Creature mana={1}{B} @@ -1100,7 +1115,11 @@ mana={8}{U}{U} [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. id=129777 -name=Treetop Bracers +name=Treetop Bracer +target=creature +auto=1/1 +auto=cantbeblockedby(creature[-flying]) +#Really need to continue trying implementing this one 3 cards from 10E would be added with cantbeblockedby. rarity=C color=Green type=Enchantment diff --git a/projects/mtg/bin/Res/sets/ALA/_cards.dat b/projects/mtg/bin/Res/sets/ALA/_cards.dat index d3a7693d0..0bb09be2f 100644 --- a/projects/mtg/bin/Res/sets/ALA/_cards.dat +++ b/projects/mtg/bin/Res/sets/ALA/_cards.dat @@ -1106,7 +1106,7 @@ mana={G}{W} [/card] [card] text=First strike Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.) -abilities=first strike, exalted +abilities=first strike,exalted id=174958 name=Sigiled Paladin rarity=U diff --git a/projects/mtg/bin/Res/sets/ARB/_cards.dat b/projects/mtg/bin/Res/sets/ARB/_cards.dat index 0c9454ca5..84e622fdd 100644 --- a/projects/mtg/bin/Res/sets/ARB/_cards.dat +++ b/projects/mtg/bin/Res/sets/ARB/_cards.dat @@ -110,7 +110,6 @@ text=Intimidation Bolt deals 3 damage to target creature. Other creatures can't target=creature auto=damage:3 auto=lord(creature) cantattack -target=creature rarity=U [/card] [card] @@ -119,7 +118,7 @@ name=Jenara, Asura of War mana={G}{W}{U} type=Creature subtype=Angel -abilities=Legendary,Flying +abilities=legendary,flying auto={1}{W}:counter(1/1) power=3 toughness=3 @@ -409,7 +408,7 @@ type=Creature subtype=Illusion Wall power=0 toughness=8 -abilities=Defender, flying, shroud +abilities=defender,flying,shroud [/card] [card] text=Flash. Flying. Deathtouch (Whenever this creature deals damage to a creature, destroy that creature.) diff --git a/projects/mtg/bin/Res/sets/CHK/_cards.dat b/projects/mtg/bin/Res/sets/CHK/_cards.dat index e3237f043..ae8bbdbb4 100644 --- a/projects/mtg/bin/Res/sets/CHK/_cards.dat +++ b/projects/mtg/bin/Res/sets/CHK/_cards.dat @@ -40,7 +40,7 @@ id=79248 name=Ben-Ben, Akki Hermit mana={2}{R}{R} type=Creature -abilities=legendary +abilities=legendary subtype=Goblin Shaman power=1 toughness=1 @@ -259,7 +259,7 @@ id=79180 name=Honden of Life's Web mana={4}{G} type=Enchantment -abilities=Legendary +abilities=legendary subtype=Shrine text=At the beginning of your upkeep, put a 1/1 colorless Spirit creature token into play for each Shrine you control. auto=@each my upkeep:foreach(shrine|myinplay) token(Spirit,Creature Spirit,1/1,artifact) @@ -270,7 +270,7 @@ id=79176 name=Honden of Seeing Winds mana={4}{U} type=Enchantment -abilities=Legendary +abilities=legendary subtype=Shrine text=At the beginning of your upkeep, draw a card for each Shrine you control. auto=@each my upkeep:foreach(shrine|myinplay) draw:1 @@ -833,7 +833,7 @@ type=Creature subtype=Dragon Spirit power=5 toughness=5 -auto=@movedTo(this|graveyard):damage:5 all(creature[-flying]) +auto=@movedTo(this|graveyard) from(inplay):damage:5 all(creature[-flying]) abilities=flying,legendary rarity=R [/card] @@ -856,7 +856,7 @@ id=78965 name=Seizan, Perverter of Truth mana={3}{B}{B} type=Creature -abilities=Legendary +abilities=legendary auto=@each my upkeep:life:-2 controller && draw:2 controller auto=@each opponent upkeep:life:-2 opponent && draw:2 opponent subtype=Demon Spirit @@ -1060,7 +1060,7 @@ toughness=1 id=80274 name=Zo-Zu the Punisher mana={1}{R}{R} -type=Legendary Creature +type=Creature subtype=Goblin Warrior power=2 toughness=2 diff --git a/projects/mtg/bin/Res/sets/EVE/_cards.dat b/projects/mtg/bin/Res/sets/EVE/_cards.dat index 2660945a6..0566abca8 100644 --- a/projects/mtg/bin/Res/sets/EVE/_cards.dat +++ b/projects/mtg/bin/Res/sets/EVE/_cards.dat @@ -816,7 +816,6 @@ subtype=Elf Warrior toughness=1 [/card] [card] -target=creature text=Remove target creature from the game. target=creature auto=moveTo(removedfromGame) diff --git a/projects/mtg/bin/Res/sets/LEG/_cards.dat b/projects/mtg/bin/Res/sets/LEG/_cards.dat index 5a4abdd40..4526f3ab9 100644 --- a/projects/mtg/bin/Res/sets/LEG/_cards.dat +++ b/projects/mtg/bin/Res/sets/LEG/_cards.dat @@ -661,6 +661,15 @@ toughness=5 abilities=legendary [/card] [card] +text=Jovial Evil deals X damage to target opponent, where X is twice the number of white creatures that player controls. +id=1449 +auto=foreach(creature[white]|opponentinplay):damage:2 opponent +name=Jovial Evil +rarity=R +type=Sorcery +mana={2}{B} +[/card] +[card] text=Legendary {T}: Add {W} to your mana pool. {W}, {T}: Return target legendary creature to its owner's hand. id=1701 name=Karakas @@ -1121,6 +1130,16 @@ type=Enchantment subtype=Aura [/card] [card] +text=At the beginning of each player's upkeep, if that player controls a Plains, he or she gains 1 life. +id=1636 +auto=@each my upkeep:aslongas(plains|myinplay) life:1 controller +auto=@each opponent upkeep:aslongas(plains|opponentinplay) life:1 opponent +name=Spiritual Sanctuary +rarity=R +type=Enchantment +mana={2}{W}{W} +[/card] +[card] text=Storm Seeker deals damage equal to the number of cards in target player's hand to that player. id=1545 target=player @@ -1146,8 +1165,7 @@ abilities=legendary [card] text=Syphon Soul deals 2 damage to each other player. You gain life equal to the damage dealt this way. id=1458 -target=player -auto=damage:2 +auto=damage:2 opponent auto=life:2 controller name=Syphon Soul rarity=C diff --git a/projects/mtg/bin/Res/sets/LEG/todo.dat b/projects/mtg/bin/Res/sets/LEG/todo.dat index 4df92a266..71abf1c27 100644 --- a/projects/mtg/bin/Res/sets/LEG/todo.dat +++ b/projects/mtg/bin/Res/sets/LEG/todo.dat @@ -322,6 +322,7 @@ toughness=7 text=When Cyclopean Mummy is put into a graveyard from play, remove Cyclopean Mummy from the game. id=1433 name=Cyclopean Mummy +auto=@movedTo(this|graveyard) from(inplay):moveto(exile) rarity=C type=Creature mana={1}{B} @@ -341,6 +342,8 @@ mana={B} text=Enchant creature Enchanted creature can't attack. Prevent all combat damage that would be dealt by enchanted creature. id=1435 name=Demonic Torment +target=creature +auto=cantattack rarity=U type=Enchantment mana={2}{B} @@ -349,6 +352,8 @@ subtype=Aura [card] text=Play Disharmony only during combat before blockers are declared. Untap target attacking creature and remove it from combat. Gain control of that creature until end of turn. id=1568 +target=creature[attacking] +alias=129767 name=Disharmony rarity=R type=Instant @@ -383,6 +388,8 @@ mana={R} text=Defender, trample When Elder Land Wurm blocks, it loses defender. id=1609 name=Elder Land Wurm +abilities=defender,trample +auto=aslongas(this[blocking]):-defender rarity=R type=Creature mana={4}{W}{W}{W} @@ -486,6 +493,7 @@ mana={U} [card] text=Flying If Firestorm Phoenix would be put into a graveyard from play, return Firestorm Phoenix to its owner's hand instead. It can't be played again until its owner's next turn. id=1573 +auto=@movedTo(this|graveyard) from(inplay):moveto(ownerhand) name=Firestorm Phoenix rarity=R type=Creature @@ -544,6 +552,9 @@ type=Enchantment text=At the beginning of your upkeep, choose flying, first strike, trample, or rampage 3. Gabriel Angelfire gains that ability until your next upkeep. id=1652 name=Gabriel Angelfire +auto=@each my upkeep:may flying +auto=@each my upkeep:may first strike +auto=@each my upkeep:may rampage(3/3,1) rarity=R type=Legendary Creature mana={3}{G}{G}{W}{W} @@ -662,6 +673,8 @@ toughness=3 text=At the beginning of your upkeep, if Hazezon Tamar came into play since the beginning of your last upkeep, put a 1/1 red, green, and white Sand Warrior creature token into play for each land you control. Those creatures have "When a permanent named Hazezon Tamar isn't in play, remove this creature from the game." id=1656 name=Hazezon Tamar +auto=@next my upkeep:foreach(land|myinplay) token(Sand Warrior,Creature Sand Warrior,1/1,red green) +auto=@movedTo(this|mygraveyard) from(myinplay):moveto(graveyard) all(Sand Warrior|myinplay) rarity=R type=Legendary Creature mana={4}{R}{G}{W} @@ -760,14 +773,6 @@ subtype=Human Wizard toughness=4 [/card] [card] -text=Jovial Evil deals X damage to target opponent, where X is twice the number of white creatures that player controls. -id=1449 -name=Jovial Evil -rarity=R -type=Sorcery -mana={2}{B} -[/card] -[card] text=You and target player exchange control of the creature you each control with the highest converted mana cost. Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest cost, their controller chooses one of them. id=1489 name=Juxtapose @@ -789,6 +794,7 @@ toughness=2 [card] text=Artifacts, creatures, and lands your opponents control come into play tapped. id=1623 +auto=lord(artifact,creature,land|opponentinplay)tap name=Kismet rarity=U type=Enchantment @@ -1065,6 +1071,7 @@ toughness=1 text={T}: Psionic Entity deals 2 damage to target creature or player and 3 damage to itself. id=1493 name=Psionic Entity +auto={T}:damage:3 && damage:2 target(creature,player) rarity=R type=Creature mana={4}{U} @@ -1354,14 +1361,6 @@ mana={B}{B} subtype=Aura [/card] [card] -text=At the beginning of each player's upkeep, if that player controls a Plains, he or she gains 1 life. -id=1636 -name=Spiritual Sanctuary -rarity=R -type=Enchantment -mana={2}{W}{W} -[/card] -[card] text=When Stangg comes into play, if Stangg is in play, put a legendary 3/4 red and green Human Warrior creature token named Stangg Twin into play. When Stangg leaves play, remove that token from the game. When that token leaves play, sacrifice Stangg. id=1686 name=Stangg diff --git a/projects/mtg/bin/Res/sets/USG/_cards.dat b/projects/mtg/bin/Res/sets/USG/_cards.dat index ed88682c7..0f2fc2a37 100644 --- a/projects/mtg/bin/Res/sets/USG/_cards.dat +++ b/projects/mtg/bin/Res/sets/USG/_cards.dat @@ -814,7 +814,6 @@ id=5684 target=creature auto=destroy auto=life:4 targetController -target=creature name=Path of Peace rarity=C mana={3}{W} @@ -1017,7 +1016,8 @@ auto={T}:foreach(enchantment|myBattlefield)add:{W} id=9674 name=Serra's Sanctum rarity=R -type=Legendary Land +type=Land +abilities=legendary [/card] [card] text=Flying (This creature can't be blocked except by creatures with flying or reach.) {1}{R}: Shivan Hellkite deals 1 damage to target creature or player. diff --git a/projects/mtg/bin/Res/sets/ZEN/_cards.dat b/projects/mtg/bin/Res/sets/ZEN/_cards.dat index ef7f86027..b8c3ad5f7 100644 --- a/projects/mtg/bin/Res/sets/ZEN/_cards.dat +++ b/projects/mtg/bin/Res/sets/ZEN/_cards.dat @@ -111,7 +111,7 @@ rarity=C mana={U} type=Creature subtype=Merfolk Wizard -auto={T}:flying target(creature) +auto={1}{U}{T}:flying target(creature) power=1 toughness=1 [/card] @@ -615,7 +615,7 @@ auto=may counter(1/1) auto=@movedTo(other ally|myBattlefield):counter(1/1) power=1 toughness=1 -abilities=first strike,vigilance +abilities=first strike,vigilance [/card] [card] text=Kazandu Refuge enters the battlefield tapped. When Kazandu Refuge enters the battlefield, you gain 1 life. {T}: Add {R} or {G} to your mana pool. diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 2bae79a26..23a98b05c 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -157,6 +157,35 @@ public: } }; +class TrDamaged:public TriggeredAbility{ +public: + TargetChooser * tc; + TargetChooser * fromTc; + TrDamaged (int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL):TriggeredAbility(id,source), tc(tc), fromTc(fromTc){} + + int resolve(){ + return 0; //This is a trigger, this function should not be called + } + + int triggerOnEvent(WEvent * event){ + WEventDamage * e = dynamic_cast(event); + if (!e) return 0; + if(!tc->canTarget(e->damage->target)) return 0; + if (fromTc && !fromTc->canTarget(e->damage->source)) return 0; + return 1; + } + + ~ TrDamaged (){ + SAFE_DELETE(tc); + SAFE_DELETE(fromTc); + } + + TrDamaged * clone() const{ + TrDamaged * a = NEW TrDamaged (*this); + a->isClone = 1; + return a; + } +}; //counters class AACounter: public ActivatedAbility{ diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 3d07276f1..f54812e69 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -108,6 +108,27 @@ TriggeredAbility * AbilityFactory::parseTrigger(string magicText, int id, Spell return NEW TrCardTapped(id,card,tc); } + //Card Damaging + found = s.find("damaged("); + if (found != string::npos){ + size_t end = s.find (")"); + string starget = s.substr(found+8,end - found - 8); + TargetChooserFactory tcf; + TargetChooser *tc = tcf.createTargetChooser(starget,card); + tc->targetter = NULL; + + TargetChooser *fromTc = NULL; + found = s.find("from("); + if (found != string::npos){ + end = s.find (")", found); + starget = s.substr(found+5,end - found - 5); + TargetChooser * fromTc = tcf.createTargetChooser(starget,card); + fromTc->targetter = NULL; + + return NEW TrDamaged(id,card,tc,fromTc); + } + } + int who = 0; if (s.find("my") != string::npos) who = 1; if (s.find("opponent") != string::npos) who = -1; @@ -1548,6 +1569,23 @@ void AbilityFactory::addAbilities(int _id, Spell * spell){ break; } + + case 129698: // Reminisce + { + int nbcards; + Player * player = spell->getNextPlayerTarget(); + MTGLibrary * library = player->game->library; + MTGGraveyard * graveyard = player->game->graveyard; + nbcards = (graveyard->nb_cards); + for (int i = 0; i < nbcards; i++){ + if (graveyard->nb_cards) + player->game->putInZone(graveyard->cards[graveyard->nb_cards-1],graveyard, library); + } + library->shuffle(); + break; + } + + // --- addon Invasion--- case 23195: //Artifact Mutation {