PageSourceSearch

https://randomtuba.github.io/Algebraic-Progression/lost-integration/x-upgrades.js

js randomtuba.github.io collected 2026-10-03 09:50:04 UTC 2,264 bytes, 73 lines download raw bytes

1const XUpgradesLI = {
2    1: {
3      desc: "Point generator cost scaling is *1.06",
4      cost: new Decimal(10),
5    },
6    2: {
7      desc: "All point generators are 3x more effective",
8      cost: new Decimal(20),
9    },
10    3: {
11      desc: "The \"Get an X\" button’s cost is divided by 2",
12      cost: new Decimal(30),
13    },
14    4: {
15      desc: "Unlock generator multiplier",
16      cost: new Decimal(50),
17    },
18    5: {
19      desc: "Divide X cost by 1 million and multiply point gain by 1,000",
20      cost: new Decimal(1e20),
21    },
22    6: {
23      desc: "Generators produce each other",
24      cost: new Decimal(2e21),
25    },
26    7: {
27      desc: "Raise point gain to ^1.04",
28      cost: new Decimal(1.5e22),
29    },
30    8: {
31      desc: "Gain 10x more root essence",
32      cost: new Decimal(1e23),
33    },
34    buy(x) {
35        if(player.x.gte(XUpgradesLI[x].cost) && !hasUpgrade(x)) player.xUpgs.push(x)
36    },
37  }
38
39  const GeneratorMultiplier = {
40    cost() {
41        let cost = new Decimal(50).add(player.buyables[4].mul(hasQU(9) ? 4 : 5))
42        if(cost.gte(this.superscalingStart())) cost = cost.div(this.superscalingStart()).pow(1.25).mul(this.superscalingStart())
43        cost = cost.floor()
44        return cost
45    },
46    buy() {
47        if(player.abc[1].gte(this.cost())) player.buyables[4] = player.buyables[4].add(1)
48    },
49    mult() {
50        let mult = Decimal.pow(this.multPerPurchase(),player.buyables[4])
51        if(mult.gt(this.softcapStart())) mult = mult.div(this.softcapStart()).pow(0.5).mul(this.softcapStart())
52        if(player.challenge == 13 || player.challenge == 16 || player.compChallenge == 6 || player.yChallenge == 3) mult = new Decimal(1)
53        return mult
54    },
55    multPerPurchase() {
56      let x = new Decimal(1.3)
57      if(hasQU(6)) x = x.add(0.1)
58      if(hasChallenge(13)) x = x.add(0.1)
59      if(hasCU(0,8)) x = x.add(ComplexUpgradesLI[8].eff())
60      if(FractalArm.hasUpgrade(62)) x = x.add(0.2)
61      return x
62    },
63    superscalingStart() {
64      let start = new Decimal(200)
65      if(hasQU(24)) start = start.add(300)
66      return start
67    },
68    softcapStart() {
69      let softcap = new Decimal("1e400000")
70      if(FractalArm.hasUpgrade(61)) softcap = softcap.mul("1e400000")
71      return softcap
72    }
73  }

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.