Merge pull request #959 from kevlahnota/master

Hide action stack & Sorted Filter
This commit is contained in:
Anthony Calosa
2017-03-11 10:48:17 +08:00
committed by GitHub
7 changed files with 72 additions and 35 deletions

View File

@@ -20917,6 +20917,15 @@ power=0
toughness=1
[/card]
[card]
name=Cloudform
auto=withenchant manifest all(*[zpos=1]|mylibrary)
auto=teach(creature) flying
auto=teach(creature) opponentshroud
text=When Cloudform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and hexproof.
mana={1}{U}{U}
type=Enchantment
[/card]
[card]
name=Cloudgoat Ranger
auto=token(Kithkin Soldier,Creature Kithkin Soldier,1/1,white)*3
auto={T(kithkin|myBattlefield)}{T(kithkin|myBattlefield)}{T(kithkin|myBattlefield)}:2/0 && flying
@@ -34328,7 +34337,7 @@ toughness=3
name=Eldrazi Horror
power=3
toughness=2
type=creature eldrazi horror
type=Creature Eldrazi Horror
color=colorless
[/card]
[card]
@@ -38429,7 +38438,7 @@ toughness=3
[card]
name=Faerie Macabre
abilities=flying
autohand={S}:target(other *<upto:2>|graveyard) moveTo(exile)
autohand={discard}:target(<upto:2>other *|graveyard) moveTo(exile)
text=Flying -- Discard Faerie Macabre: Exile up to two target cards from graveyards.
mana={1}{B}{B}
type=Creature
@@ -67018,6 +67027,15 @@ power=2
toughness=2
[/card]
[card]
name=Lightform
auto=withenchant manifest all(*[zpos=1]|mylibrary)
auto=teach(creature) flying
auto=teach(creature) lifelink
text=When Lightform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and lifelink.
mana={1}{W}{W}
type=Enchantment
[/card]
[card]
name=Lighthouse Chronologist
auto={U}:counter(0/0,1,Level) asSorcery
auto=this(counter{0/0.4.Level}) 1/1
@@ -69502,6 +69520,17 @@ mana={1}{B}{G}
type=Sorcery
[/card]
[card]
name=Maelstrom Wanderer
auto=emblem transforms((,newability[aslongas(Maelstrom Wanderer|mybattlefield) lord(creature|mybattlefield) haste])) forever dontremove
autostack=if casted(this) then activate choice cascade:plibrarycount && activate choice cascade:plibrarycount
text=Creatures you control have haste. -- Cascade, cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom in a random order. Then do it again.)
mana={5}{U}{R}{G}
type=Legendary Creature
subtype=Elemental
power=7
toughness=5
[/card]
[card]
name=Maga, Traitor to Mortals
auto=counter(1/1,X) && life:-X opponent
text=Maga, Traitor to Mortals enters the battlefield with X +1/+1 counters on it. -- When Maga enters the battlefield, target player loses life equal to the number of +1/+1 counters on it.
@@ -91112,6 +91141,14 @@ power=2
toughness=3
[/card]
[card]
name=Rageform
auto=withenchant manifest all(*[zpos=1]|mylibrary)
auto=teach(creature) double strike
text=When Rageform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has double strike. (It deals both first-strike and regular combat damage.)
mana={2}{R}{R}
type=Enchantment
[/card]
[card]
name=Ragemonger
auto=lord(minotaur|mycastingzone) altercost(black,-1)
auto=lord(minotaur|mycastingzone) altercost(red,-1)

View File

@@ -2425,12 +2425,6 @@ power=2
toughness=2
[/card]
[card]
name=Cloudform
text=When Cloudform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and hexproof.
mana={1}{U}{U}
type=Enchantment
[/card]
[card]
name=Coalition Flag
text=Enchant creature you control -- Enchanted creature is a Flagbearer. -- While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able.
mana={W}
@@ -8623,12 +8617,6 @@ mana={2}{W}{W}
type=Enchantment
[/card]
[card]
name=Lightform
text=When Lightform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and lifelink.
mana={1}{W}{W}
type=Enchantment
[/card]
[card]
name=Lightning Reflexes
text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike.
mana={1}{R}
@@ -8906,15 +8894,6 @@ power=1
toughness=1
[/card]
[card]
name=Maelstrom Wanderer
text=Creatures you control have haste. -- Cascade, cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom in a random order. Then do it again.)
mana={5}{U}{R}{G}
type=Legendary Creature
subtype=Elemental
power=7
toughness=5
[/card]
[card]
name=Mages' Contest
text=You and target spell's controller bid life. You start the bidding with a bid of 1. In turn order, each player may top the high bid. The bidding ends if the high bid stands. The high bidder loses life equal to the high bid. If you win the bidding, counter that spell.
mana={1}{R}{R}
@@ -12109,12 +12088,6 @@ mana={4}{PR}
type=Artifact
[/card]
[card]
name=Rageform
text=When Rageform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has double strike. (It deals both first-strike and regular combat damage.)
mana={2}{R}{R}
type=Enchantment
[/card]
[card]
name=Raging River
text=Whenever one or more creatures you control attack, each defending player divides all creatures without flying he or she controls into a "left" pile and a "right" pile. Then, for each attacking creature you control, choose "left" or "right." That creature can't be blocked this combat except by creatures with flying and creatures in a pile with the chosen label.
mana={R}{R}

