add remake keyword

alternative for becomes for use inside transforms...
ex. emblem transforms((,newability[target(land)
remake(creature:1/2:red)])) forever dontremove
This commit is contained in:
Anthony Calosa
2017-02-09 22:38:00 +08:00
parent 7fa204fc9c
commit f45e975b14
2 changed files with 41 additions and 7 deletions

View File

@@ -47411,7 +47411,7 @@ toughness=2
[card] [card]
name=Goblin Spymaster name=Goblin Spymaster
abilities=first strike abilities=first strike
auto=@each opponent end:create(Goblin:Creature Goblin:1/1:red) and!( transforms((,newability[lord(creature|mybattlefield) mustattack])) forever )! opponent auto=@each opponent end:token(Goblin,Creature Goblin,1/1,red) and!( transforms((,newability[lord(creature|mybattlefield) mustattack])) forever )! opponent
text=First strike -- At the beginning of each opponent's end step, that player creates a 1/1 red Goblin creature token with "Creatures you control attack each combat if able." text=First strike -- At the beginning of each opponent's end step, that player creates a 1/1 red Goblin creature token with "Creatures you control attack each combat if able."
mana={2}{R} mana={2}{R}
type=Creature type=Creature
@@ -49532,8 +49532,9 @@ type=Instant
[/card] [/card]
[card] [card]
name=Grip of the Roil name=Grip of the Roil
target=creature
auto=freeze
auto=draw:1 controller auto=draw:1 controller
auto=target(creature) freeze
text=Surge {1}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.) -- Tap target creature. It doesn't untap during its controller's next untap step. -- Draw a card. text=Surge {1}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.) -- Tap target creature. It doesn't untap during its controller's next untap step. -- Draw a card.
mana={2}{U} mana={2}{U}
other={1}{U} name(surge) other={1}{U} name(surge)
@@ -65378,7 +65379,7 @@ toughness=7
[card] [card]
name=Liege of the Tangle name=Liege of the Tangle
abilities=trample abilities=trample
auto=@combatdamaged(player) from(this):may name(put awakening counters) target(<anyamount>land|mybattlefield) transforms((,newability[counter(0/0.1.Awakening)],newability[this(counter{0/0.1.Awakening}>=1) becomes(Elemental Creature)],newability[this(counter{0/0.1.Awakening}>=1) becomes(,green)],setpower=8,settoughness=8)) forever auto=@combatdamaged(player) from(this):may name(put awakening counters) target(<anyamount>land|mybattlefield) transforms((,newability[counter(0/0.1.Awakening)],newability[this(counter{0/0.1.Awakening}>=1) remake(Elemental Creature:8/8:green)])) forever
text=Trample Whenever Liege of the Tangle deals combat damage to a player, you may choose any number of target lands you control and put an awakening counter on each of them. Each of those lands is an 8/8 green Elemental creature for as long as it has an awakening counter on it. They're still lands. text=Trample Whenever Liege of the Tangle deals combat damage to a player, you may choose any number of target lands you control and put an awakening counter on each of them. Each of those lands is an 8/8 green Elemental creature for as long as it has an awakening counter on it. They're still lands.
mana={6}{G}{G} mana={6}{G}{G}
type=Creature type=Creature
@@ -114064,10 +114065,7 @@ toughness=6
[card] [card]
name=Swarmyard name=Swarmyard
auto={T}:Add{1} auto={T}:Add{1}
auto={T}:name(insect) regenerate target(insect) auto={T}:regenerate target(*[insect;rat;spider;squirrel])
auto={T}:name(rat) regenerate target(rat)
auto={T}:name(spider) regenerate target(spider)
auto={T}:name(squirrel) regenerate target(squirrel)
text={T}: Add {1} to your mana pool. -- {T}: Regenerate target Insect, Rat, Spider, or Squirrel. text={T}: Add {1} to your mana pool. -- {T}: Regenerate target Insect, Rat, Spider, or Squirrel.
type=Land type=Land
[/card] [/card]

View File

@@ -3546,6 +3546,42 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
return NEW ATransformer(observer, id, card, target, stypes, sabilities,newPower,ptFound,newToughness,ptFound,vector<string>(),false,forceForever,untilYourNextTurn); return NEW ATransformer(observer, id, card, target, stypes, sabilities,newPower,ptFound,newToughness,ptFound,vector<string>(),false,forceForever,untilYourNextTurn);
} }
//Remake... (animate artifact...: Remake(Creature: manacost/manacost) - alternative
vector<string> splitRemake = parseBetween(s, "remake(", ")");
if (splitRemake.size())
{
vector<string> RemakeParameters = split(splitRemake[1], ':');
string stypes = RemakeParameters[0];
string newPower = "";
string newToughness = "";
bool ptFound = false;
if(RemakeParameters.size() >1)
{
vector<string> pt = split(RemakeParameters[1], '/');
if(pt.size() > 1)
{
newPower = pt[0];
newToughness = pt[1];
ptFound = true;
}
}
string sabilities = "";
unsigned int RemakeSize = ptFound?2:1;
if(RemakeParameters.size() > RemakeSize)
{
for(unsigned int i = RemakeSize;i < RemakeParameters.size();i++)
{
sabilities.append(RemakeParameters[i].c_str());
if(i+1 < RemakeParameters.size())
sabilities.append(",");
}
}
if (oneShot || forceUEOT || forceForever)
return NEW ATransformerInstant(observer, id, card, target, stypes, sabilities,newPower,ptFound,newToughness,ptFound,vector<string>(),false,forceForever,untilYourNextTurn);
return NEW ATransformer(observer, id, card, target, stypes, sabilities,newPower,ptFound,newToughness,ptFound,vector<string>(),false,forceForever,untilYourNextTurn);
}
//bloodthirst //bloodthirst
vector<string> splitBloodthirst = parseBetween(s, "bloodthirst:", " ", false); vector<string> splitBloodthirst = parseBetween(s, "bloodthirst:", " ", false);
if (splitBloodthirst.size()) if (splitBloodthirst.size())