revised aacopier

I think we still need to change legend to a trigger once it detects
multiple legends in play then trigger it at once with targetchooser to
select which cards to sacrifice as state based... vector of  unique
names or id or mtgcardinstance?
This commit is contained in:
Anthony Calosa
2017-01-29 16:09:49 +08:00
parent 2c5f6d8332
commit 348ada3f0d
3 changed files with 20 additions and 24 deletions

View File

@@ -36781,7 +36781,8 @@ subtype=Aura
[/card]
[card]
name=Evil Twin
auto=may copy NotATarget(creature) and!( transforms((,newability[{U}{B}{T}:destroy target(creature[share!name!])])) forever )!
auto=may copy NotATarget(creature)
auto=while(restriction{copiedacard}) transforms((,newability[{U}{B}{T}:destroy target(creature[share!name!])])) forever
text=You may have Evil Twin enter the battlefield as a copy of any creature on the battlefield except it gains "{U}{B}, {T}: Destroy target creature with the same name as this creature."
mana={2}{U}{B}
type=Creature
@@ -45551,7 +45552,8 @@ toughness=1
[/card]
[card]
name=Gigantoplasm
auto=may copy NotATarget(creature) and!( {X}:name(Base X) transforms((,setpower=X,settoughness=X)) ueot )!
auto=may copy NotATarget(creature)
auto=while(restriction{copiedacard}) {X}:name(Base X) transforms((,setpower=X,settoughness=X)) ueot
text=You may have Gigantoplasm enter the battlefield as a copy of any creature on the battlefield except it gains "{X}: This creature has base power and toughness X/X."
mana={3}{U}
type=Creature
@@ -71283,7 +71285,8 @@ toughness=2
[/card]
[card]
name=Mercurial Pretender
auto=may copy NotATarget(creature) and!( transforms((,newability[{2}{U}{U}:moveto(ownerhand)])) forever )!
auto=may copy NotATarget(creature)
auto=while(restriction{copiedacard}) transforms((,newability[{2}{U}{U}:moveto(ownerhand)])) forever
text=You may have Mercurial Pretender enter the battlefield as a copy of any creature you control except it gains "{2}{U}{U}: Return this creature to its owner's hand."
mana={4}{U}
type=Creature
@@ -83959,8 +83962,8 @@ toughness=1
[/card]
[card]
name=Phantasmal Image
auto=may copy NotATarget(creature) and!( transforms((Illusion)) forever )!
auto=@targeted(this):sacrifice
auto=may copy NotATarget(creature)
auto=while(restriction{copiedacard}) transforms((Illusion,newability[@targeted(this):sacrifice])) forever
text=You may have Phantasmal Image enter the battlefield as a copy of any creature on the battlefield, except it's an Illusion in addition to its other types and it gains "When this creature becomes the target of a spell or ability, sacrifice it."
mana={1}{U}
type=Creature
@@ -87229,7 +87232,8 @@ type=Sorcery
[/card]
[card]
name=Progenitor Mimic
auto=may copy NotATarget(creature) and!( transforms((,newability[@each my upkeep:all(this) ifnot cantargetcard(*[token]) then clone])) forever )!
auto=may copy NotATarget(creature)
auto=while(restriction{copiedacard}) transforms((,newability[@each my upkeep:all(this) ifnot cantargetcard(*[token]) then clone])) forever
text=You may have Progenitor Mimic enter the battlefield as a copy of any creature on the battlefield except it gains "At the beginning of your upkeep, if this creature isn't a token, put a token onto the battlefield that's a copy of this creature."
mana={4}{G}{U}
type=Creature
@@ -125696,7 +125700,8 @@ toughness=4
[/card]
[card]
name=Vesuva
auto=may copy notatarget(land) and!( tap(noevent) )!
auto=may copy notatarget(land)
auto=while(restriction{copiedacard}) tap(noevent)
text=You may have Vesuva enter the battlefield tapped as a copy of any land on the battlefield.
type=Land
[/card]

View File

@@ -1592,9 +1592,8 @@ int AACopier::resolve()
source->basicAbilities.reset();
source->getManaCost()->resetCosts();
}
//todo andAbility and tokenandAbility
if(_target->TokenAndAbility)
{//the source copied a token with andAbility
{//the source copied a token with tokenandAbility
MTGAbility * TokenandAbilityClone = _target->TokenAndAbility->clone();
TokenandAbilityClone->target = source;
if(_target->TokenAndAbility->oneShot)
@@ -1606,22 +1605,7 @@ int AACopier::resolve()
{
TokenandAbilityClone->addToGame();
}
}/*
if(andAbility)
{
MTGAbility * andAbilityClone = andAbility->clone();
andAbilityClone->target = source;
if(andAbility->oneShot)
{
andAbilityClone->resolve();
SAFE_DELETE(andAbilityClone);
}
else
{
andAbilityClone->addToGame();
}
}
*/
return 1;
}
return 0;

View File

@@ -537,6 +537,13 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
return 0;
}
check = restriction[i].find("copiedacard");
if(check != string::npos)
{
if(!card->isACopier)
return 0;
}
check = restriction[i].find("geared");
if (check != string::npos)
{