diff --git a/projects/mtg/src/ActionStack.cpp b/projects/mtg/src/ActionStack.cpp index eda6060d4..73baff338 100644 --- a/projects/mtg/src/ActionStack.cpp +++ b/projects/mtg/src/ActionStack.cpp @@ -241,6 +241,7 @@ void StackAbility::Render() MTGCardInstance * source = ability->source; string alt1 = source->getName(); vector mytargetQuads; + vector myClones; int fmLibrary = 0; int force = 0; @@ -250,10 +251,7 @@ void StackAbility::Render() { Targetable * t = ability->getActionTc()->getNextTarget(); if (t) - { - source->forcedBorderA = 1; _target = t; - } //test vector quads @@ -266,7 +264,8 @@ void StackAbility::Render() { if( ((Damageable *)(tt))->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE ) { - ((MTGCardInstance*)(tt))->forcedBorderB = 1; + //fill vector + myClones.push_back(((MTGCardInstance*)(tt))); if( source->has(Constants::HIDDENFACE) && !observer->isInLibrary(((MTGCardInstance *)(tt))) ) mytargetQuads.push_back( ((Damageable *)(tt))->getIcon() ); @@ -299,6 +298,20 @@ void StackAbility::Render() } } + //setborder test + if(myClones.size()) + { + source->forcedBorderB = 1; + for(unsigned int kk = 0; kk < myClones.size(); kk++) + { + if(myClones[kk]) + { + myClones[kk]->forcedBorderA = 1; + //JRenderer::GetInstance()->DrawLine(myClones[kk]->view->actX,myClones[kk]->view->actY,source->view->actX,source->view->actY,0.5f,ARGB(120, 255, 0, 0)); + } + } + } + if(source->has(Constants::HIDDENFACE) && fmLibrary) force = MTGAbility::HIDDENVIEW; diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index 4ce4f7174..43150b45f 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -270,12 +270,12 @@ void CardGui::Render() //draw border for highlighting if (game) { - if (card && (card->isTargetted()||card->forcedBorderA) && highlightborder) + if (card && card->forcedBorderA && highlightborder) { highlightborder->SetColor(ARGB(95,255,0,0)); renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16); } - if (card && (card->isTargetter()||card->forcedBorderB) && highlightborder) + if (card && card->forcedBorderB && highlightborder) { highlightborder->SetColor(ARGB(95,0,245,0)); renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16); @@ -387,7 +387,7 @@ void CardGui::Render() } } - if (card && (card->isTargetted()||card->forcedBorderA)) + if (card && card->forcedBorderA) { if(card->isTapped()) { @@ -399,7 +399,7 @@ void CardGui::Render() else renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,255,0,0)); } - if (card && (card->isTargetter()||card->forcedBorderB)) + if (card && card->forcedBorderB) { if(card->isTapped()) {