Merge pull request #34 from WagicProject/master

getting master
This commit is contained in:
zethfoxster
2016-07-27 18:42:54 -04:00
committed by GitHub
5 changed files with 73 additions and 16 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

+2 -1
View File
@@ -4499,7 +4499,8 @@ class AAFlip: public InstantAbility
public:
vector<MTGAbility *> currentAbilities;
string flipStats;
AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats);
bool isflipcard;
AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats, bool isflipcard = false);
int resolve();
int testDestroy();
const string getMenuText();
+32 -8
View File
@@ -1457,15 +1457,16 @@ int AACopier::resolve()
MTGCardInstance * _target = (MTGCardInstance *) target;
if (_target)
{
MTGCard* clone = MTGCollection()->getCardById(_target->copiedID);
MTGCard* clone ;
if(_target->isToken || _target->isACopier)
clone = _target;
else
clone = MTGCollection()->getCardById(_target->copiedID);
MTGCardInstance * myClone = NEW MTGCardInstance(clone, source->controller()->game);
source->copy(myClone);
SAFE_DELETE(myClone);
source->isACopier = true;
source->copiedID = _target->getMTGId();
source->modifiedbAbi = _target->modifiedbAbi;
source->origbasicAbilities = _target->origbasicAbilities;
source->basicAbilities = _target->origbasicAbilities;
source->copiedID = _target->copiedID;
if(_target->isMorphed)
{
source->power = 2;
@@ -3148,14 +3149,15 @@ AAMeld * AAMeld::clone() const
}
// flip a card
AAFlip::AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats) :
InstantAbility(observer, id, card, _target),flipStats(flipStats)
AAFlip::AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats, bool isflipcard) :
InstantAbility(observer, id, card, _target),flipStats(flipStats),isflipcard(isflipcard)
{
target = _target;
}
int AAFlip::resolve()
{
int cdaDamage = 0;
MTGCardInstance * Flipper = (MTGCardInstance*)source;
this->oneShot = true;
if(Flipper->isFlipped)
@@ -3163,9 +3165,20 @@ int AAFlip::resolve()
game->removeObserver(this);
return 0;
}
//701.25a Only permanents represented by double-faced cards can transform.
//(See rule 711, “Double-Faced Cards.”) If a spell or ability instructs a player
//to transform any permanent that isnt represented by a double-faced card, nothing happens.
//***Copier and Tokens cannot transform but can be flip since flip cards are single sided***
MTGCardInstance * _target = (MTGCardInstance *) target;
if (_target)
{
if((_target->isACopier||_target->isToken) && !isflipcard)
{
game->removeObserver(this);
return 0;
}
while (_target->next)
_target = _target->next;
@@ -3179,12 +3192,19 @@ int AAFlip::resolve()
MTGCardInstance * myFlip = NEW MTGCardInstance(fcard, _target->controller()->game);
_target->name = myFlip->name;
_target->setName(myFlip->name);
if(!isflipcard)//transform card
{
_target->getManaCost()->resetCosts();
if(myFlip->getManaCost())
_target->getManaCost()->copy(myFlip->getManaCost());
}
_target->colors = myFlip->colors;
_target->types = myFlip->types;
_target->text = myFlip->text;
_target->formattedText = myFlip->formattedText;
_target->basicAbilities = myFlip->basicAbilities;
cdaDamage = _target->damageCount;
_target->copiedID = myFlip->getMTGId();//for copier
for(unsigned int i = 0;i < _target->cardsAbilities.size();i++)
{
MTGAbility * a = dynamic_cast<MTGAbility *>(_target->cardsAbilities[i]);
@@ -3248,6 +3268,10 @@ int AAFlip::resolve()
_target->origpower = myFlip->origpower;
_target->origtoughness = myFlip->origtoughness;
}
else
{//pbonus & tbonus are already computed except damage taken...
_target->life -= cdaDamage;
}
SAFE_DELETE(myFlip);
_target->mPropertiesChangedSinceLastUpdate = true;
}
+5
View File
@@ -1125,6 +1125,7 @@ void CardGui::RenderBig(MTGCard* card, const Pos& pos, bool thumb, bool noborder
JQuadPtr quad = thumb ? WResourceManager::Instance()->RetrieveCard(card, RETRIEVE_THUMB)
: WResourceManager::Instance()->RetrieveCard(card);
JQuadPtr alphabeta = WResourceManager::Instance()->RetrieveTempQuad("alphabeta.png");
MTGCardInstance * kcard = dynamic_cast<MTGCardInstance*>(card);
if(kcard && !kcard->isToken && kcard->name != kcard->model->data->name)
{
@@ -1162,7 +1163,11 @@ void CardGui::RenderBig(MTGCard* card, const Pos& pos, bool thumb, bool noborder
}
}
if(cardsetname == "LEA"||cardsetname == "LEB")
{
if(alphabeta.get())
renderer->RenderQuad(alphabeta.get(),(pos.actX - (pos.actZ * 100.f))+12.f,(pos.actY - (pos.actZ * 142.5f))+17.5f, pos.actT, 0.88f, 0.88f);
renderer->RenderQuad(quad.get(), x, pos.actY, pos.actT, scale-0.01f, scale-0.01f);
}
else
renderer->RenderQuad(quad.get(), x, pos.actY, pos.actT, scale, scale);
}
+27
View File
@@ -3334,9 +3334,36 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
/*vector<string>FlipStats = split(splitFlipStat[1],'%');*/
flipStats = splitFlipStat[1];
}
if(flipStats == "Tomoya the Revealer" ||
flipStats == "Tok-Tok, Volcano Born" ||
flipStats == "Tobita, Master of Winds" ||
flipStats == "Stabwhisker the Odious" ||
flipStats == "Shidako, Broodmistress" ||
flipStats == "Sasaya's Essence" ||
flipStats == "Rune-Tail's Essence" ||
flipStats == "Nighteyes the Desecrator" ||
flipStats == "Kuon's Essence" ||
flipStats == "Kenzo the Hardhearted" ||
flipStats == "Kaiso, Memory of Loyalty" ||
flipStats == "Ichiga, Who Topples Oaks" ||
flipStats == "Homura's Essence" ||
flipStats == "Scarmaker" ||
flipStats == "Goka the Unjust" ||
flipStats == "Erayo's Essence" ||
flipStats == "Jaraku the Interloper" ||
flipStats == "Azamuki, Treachery Incarnate" ||
flipStats == "Autumn-Tail, Kitsune Sage" ||
flipStats == "Dokai, Weaver of Life" )
{//old flip cards kamigawa
MTGAbility * a = NEW AAFlip(observer, id, card, target,flipStats,true);
return a;
}
else//regular transform
{
MTGAbility * a = NEW AAFlip(observer, id, card, target,flipStats);
return a;
}
}
//Change Power/Toughness
WParsedPT * wppt = NEW WParsedPT(s, spell, card);