From e72bae7c3ff538769ec01ed2c38ebd236b319edf Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Fri, 14 Aug 2015 22:11:06 -0400 Subject: [Superdom] Bugfix Prevents the plugin from locking up on the highest difficulty level Change-Id: I07ab77e825935948b2d15ca6d36ad24b2716ac1b --- apps/plugins/superdom.c | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) (limited to 'apps') diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c index 79a6d1a8f2..efa6f4a22a 100644 --- a/apps/plugins/superdom.c +++ b/apps/plugins/superdom.c @@ -1941,37 +1941,32 @@ static void computer_allocate(void) } } } - if(superdom_settings.compdiff>=AI_BUILD_INDS_FARMS_LEVEL && compres.cash>=PRICE_FACTORY) + if(superdom_settings.compdiff>=AI_BUILD_INDS_FARMS_LEVEL && compres.cash>=PRICE_FACTORY+100) { - while(compres.cash>=PRICE_FACTORY) + int i = 0; + do { if(compres.farms=PRICE_FARM) + i = rb->rand()%BOARD_SIZE + 1; + j = rb->rand()%BOARD_SIZE + 1; + if(board[i][j].colour == COLOUR_DARK && !board[i][j].farm) { - i = rb->rand()%BOARD_SIZE + 1; - j = rb->rand()%BOARD_SIZE + 1; - if(board[i][j].colour == COLOUR_DARK && !board[i][j].farm) - { - buy_resources(COLOUR_DARK, 3, i, j, 0); - break; - } + buy_resources(COLOUR_DARK, 3, i, j, 0); + break; } } else { - while(compres.inds=PRICE_FACTORY) + i = rb->rand()%BOARD_SIZE + 1; + j = rb->rand()%BOARD_SIZE + 1; + if(board[i][j].colour == COLOUR_DARK && !board[i][j].ind) { - i = rb->rand()%BOARD_SIZE + 1; - j = rb->rand()%BOARD_SIZE + 1; - if(board[i][j].colour == COLOUR_DARK && !board[i][j].ind) - { - buy_resources(COLOUR_DARK, 4, i, j, 0); - break; - } + buy_resources(COLOUR_DARK, 4, i, j, 0); + break; } } - } + } while(compres.cash>=PRICE_FACTORY + 100 && i++ < 3); } /* AI will buy nukes first if possible */ if(compres.cash > PRICE_NUKE + PRICE_TANK && superdom_settings.compdiff>=AI_BUILD_NUKES_LEVEL) -- cgit v1.2.3