From 31ee6d2b9020566fa2beb831f965d13a7c92dce7 Mon Sep 17 00:00:00 2001 From: "omegablast2002@yahoo.com" Date: Fri, 15 Mar 2013 01:44:31 +0000 Subject: [PATCH] trying to figure out why ai is cast cards that belong to a combo outside of a combo even though it is told to skip these cards. --- projects/mtg/src/AIPlayerBaka.cpp | 5 ++++- projects/mtg/src/TargetChooser.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/projects/mtg/src/AIPlayerBaka.cpp b/projects/mtg/src/AIPlayerBaka.cpp index b84b43277..4fbdc9221 100644 --- a/projects/mtg/src/AIPlayerBaka.cpp +++ b/projects/mtg/src/AIPlayerBaka.cpp @@ -1691,6 +1691,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty if(comboCards.size()) { nextCardToPlay = comboCards.back(); + DebugTrace("ai is doing a combo:" << nextCardToPlay->getName()); comboCards.pop_back(); if(!comboHint->cardTargets.size() && !comboCards.size()) comboHint = NULL;//becuase it's no longer needed. @@ -1861,7 +1862,8 @@ MTGCardInstance * AIPlayerBaka::activateCombo() for(unsigned int k = 0;k < comboHint->hold.size(); k++) { hintTc = tfc.createTargetChooser(comboHint->hold[k],nextCardToPlay); - for(unsigned int j = 0; j < game->hand->cards.size();j++) + int combohand = game->hand->cards.size(); + for(int j = 0; j < combohand;j++) { if(!hintTc) break; @@ -1878,6 +1880,7 @@ MTGCardInstance * AIPlayerBaka::activateCombo() if(comboCards.size()) { nextCardToPlay = comboCards.back(); + DebugTrace("ai is doing a combo:" << nextCardToPlay->getName()); if (game->playRestrictions->canPutIntoZone(nextCardToPlay, game->stack) == PlayRestriction::CANT_PLAY) return NULL; comboCards.pop_back(); diff --git a/projects/mtg/src/TargetChooser.cpp b/projects/mtg/src/TargetChooser.cpp index 67f36fdf4..7d6dfc558 100644 --- a/projects/mtg/src/TargetChooser.cpp +++ b/projects/mtg/src/TargetChooser.cpp @@ -1033,7 +1033,10 @@ bool TypeTargetChooser::canTarget(Targetable * target,bool withoutProtections) if (card->hasSubtype(types[i])) return true; if(card->getLCName().size()) { - if (MTGAllCards::findType(card->getLCName()) == types[i]) return true; + if (MTGAllCards::findType(card->getLCName()) == types[i]) + return true; + if (MTGAllCards::findType(card->getName()) == types[i]) + return true; } } return false;