1 2 3function project(x) { 4 if (game.OP >= V(game.factorBoosts + 3, 1) && game.bulkBoost == 0) { 5 get("nextBulkTime").innerHTML = 6 "You can do a Factor Boost now, but bulking is currently disabled now"; 7 get("bulking").innerHTML = 1; 8 get("factorBoostProg").style.width = "100%"; 9 get("factorBoostProg").innerHTML = "100.00%"; 10 } else { 11 get("nextBulkTime").innerHTML = 12 game.OP < 1e270 13 ? "Reach " + beautify(5e270) + " to see when you can boost!" 14 : game.factorBoosts + getFactorBulk() >= 25 && getFactorBulk() >= 1 15 ? "You can't bulk past the BHO!" 16 : "Next boost in bulk will take " + 17 ((game.upgrades.includes(2) || game.leastBoost <= 1.5) && (game.autoOn.max==1) && 18 ((game.upgrades.includes(3)&&game.autoOn.inf==1) || game.leastBoost <= 1e10) 19 ? time( 20 game.factorBoosts < 24 21 ? Math.floor( 22 (V(game.factorBoosts + getFactorBulk() + 3) - game.OP) / 23 x / 24 1e270 25 ) 26 : postBHOproj(x) 27 ) 28 : (game.factorBoosts <= 24?Math.floor( 29 (V(game.factorBoosts + getFactorBulk() + 3) - game.OP) / 30 1 / 31 1e270 32 ):postBHOproj(1)) + " click cycles"); 33 get("bulking").innerHTML = getFactorBulk(); 34 let percentage = 35 game.factorBoosts + getFactorBulk() >= 25 && getFactorBulk() >= 1 36 ? 100 37 : (game.OP / V(game.factorBoosts + getFactorBulk() + 3)) * 100; 38 if (game.factorBoosts >= 24 && game.OP < BHO) { 39 percentage = (100 * game.OP) / BHO / 3 ** (getSingLevel() - 1); 40 } 41 if (game.factorBoosts >= 24 && game.OP >= BHO) { 42 percentage = 100 * (1 / 3) ** ((BHO * getSingLevel() - game.OP) / BHO); 43 } 44 get("factorBoostProg").style.width = percentage + "%"; 45 get("factorBoostProg").innerHTML = percentage.toFixed(2) + "%"; 46 } 47} 48 49function challengeProject() { 50 let percent = 0 51 if (game.chal9==1||(game.challenge>0&&game.challengeCompletion[game.challenge-1]>=3)) { 52 percent = 100 53 get("chalProg").style.width="100%" 54 get("chalProg").textContent="100.00%" 55 get("nextChalBulkTime").textContent="There are no more goals to be completed in this challenge" 56 } else if (game.challenge == 2 && game.challengeCompletion[1] != 0) { 57 percent = Math.min(1,game.OP/challengeGoals[1][game.challengeCompletion[1]])*100 58 let autoOn = (game.upgrades.includes(2) || game.leastBoost <= 1.5) && (game.autoOn.max==1) && ((game.upgrades.includes(3)&&game.autoOn.inf==1) || game.leastBoost <= 1e10) 59 get("chalProg").style.width=percent + "%" 60 get("chalProg").textContent=percent.toFixed(2) + "%" 61 get("nextChalBulkTime").textContent=percent==100?"Goal reached!":"The next challenge completion will take " + time(((challengeGoals[1][game.challengeCompletion[1]]-game.OP)/(10**270))/buptotalMute/(0+autoOn)) + " assuming your Tier 2 speed stays constant" 62 } else if (game.chal8 == 1) { 63 let effectiveOP = Math.max(game.OP,calcTotalOPGain()) 64 percent = Math.min(1,effectiveOP/getChal8Goal(game.chal8Comp))*100 65 get("chalProg").style.width=percent + "%" 66 get("chalProg").textContent=percent.toFixed(2) + "%" 67 get("nextChalBulkTime").textContent=percent==100?"Goal reached!":"The next challenge completion will take " + time((getChal8Goal(game.chal8Comp)-effectiveOP)/(calcOPPS())) + " if you rely on passive OP gain only" 68 } else { 69 let ord = game.ord 70 let rate = totalMult*Math.min(game.succAuto,game.limAuto*game.base)*(game.aups.includes(2)?Math.min(Math.sqrt(Math.max(game.limAuto,1)),game.base*Math.sqrt(Math.max(game.succAuto,1))):1) 71 let OPmult = calcOPonInfMult() 72 let goal = challengeGoals[game.challenge-1][game.challengeCompletion[game.challenge-1]] 73 goal = (goal - (game.challenge==6||game.challenge==7?0:game.OP)) / OPmult 74 let ordGoal = OPtoOrd(goal,game.base) 75 percent = Math.min(1,ord / ordGoal)*100 76 get("chalProg").style.width=percent + "%" 77 get("chalProg").textContent=percent.toFixed(2) + "%" 78 get("nextChalBulkTime").textContent=percent==100?"Goal reached!":"The next challenge completion will take " + time((ordGoal-ord)/(rate)) + " assuming your Tier 1 speed stays constant" 79 80 81 } 82}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.