View File

@@ -6555,7 +6555,7 @@ public:
const string getMenuText()
{
return "phase alter";
return "Phase Alter";
}
APhaseAlter * clone() const
@@ -7074,12 +7074,14 @@ public:
class AManifest: public InstantAbility
{
public:
bool withenchant;
MTGAbility * andAbility;
AManifest(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target) :
InstantAbility(observer, _id, _source)
{
target = _target;
andAbility = NULL;
withenchant = false;
}
int resolve()
@@ -7150,6 +7152,15 @@ public:
andAbilityClone->addToGame();
}
}
if(withenchant)
{
if(source->hasType(Subtypes::TYPE_ENCHANTMENT))
{
source->target = copy;
source->spellTargetType = "creature";
source->addType("aura");
}
}
}
return 1;
}

View File

@@ -96,7 +96,7 @@ void Interruptible::Render(MTGCardInstance * source, JQuad * targetQuad, string
JRenderer * renderer = JRenderer::GetInstance();
bool hiddenview = aType == MTGAbility::HIDDENVIEW?true:false;
if (!targetQuad)
if (!targetQuad && !mytargetsQuad.size())
{
/*if(source->controller()->isHuman() && source->controller()->opponent()->isAI() && !alt2.size() && _(action).c_str() == source->name)
mFont->DrawString("You play ", x + 35, y-15 + GetVerticalTextOffset(), JGETEXT_LEFT);
@@ -1040,6 +1040,9 @@ void ActionStack::Update(float dt)
if (getCurrentTutorial() && (observer->players[0]->isHuman() || observer->players[1]->isHuman() ) )
return;
if (observer->mLayers->actionLayer()->menuObject || observer->LPWeffect)
return;//dont do any of this if a menuobject exist.
askIfWishesToInterrupt = NULL;
//modal = 0;

View File

@@ -2898,7 +2898,8 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
//manifest
found = s.find("manifest");
if (found != string::npos)
{
{//for cloudform, rageform and lightform
bool withenchant = s.find("withenchant") != string::npos;
MTGAbility * a = NEW AManifest(observer, id, card, target);
a->oneShot = 1;
if(storedAndAbility.size())
@@ -2907,6 +2908,8 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
storedAndAbility.clear();
((AManifest*)a)->andAbility = parseMagicLine(stored, id, spell, card);
}
if(withenchant)
((AManifest*)a)->withenchant = true;
return a;
}

View File

@@ -569,13 +569,13 @@ MTGGameZone::~MTGGameZone()
//cause crashes for generated cards using castcard named card...??? test fix for now
if(cards[i]->previous)
{
cards[i]->previous = NULL;
delete cards[i]->previous;
cards[i]->previous = NULL;
}
if(cards[i])
{
cards[i] = NULL;
delete cards[i];
cards[i] = NULL;
}
}
cards.clear();

View File

@@ -2177,9 +2177,19 @@ void WGuiFilterItem::updateValue()
else if (filterType == FILTER_BASIC)
{
char buf[512];
vector<string> baString;
for (int i = 0; i < Constants::NB_BASIC_ABILITIES; i++)
{//remove some others
if(i != 119 || i != 120 || i != 135 || i != 136 || i != 137 || i != 139 || i != 140 || i != 141 || i != 143
|| i != 144 || i != 145 || i != 146 || i != 147 || i != 148 || i != 149 || i != 150
|| i != 151 || i != 152 || i != 153 || i != 154)
baString.push_back(Constants::MTGBasicAbilities[i]);
}
//sort
sort(baString.begin(),baString.end());
for (unsigned int i = 0; i < baString.size(); i++)
{
string s = Constants::MTGBasicAbilities[i];
string s = baString[i];
sprintf(buf, "a:%s;", s.c_str());
s[0] = toupper(s[0]);
mParent->addArg(s, buf);