add attacker mask

This commit is contained in:
Anthony Calosa
2017-02-10 10:50:09 +08:00
parent f16755b86b
commit fc9b0b233c
3 changed files with 18 additions and 3 deletions

View File

@@ -3862,6 +3862,7 @@ public:
spell->resolve();
myToken = spell->source;
spell->source->owner = tokenReciever;
spell->source->lastController = tokenReciever;
spell->source->isToken = 1;
spell->source->fresh = 1;
spell->source->entersBattlefield = 1;

View File

@@ -359,6 +359,22 @@ void CardGui::Render()
//draw line
if (game)
{
JQuadPtr ssMask = card->getObserver()->getResourceManager()->GetQuad("white");
//choose attacker mask
if(card->isInPlay(game) && (card->hasSummoningSickness() || card->attackCost > 0) && !card->isPhased && card->isCreature())
{
if(game->getCurrentGamePhase() > MTG_PHASE_FIRSTMAIN && game->getCurrentGamePhase() < MTG_PHASE_SECONDMAIN &&
card->controller() == game->currentPlayer && game->currentPlayer->hasPossibleAttackers())
{
if(card->controller()->isHuman() && ssMask)
{
ssMask->SetColor(ARGB(170,64,64,64));
renderer->RenderQuad(ssMask.get(), actX, actY, actT, (27 * actZ + 1) / 16, 40 * actZ / 16);
}
}
}
if (card && card->isTargetted())
{
if(card->isTapped())

View File

@@ -260,9 +260,7 @@ bool Player::hasPossibleAttackers()
for (int j = 0; j < nbcards; ++j)
{
MTGCardInstance * c = z->cards[j];
if (!c->isTapped() &&
!c->hasSummoningSickness() &&
c->isCreature())
if (c->canAttack() && c->isCreature())
return true;
}
return false;