diff --git a/index.html b/index.html index 3d2f845..b6ee3ca 100644 --- a/index.html +++ b/index.html @@ -15,6 +15,10 @@


+

Beta v1.2 Alpha 7

+

Beta v1.2 Alpha 6

@@ -419,14 +428,14 @@
- +


You have {{formatWhole(player.m.hexes)}} Hexes, which are multiplying Hindrance Spirit & Quirk gain by {{format(tmp.hexEff)}}

- +
1 Magic
Keep row 4 milestones on all resets
2 Magic
Keep Hindrance completions on all resets
3 Magic
Gain 1% of Hindrance Energy & Quirk gain every second
3 Magic
Gain 1% of Hindrance Spirit & Quirk gain every second
4 Magic
Automatically purchase Hyper-Boosters & Subspace      
diff --git a/js/canvas.js b/js/canvas.js index 3ad675c..5ca17b6 100644 --- a/js/canvas.js +++ b/js/canvas.js @@ -48,6 +48,7 @@ function drawTree() { if (layerUnl('m')) { drawTreeBranch("hb", "m") drawTreeBranch("h", "m") + drawTreeBranch("q", "m") } if (layerUnl('ba')) { drawTreeBranch("q", "ba") diff --git a/js/game.js b/js/game.js index 95f8e0a..871b2e1 100644 --- a/js/game.js +++ b/js/game.js @@ -1090,13 +1090,15 @@ const LAYER_UPGS = { unl: function() { return player.m.upgrades.includes(21) }, }, 24: { - desc: "???", - cost: new Decimal(1/0), - unl: function() { return false }, + desc: "Add free Quirk Layers based on your Boosters.", + cost: new Decimal(80000), + unl: function() { return player.m.upgrades.includes(22) }, + currently: function() { return player.b.points.plus(1).log10().times(0.9) }, + effDisp: function(x) { return "+"+format(x) }, }, }, ba: { - rows: 2, + rows: 3, cols: 4, 11: { desc: "All Balance Energy effects use better formulas.", @@ -1148,6 +1150,30 @@ const LAYER_UPGS = { cost: new Decimal(2e4), unl: function() { return player.ba.upgrades.includes(22) }, }, + 31: { + desc: "The Quirk Layer cost is adjusted based on your Balance Upgrades bought.", + cost: new Decimal(4e5), + unl: function() { return player.ba.upgrades.includes(23) }, + currently: function() { return Decimal.div(0.8, Math.pow(player.ba.upgrades.length+1, 0.1)).plus(1.2) }, + effDisp: function(x) { return "2 -> "+format(x) }, + }, + 32: { + desc: "Enhancers are stronger based on your Positivity.", + cost: new Decimal(5e5), + unl: function() { return player.ba.upgrades.includes(24) }, + currently: function() { return player.ba.positivity.plus(1).log10().plus(1).log10().plus(1).pow(2) }, + effDisp: function(x) { return format(x.sub(1).times(100))+"% stronger" }, + }, + 33: { + desc: "The Balance Power effect is squared.", + cost: new Decimal(1e6), + unl: function() { return player.ba.upgrades.includes(31) }, + }, + 34: { + desc: "The Positivity & Negativity effect uses a better formula.", + cost: new Decimal(2e6), + unl: function() { return player.ba.upgrades.includes(32) }, + }, }, } @@ -1961,6 +1987,7 @@ function getEnhancerPow() { if (player.e.upgrades.includes(31)&&!(tmp.hcActive?tmp.hcActive[12]:true)) pow = pow.times(LAYER_UPGS.e[31].currently()) if (player.h.challs.includes(31)) pow = pow.times(2) if (player.q.upgrades.includes(42)) pow = pow.times(1.4) + if (player.ba.upgrades.includes(32)) pow = pow.times(LAYER_UPGS.ba[32].currently()) return pow } @@ -2253,13 +2280,19 @@ function addToSBBase() { return toAdd } +function getQuirkLayerCostBase() { + let base = new Decimal(2) + if (player.ba.upgrades.includes(31)) base = LAYER_UPGS.ba[31].currently() + return base +} + function getQuirkLayerCost() { - let cost = Decimal.pow(2, Decimal.pow(2, player.q.layers)).sub(1) + let cost = Decimal.pow(tmp.qCB, Decimal.pow(tmp.qCB, player.q.layers)).sub(1) return cost.max(1); } function getQuirkLayerTarg() { - let targ = player.q.points.plus(1).log2().plus(1).log2().plus(1).floor() + let targ = player.q.points.plus(1).log(tmp.qCB).plus(1).log(tmp.qCB).plus(1).floor() return targ } @@ -2273,10 +2306,16 @@ function getQuirkLayerMult() { return mult } +function getExtraQuirkLayers() { + let layers = new Decimal(0); + if (player.m.upgrades.includes(24)) layers = layers.plus(LAYER_UPGS.m[24].currently()) + return layers; +} + function getQuirkEnergyGainExp() { let mult = new Decimal(1) if (spellActive(3)) mult = mult.times(tmp.spellEffs[3]) - return player.q.layers.sub(1).times(mult) + return player.q.layers.plus(getExtraQuirkLayers()).sub(1).times(mult) } function getQuirkEnergyEff() { @@ -2509,6 +2548,7 @@ function getHyperBoosterPow() { function getBalancePowerEff() { let eff = player.ba.power.plus(1).sqrt() if (player.ba.upgrades.includes(14)) eff = eff.pow(5) + if (player.ba.upgrades.includes(33)) eff = eff.pow(2) return eff; } @@ -2516,6 +2556,7 @@ function getBalanceTypesEff() { let mod = player.ba.positivity.plus(1).log10().plus(1).div(player.ba.negativity.plus(1).log10().plus(1)).log10().abs().plus(1).pow(-1) let pos = player.ba.positivity.plus(1).log10().plus(1) let neg = player.ba.negativity.plus(1).log10().plus(1) + if (player.ba.upgrades.includes(34)) mod = mod.times(1.5) let eff = pos.times(neg).pow(mod) return eff; } @@ -2539,9 +2580,9 @@ function getNegGainMult() { } const SPELL_NAMES = { - 1: "Spell 1", - 2: "Spell 2", - 3: "Spell 3", + 1: "Booster Launch", + 2: "Time Warp", + 3: "Quirk Amplification", } const SPELL_DESCS = { @@ -2734,6 +2775,15 @@ document.onkeydown = function(e) { case "S": if (player.ss.unl) doReset("ss") break; + case "1": + if (player.ba.unl) activateSpell(1) + break; + case "2": + if (player.ba.unl) activateSpell(2) + break; + case "3": + if (player.ba.unl) activateSpell(3) + break; } } else if (player[key].unl) doReset(key) } \ No newline at end of file diff --git a/js/temp.js b/js/temp.js index f6a2071..19247b3 100644 --- a/js/temp.js +++ b/js/temp.js @@ -47,6 +47,7 @@ function updateTemp() { tmp.sbUnl = getSpaceBuildingsUnl() tmp.quirkEff = getQuirkEnergyEff() + tmp.qCB = getQuirkLayerCostBase() tmp.ssEff1 = getSubspaceEff1() tmp.ssEff2 = getSubspaceEff2()