You need to start the scaling at a lower amount, like in this case, 10 instead of 100.

This commit is contained in:
unsoftcapped3 2022-12-14 15:44:11 -08:00 committed by GitHub
parent a52f09adf4
commit 0e9d09fc6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -227,14 +227,14 @@ const layer = createLayer(id, function (this: BaseLayer) {
resource: metal.metal, resource: metal.metal,
cost() { cost() {
let v = new Decimal(this.amount.value); let v = new Decimal(this.amount.value);
if (Decimal.gte(v, 100)) v = Decimal.pow(v, 4).div(100**3); if (Decimal.gte(v, 10)) v = Decimal.pow(v, 4).div(10**3);
v = Decimal.pow(0.95, paper.books.heavyDrillBook.totalAmount.value).times(v); v = Decimal.pow(0.95, paper.books.heavyDrillBook.totalAmount.value).times(v);
return Decimal.pow(8, v).times(2e5); return Decimal.pow(8, v).times(2e5);
}, },
inverseCost(x: DecimalSource) { inverseCost(x: DecimalSource) {
let v = Decimal.div(x, 2e5).log(8); let v = Decimal.div(x, 2e5).log(8);
v = v.div(Decimal.pow(0.95, paper.books.heavyDrillBook.totalAmount.value)); v = v.div(Decimal.pow(0.95, paper.books.heavyDrillBook.totalAmount.value));
if (Decimal.gte(v, 100)) v = Decimal.mul(v, 100**3).root(4); if (Decimal.gte(v, 10)) v = Decimal.mul(v, 10**3).root(4);
return Decimal.isNaN(v) ? Decimal.dZero : v.floor().max(0); return Decimal.isNaN(v) ? Decimal.dZero : v.floor().max(0);
}, },
display: jsx(() => ( display: jsx(() => (