2 things, moved poison count wingame to the top with the life, there were cases where it wasnt respecting "cantlose" cards. and 2nd gave Ai *some* direction as to what to do with poison counters. i saw him place poison counters on himself to death in a single round...its was embarrassing.

This commit is contained in:
omegablast2002@yahoo.com
2010-12-16 16:09:35 +00:00
parent 84e4213615
commit 4458e61b75
2 changed files with 3 additions and 5 deletions

View File

@@ -416,7 +416,7 @@ void GameObserver::gameStateBasedEffects()
///////////////////////////////////////////////////////////
//life checks/poison checks also checks cant win or lose.//
///////////////////////////////////////////////////////////
if (players[i]->life <= 0)
if (players[i]->life <= 0 || players[i]->poisonCount >= 10)
{
int cantlosers = 0;
MTGGameZone * z = players[i]->game->inPlay;
@@ -443,10 +443,6 @@ void GameObserver::gameStateBasedEffects()
{
gameOver = players[i];
}
if (players[i]->poisonCount >= 10)
{
gameOver = players[i];
}
}
}
//////////////////////////////////////////////////////

View File

@@ -1973,6 +1973,8 @@ int AbilityFactory::abilityEfficiency(MTGAbility * a, Player * p, int mode, Targ
return BAKA_EFFECT_GOOD;
if (AALifer * abi = dynamic_cast<AALifer *>(a))
return abi->life > 0 ? BAKA_EFFECT_GOOD : BAKA_EFFECT_BAD;
if (AAAlterPoison * abi = dynamic_cast<AAAlterPoison *>(a))
return abi->poison < 0 ? BAKA_EFFECT_GOOD : BAKA_EFFECT_BAD;
if (dynamic_cast<AADepleter *> (a))
return BAKA_EFFECT_BAD;
if (dynamic_cast<AADrawer *> (a))