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:
@@ -416,7 +416,7 @@ void GameObserver::gameStateBasedEffects()
|
|||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
//life checks/poison checks also checks cant win or lose.//
|
//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;
|
int cantlosers = 0;
|
||||||
MTGGameZone * z = players[i]->game->inPlay;
|
MTGGameZone * z = players[i]->game->inPlay;
|
||||||
@@ -443,10 +443,6 @@ void GameObserver::gameStateBasedEffects()
|
|||||||
{
|
{
|
||||||
gameOver = players[i];
|
gameOver = players[i];
|
||||||
}
|
}
|
||||||
if (players[i]->poisonCount >= 10)
|
|
||||||
{
|
|
||||||
gameOver = players[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -1973,6 +1973,8 @@ int AbilityFactory::abilityEfficiency(MTGAbility * a, Player * p, int mode, Targ
|
|||||||
return BAKA_EFFECT_GOOD;
|
return BAKA_EFFECT_GOOD;
|
||||||
if (AALifer * abi = dynamic_cast<AALifer *>(a))
|
if (AALifer * abi = dynamic_cast<AALifer *>(a))
|
||||||
return abi->life > 0 ? BAKA_EFFECT_GOOD : BAKA_EFFECT_BAD;
|
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))
|
if (dynamic_cast<AADepleter *> (a))
|
||||||
return BAKA_EFFECT_BAD;
|
return BAKA_EFFECT_BAD;
|
||||||
if (dynamic_cast<AADrawer *> (a))
|
if (dynamic_cast<AADrawer *> (a))
|
||||||
|
|||||||
Reference in New Issue
Block a user