Merge pull request #932 from kevlahnota/master

Some bug fixes
This commit is contained in:
Anthony Calosa
2017-02-09 21:48:51 +08:00
committed by GitHub
6 changed files with 54 additions and 29 deletions

View File

@@ -47,11 +47,11 @@ auto=maxPlay(land)1
#Lands Mana Rules
auto=lord(Plains[land]|MyBattlefield) {T}:Add{W}
auto=lord(Island[land]|MyBattlefield) {T}:Add{U}
auto=lord(Swamp[land]|MyBattlefield) {T}:Add{B}
auto=lord(Mountain[land]|MyBattlefield) {T}:Add{R}
auto=lord(Forest[land]|MyBattlefield) {T}:Add{G}
auto=lord(Plains[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{W}
auto=lord(Island[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{U}
auto=lord(Swamp[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{B}
auto=lord(Mountain[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{R}
auto=lord(Forest[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{G}
#Mana Empties from manapool at the end of each phase

View File

@@ -13,5 +13,5 @@
#AUTO_DEFINE __BASIC_LANDCYCLING__($cost) $cost{cycle}:name(basic landcycling) moveTo(myhand) target(land[basic]|mylibrary)
# Fabricate
#AUTO_DEFINE _FABRICATE_($c) transforms((,newability[choice counter(1/1.$c)],newability[choice makecardt(Servo:Artifact Creature Servo:1/1)*$c])) ueot
#AUTO_DEFINE _FABRICATE_($c) transforms((,newability[choice counter(1/1.$c)],newability[choice create(Servo:Artifact Creature Servo:1/1)*$c])) ueot

View File

@@ -6601,7 +6601,7 @@ toughness=2
[card]
name=Atraxa, Praetors' Voice
abilities=flying,vigilance,deathtouch,lifelink
auto=@each my end:target(proliferation) proliferate
auto=@each my end:notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Flying, vigilance, deathtouch, lifelink -- At the beginning of your end step, proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={G}{W}{U}{B}
type=Legendary Creature
@@ -21739,7 +21739,7 @@ toughness=1
[card]
name=Contagion Clasp
auto=counter(-1/-1,1) target(creature)
auto={4}{T}:target(proliferation) proliferate
auto={4}{T}:notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=When Contagion Clasp enters the battlefield, put a -1/-1 counter on target creature. -- {4}, Tap: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={2}
type=Artifact
@@ -21747,7 +21747,7 @@ type=Artifact
[card]
name=Contagion Engine
auto=target(player) ability$!name(target player) counter(-1/-1,1) all(creature|mybattlefield)!$ targetedplayer
auto={4}{T}:notatarget(proliferation) proliferate && proliferate
auto={4}{T}:notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate && proliferate
text=When Contagion Engine enters the battlefield, put a -1/-1 counter on each creature target player controls. -- {4},{T}: Proliferate, then proliferate again. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. Then do it again.)
mana={6}
type=Artifact
@@ -22194,7 +22194,7 @@ toughness=1
[card]
name=Core Prowler
abilities=infect
auto=@movedto(this|mygraveyard) from(this|mybattlefield):target(proliferation) proliferate
auto=@movedto(this|mygraveyard) from(this|mybattlefield):notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.) -- When Core Prowler dies, proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={4}
type=Artifact Creature
@@ -42981,7 +42981,7 @@ type=Sorcery
name=Fuel for the Cause
target=*|stack
auto=fizzle
auto=target(proliferation) proliferate
auto=notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Counter target spell, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={2}{U}{U}
type=Instant
@@ -49297,7 +49297,7 @@ subtype=Equipment
name=Grim Affliction
target=creature
auto=counter(-1/-1,1)
auto=target(proliferation) proliferate
auto=notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Put a -1/-1 counter on target creature, then proliferate.
mana={2}{B}
type=Instant
@@ -56715,7 +56715,7 @@ toughness=3
[/card]
[card]
name=Inexorable Tide
auto=@movedto(mystack) from(*|myhand):target(proliferation) proliferate
auto=@movedto(mystack) from(*|myhand):notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Whenever you cast a spell, proliferate.
mana={3}{U}{U}
type=Enchantment
@@ -85519,7 +85519,7 @@ toughness=1
[/card]
[card]
name=Plaguemaw Beast
auto={T}{S(creature|mybattlefield)}:target(proliferation) proliferate
auto={T}{S(creature|mybattlefield)}:notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text={T}, Sacrifice a creature: Proliferate.
mana={3}{G}{G}
type=Creature
@@ -109797,7 +109797,7 @@ toughness=3
name=Spread the Sickness
target=creature
auto=destroy
auto=target(proliferation) proliferate
auto=notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Destroy target creature, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={4}{B}
type=Sorcery
@@ -110298,7 +110298,7 @@ toughness=5
[card]
name=Stalking Vengeance
abilities=haste
auto=@movedTo(other creature|graveyard) from(myBattlefield):all(trigger[to]) dynamicability<!mytgt powerstrike targetopponent!>
auto=lord(other creature|mybattlefield) transforms((,newability[@movedTo(this|graveyard) from(Battlefield):damage:power target(player)]))
text=Haste -- Whenever another creature you control dies, it deals damage equal to its power to target player.
mana={5}{R}{R}
type=Creature
@@ -110726,7 +110726,7 @@ type=Sorcery
[card]
name=Steady Progress
auto=draw:1 controller
auto=target(proliferation) proliferate
auto=notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Draw a card, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={2}{U}
type=Instant
@@ -117041,7 +117041,7 @@ type=Sorcery
[card]
name=Tezzeret's Gambit
auto=draw:2 controller
auto=target(proliferation) proliferate
auto=notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Draw two cards, then proliferate.
color=blue
mana={3}{p(U)}
@@ -118581,7 +118581,7 @@ type=Artifact
[/card]
[card]
name=Throne of Geth
auto={S(artifact|mybattlefield)}{T}:target(proliferation) proliferate
auto={S(artifact|mybattlefield)}{T}:notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text={T},Sacrifice an artifact: Proliferate.
mana={2}
type=Artifact
@@ -118638,7 +118638,7 @@ toughness=1
[card]
name=Thrummingbird
abilities=flying
auto=@combatdamaged(player) from(this):target(proliferation) proliferate
auto=@combatdamaged(player) from(this):notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Flying -- Whenever Thrummingbird deals combat damage to a player, proliferate.
mana={1}{U}
type=Creature
@@ -126723,7 +126723,7 @@ subtype=Aura
[card]
name=Viral Drake
abilities=flying,infect
auto={3}{U}:target(proliferation) proliferate
auto={3}{U}:notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Flying -- Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.) -- {3}{U}: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
mana={3}{U}
type=Creature
@@ -127789,7 +127789,7 @@ type=Legendary Land
name=Volt Charge
target=creature,player
auto=damage:3
auto=target(proliferation) proliferate
auto=notatarget(<anyamount>*[artifact;creature;enchantment;land;planeswalker;player]) proliferate
text=Volt Charge deals 3 damage to target creature or player. Proliferate.
mana={2}{R}
type=Instant

View File

@@ -1998,6 +1998,7 @@ public:
class AAProliferate: public ActivatedAbility
{
public:
bool allcounters;
AAProliferate(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target,ManaCost * cost = NULL);
int resolve();
const string getMenuText();

View File

@@ -998,7 +998,8 @@ int AAAlterPoison::resolve()
const string AAAlterPoison::getMenuText()
{
return "Poison";
WParsedInt parsedNum(poison);
return _(parsedNum.getStringValue() + " Poison ").c_str();
}
AAAlterPoison * AAAlterPoison::clone() const
@@ -1469,7 +1470,7 @@ AAModTurn::AAModTurn(GameObserver* observer, int _id, MTGCardInstance * card, Ta
{
WParsedInt numTurns(nbTurnStr, NULL, source);
if(numTurns.getValue() > 0)
return "Take Extra Turn(s)";
return _("Take " + numTurns.getStringValue() + " Extra Turn(s)").c_str();
else
return "Skip A Turn(s)";
}
@@ -2088,6 +2089,7 @@ AAProliferate::AAProliferate(GameObserver* observer, int id, MTGCardInstance * s
ActivatedAbility(observer, id, source, cost, 0)
{
this->GetId();
allcounters = false;
}
int AAProliferate::resolve()
@@ -2125,8 +2127,18 @@ int AAProliferate::resolve()
}
if(pcounters.size())
{
MTGAbility * a = NEW MenuAbility(game, this->GetId(), target, source,false,pcounters);
a->resolve();
if(allcounters)
{
for(size_t j = 0; j < pcounters.size(); j++)
{
pcounters[j]->resolve();
}
}
else
{
MTGAbility * a = NEW MenuAbility(game, this->GetId(), target, source,false,pcounters);
a->resolve();
}
}
return 1;
@@ -2134,6 +2146,8 @@ int AAProliferate::resolve()
const string AAProliferate::getMenuText()
{
if(allcounters)
return "Add Any Counters";
return "Proliferate";
}
@@ -4493,7 +4507,7 @@ const string AAMover::getMenuText()
{
if(named.size())
return named.c_str();
return "Move";
return "Put in Zone";
}
const char* AAMover::getMenuText(TargetChooser * tc)
@@ -4555,7 +4569,7 @@ const char* AAMover::getMenuText(TargetChooser * tc)
}
}
return "Move";
return "Put in Zone";
}
AAMover * AAMover::clone() const

View File

@@ -3896,7 +3896,17 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
a->canBeInterrupted = false;
return a;
}
//proliferate all counters
found = s.find("propagate");
if (found != string::npos)
{
MTGAbility * a = NEW AAProliferate(observer, id, card, target);
a->oneShot = 1;
a->canBeInterrupted = false;
((AAProliferate*)a)->allcounters = true;
return a;
}
//frozen, next untap this does not untap.
found = s.find("frozen");
if (found != string::npos)