@@ -1246,53 +1246,20 @@ function purchaseEfficiency(price, deltaCps, baseDeltaCps, currentCps) {
12461246
12471247function recommendationList ( recalculate ) {
12481248 if ( recalculate ) {
1249- FrozenCookies . showAchievements = false ;
1249+ FrozenCookies . showAchievements = false ;
12501250 FrozenCookies . caches . recommendationList = addScores (
12511251 upgradeStats ( recalculate )
1252- . concat ( buildingStats ( recalculate ) )
1253- . concat ( santaStats ( ) )
1254- . sort ( function ( a , b ) {
1255- return a . efficiency != b . efficiency ? a . efficiency - b . efficiency : ( a . delta_cps != b . delta_cps ? b . delta_cps - a . delta_cps : a . cost - b . cost ) ;
1252+ . concat ( buildingStats ( recalculate ) )
1253+ . concat ( santaStats ( ) )
1254+ . sort ( function ( a , b ) {
1255+ return a . efficiency != b . efficiency ? a . efficiency - b . efficiency : ( a . delta_cps != b . delta_cps ? b . delta_cps - a . delta_cps : a . cost - b . cost ) ;
12561256 } ) ) ;
1257- //If autocasting Spontaneous Edifice, don't buy any Javascript console after 399
1258- if ( M && FrozenCookies . autoSpell == 3 && Game . Objects [ 'Javascript console' ] . amount >= 399 ) {
1259- for ( var i = 0 ; i < FrozenCookies . caches . recommendationList . length ; i ++ ) {
1260- if ( FrozenCookies . caches . recommendationList [ i ] . id == 15 ) {
1261- FrozenCookies . caches . recommendationList . splice ( i , 1 ) ;
1262- }
1263- }
1264- }
1265- //Stop buying wizard towers at max Mana if enabled
1266- if ( M && FrozenCookies . towerLimit && M . magicM >= FrozenCookies . manaMax ) {
1267- for ( var i = 0 ; i < FrozenCookies . caches . recommendationList . length ; i ++ ) {
1268- if ( FrozenCookies . caches . recommendationList [ i ] . id == 7 ) {
1269- FrozenCookies . caches . recommendationList . splice ( i , 1 ) ;
1270- }
1271- }
1272- }
1273- //Stop buying Cursors if at set limit
1274- if ( FrozenCookies . cursorLimit && Game . Objects [ 'Cursor' ] . amount >= FrozenCookies . cursorMax ) {
1275- for ( var i = 0 ; i < FrozenCookies . caches . recommendationList . length ; i ++ ) {
1276- if ( FrozenCookies . caches . recommendationList [ i ] . id == 0 ) {
1277- FrozenCookies . caches . recommendationList . splice ( i , 1 ) ;
1278- }
1279- }
1280- }
1281- //Stop buying Farms if at set limit
1282- if ( FrozenCookies . farmLimit && Game . Objects [ 'Farm' ] . amount >= FrozenCookies . farmMax ) {
1283- for ( var i = 0 ; i < FrozenCookies . caches . recommendationList . length ; i ++ ) {
1284- if ( FrozenCookies . caches . recommendationList [ i ] . id == 2 ) {
1285- FrozenCookies . caches . recommendationList . splice ( i , 1 ) ;
1286- }
1287- }
1288- }
12891257 if ( FrozenCookies . pastemode ) {
12901258 FrozenCookies . caches . recommendationList . reverse ( ) ;
12911259 }
1292- FrozenCookies . showAchievements = true ;
1260+ FrozenCookies . showAchievements = true ;
12931261 }
12941262 return FrozenCookies . caches . recommendationList ;
1295- // return upgradeStats(recalculate).concat(buildingStats(recalculate)).sort(function(a,b){return (a.efficiency - b.efficiency)});
12961263}
12971264
12981265function addScores ( recommendations ) {
@@ -1361,38 +1328,56 @@ function nextChainedPurchase(recalculate) {
13611328
13621329function buildingStats ( recalculate ) {
13631330 if ( recalculate ) {
1364- FrozenCookies . showAchievements = false ;
1365- var buildingBlacklist = blacklist [ FrozenCookies . blacklist ] . buildings ;
1366- var currentBank = bestBank ( 0 ) . cost ;
1367- FrozenCookies . caches . buildings = Game . ObjectsById . map ( function ( current , index ) {
1368- if ( buildingBlacklist === true || _ . contains ( buildingBlacklist , current . id ) ) {
1369- return null ;
1331+ if ( blacklist [ FrozenCookies . blacklist ] . buildings === true ) {
1332+ FrozenCookies . caches . buildings = [ ] ;
1333+ } else {
1334+ var buildingBlacklist = Array . from ( blacklist [ FrozenCookies . blacklist ] . buildings ) ;
1335+ //If autocasting Spontaneous Edifice, don't buy any Javascript console after 399
1336+ if ( M && FrozenCookies . autoSpell == 3 && Game . Objects [ 'Javascript console' ] . amount >= 399 ) {
1337+ buildingBlacklist . push ( 16 ) ;
1338+ }
1339+ //Stop buying wizard towers at max Mana if enabled
1340+ if ( M && FrozenCookies . towerLimit && M . magicM >= FrozenCookies . manaMax ) {
1341+ buildingBlacklist . push ( 7 ) ;
1342+ }
1343+ //Stop buying Cursors if at set limit
1344+ if ( FrozenCookies . cursorLimit && Game . Objects [ 'Cursor' ] . amount >= FrozenCookies . cursorMax ) {
1345+ buildingBlacklist . push ( 0 ) ;
13701346 }
1371- var baseCpsOrig = baseCps ( ) ;
1372- var cpsOrig = effectiveCps ( Math . min ( Game . cookies , currentBank ) ) ; // baseCpsOrig + gcPs(cookieValue(Math.min(Game.cookies, currentBank))) + baseClickingCps(FrozenCookies.autoClick * FrozenCookies.cookieClickSpeed);
1373- var existingAchievements = Game . AchievementsById . map ( function ( item , i ) {
1374- return item . won
1347+ //Stop buying Farms if at set limit
1348+ if ( FrozenCookies . farmLimit && Game . Objects [ 'Farm' ] . amount >= FrozenCookies . farmMax ) {
1349+ buildingBlacklist . push ( 2 ) ;
1350+ }
1351+ FrozenCookies . caches . buildings = Game . ObjectsById . map ( function ( current , index ) {
1352+ if ( _ . contains ( buildingBlacklist , current . id ) ) {
1353+ return null ;
1354+ }
1355+ var currentBank = bestBank ( 0 ) . cost ;
1356+ var baseCpsOrig = baseCps ( ) ;
1357+ var cpsOrig = effectiveCps ( Math . min ( Game . cookies , currentBank ) ) ; // baseCpsOrig + gcPs(cookieValue(Math.min(Game.cookies, currentBank))) + baseClickingCps(FrozenCookies.autoClick * FrozenCookies.cookieClickSpeed);
1358+ var existingAchievements = Game . AchievementsById . map ( function ( item , i ) {
1359+ return item . won
1360+ } ) ;
1361+ buildingToggle ( current ) ;
1362+ var baseCpsNew = baseCps ( ) ;
1363+ var cpsNew = effectiveCps ( currentBank ) ; // baseCpsNew + gcPs(cookieValue(currentBank)) + baseClickingCps(FrozenCookies.autoClick * FrozenCookies.cookieClickSpeed);
1364+ buildingToggle ( current , existingAchievements ) ;
1365+ var deltaCps = cpsNew - cpsOrig ;
1366+ var baseDeltaCps = baseCpsNew - baseCpsOrig ;
1367+ var efficiency = purchaseEfficiency ( current . getPrice ( ) , deltaCps , baseDeltaCps , cpsOrig )
1368+ return {
1369+ 'id' : current . id ,
1370+ 'efficiency' : efficiency ,
1371+ 'base_delta_cps' : baseDeltaCps ,
1372+ 'delta_cps' : deltaCps ,
1373+ 'cost' : current . getPrice ( ) ,
1374+ 'purchase' : current ,
1375+ 'type' : 'building'
1376+ } ;
1377+ } ) . filter ( function ( a ) {
1378+ return a ;
13751379 } ) ;
1376- buildingToggle ( current ) ;
1377- var baseCpsNew = baseCps ( ) ;
1378- var cpsNew = effectiveCps ( currentBank ) ; // baseCpsNew + gcPs(cookieValue(currentBank)) + baseClickingCps(FrozenCookies.autoClick * FrozenCookies.cookieClickSpeed);
1379- buildingToggle ( current , existingAchievements ) ;
1380- var deltaCps = cpsNew - cpsOrig ;
1381- var baseDeltaCps = baseCpsNew - baseCpsOrig ;
1382- var efficiency = purchaseEfficiency ( current . getPrice ( ) , deltaCps , baseDeltaCps , cpsOrig )
1383- return {
1384- 'id' : current . id ,
1385- 'efficiency' : efficiency ,
1386- 'base_delta_cps' : baseDeltaCps ,
1387- 'delta_cps' : deltaCps ,
1388- 'cost' : current . getPrice ( ) ,
1389- 'purchase' : current ,
1390- 'type' : 'building'
1391- } ;
1392- } ) . filter ( function ( a ) {
1393- return a ;
1394- } ) ;
1395- FrozenCookies . showAchievements = true ;
1380+ }
13961381 }
13971382 return FrozenCookies . caches . buildings ;
13981383}
0 commit comments