diff --git a/src/data/layers/coal.tsx b/src/data/layers/coal.tsx index 1f85741..c19a769 100644 --- a/src/data/layers/coal.tsx +++ b/src/data/layers/coal.tsx @@ -41,6 +41,7 @@ import trees from "./trees"; import dyes from "./dyes"; import management from "./management"; import wrappingPaper from "./wrapping-paper"; +import plastic from "./plastic"; interface BetterFertilizerUpgOptions { canAfford: () => boolean; @@ -275,6 +276,9 @@ const layer = createLayer(id, function (this: BaseLayer) { if (management.elfTraining.fertilizerElfTraining.milestones[2].earned.value) { cost = cost.div(Decimal.add(trees.totalLogs.value, Math.E).ln()); } + if (management.elfTraining.coalDrillElfTraining.milestones[2].earned.value) { + cost = cost.div(10); + } return cost; }, display: jsx(() => ( @@ -417,7 +421,40 @@ const layer = createLayer(id, function (this: BaseLayer) { style: { color: colorText }, visibility: () => showIf(oil.depthMilestones[4].earned.value) })); - const row3upgrades = [efficientSmelther]; + const arsonistAssistance = createUpgrade(() => ({ + resource: noPersist(coal), + cost: 1e45, + display: { + title: "Arsonist Assistance", + description: "Every elf at or above level 5 doubles ash gain" + }, + style: { color: colorText }, + visibility: () => + showIf(management.elfTraining.coalDrillElfTraining.milestones[3].earned.value) + })); + const refinedCoal = createUpgrade(() => ({ + resource: noPersist(coal), + cost: 1e50, + display: { + title: "Refined Coal", + description: "Refineries boost coal gain" + }, + style: { color: colorText }, + visibility: () => + showIf(management.elfTraining.coalDrillElfTraining.milestones[3].earned.value) + })); + const coloredFire = createUpgrade(() => ({ + resource: noPersist(coal), + cost: 1e55, + display: { + title: "Colored Fire", + description: "Green dye also affects small fire synergy" + }, + style: { color: colorText }, + visibility: () => + showIf(management.elfTraining.coalDrillElfTraining.milestones[3].earned.value) + })); + const row3upgrades = [efficientSmelther, arsonistAssistance, refinedCoal, coloredFire]; const heatedCutters = createBuyable(() => ({ resource: noPersist(coal), @@ -600,7 +637,11 @@ const layer = createLayer(id, function (this: BaseLayer) { if (management.elfTraining.smallfireElfTraining.milestones[0].earned.value) { v = Decimal.div(buildBonfire.amount.value, 10).add(v); } - return Decimal.div(v, 10000).add(1); + let multi = Decimal.div(v, 10000).add(1); + if (coloredFire.bought.value) { + multi = Decimal.add(multi, dyes.dyes.green.amount.value); + } + return multi; }, description: "Small Fires Synergy", enabled: elves.elves.smallFireElf.bought @@ -643,7 +684,14 @@ const layer = createLayer(id, function (this: BaseLayer) { supportLowNumbers: true })), createMultiplicativeModifier(() => ({ - multiplier: () => Decimal.mul(oil.depth.value, 0.25).add(1), + multiplier: () => + Decimal.mul(oil.depth.value, 0.25) + .pow( + management.elfTraining.coalDrillElfTraining.milestones[4].earned.value + ? 1.5 + : 1 + ) + .add(1), description: "5m Well Depth", enabled: oil.depthMilestones[0].earned })), @@ -652,6 +700,16 @@ const layer = createLayer(id, function (this: BaseLayer) { description: "Heavy Extractor", enabled: () => Decimal.gt(oil.activeExtractor.value, 0) })), + createMultiplicativeModifier(() => ({ + multiplier: Decimal.add(coal.value, 1).log10().add(1).sqrt(), + description: "Peppermint Level 2", + enabled: management.elfTraining.coalDrillElfTraining.milestones[1].earned + })), + createMultiplicativeModifier(() => ({ + multiplier: Decimal.add(plastic.buildRefinery.amount.value, 1).sqrt(), + description: "Refined Coal", + enabled: refinedCoal.bought + })), createExponentialModifier(() => ({ exponent: 1.05, description: "Jack Level 2", @@ -725,6 +783,11 @@ const layer = createLayer(id, function (this: BaseLayer) { description: "Mining boots", enabled: cloth.metalUpgrades.metalUpgrade1.bought })), + createMultiplicativeModifier(() => ({ + multiplier: () => Decimal.pow(2, management.level5Elves.value), + description: "Arson Assistance", + enabled: arsonistAssistance.bought + })), createExponentialModifier(() => ({ exponent: 1.1, description: "Joy Level 2", @@ -874,6 +937,9 @@ const layer = createLayer(id, function (this: BaseLayer) { betterFertilizer, unlockKiln, efficientSmelther, + arsonistAssistance, + refinedCoal, + coloredFire, heatedCutters, heatedPlanters, moreFertilizer, diff --git a/src/data/layers/management.tsx b/src/data/layers/management.tsx index e977bbe..a606f66 100644 --- a/src/data/layers/management.tsx +++ b/src/data/layers/management.tsx @@ -801,12 +801,10 @@ const layer = createLayer(id, () => { visibility: () => showIf(clothElfMilestones[2].earned.value && main.day.value >= 13), shouldEarn: () => clothElfTraining.level.value >= 4, onComplete() { - (["red", "yellow", "blue"] as const).forEach( - dyeColor => { - dyes.dyes[dyeColor].amount.value = 0; - dyes.dyes[dyeColor].buyable.amount.value = 0; - } - ); + (["red", "yellow", "blue"] as const).forEach(dyeColor => { + dyes.dyes[dyeColor].amount.value = 0; + dyes.dyes[dyeColor].buyable.amount.value = 0; + }); } })), createMilestone(() => ({ @@ -837,7 +835,7 @@ const layer = createLayer(id, () => { createMilestone(() => ({ display: { requirement: "Peppermint Level 3", - effectDisplay: "The coal drill cost is decreased" + effectDisplay: "The coal drill cost is 10x cheaper" }, visibility: () => showIf(coalDrillElfMilestones[1].earned.value), shouldEarn: () => coalDrillElfTraining.level.value >= 3 @@ -854,7 +852,7 @@ const layer = createLayer(id, () => { createMilestone(() => ({ display: { requirement: "Peppermint Level 5", - effectDisplay: "Well depth boosts coal gain more" + effectDisplay: "Well depth boosts coal gain an additional half time" }, visibility: () => showIf(coalDrillElfMilestones[3].earned.value && main.day.value >= 13), diff --git a/src/data/layers/oil.tsx b/src/data/layers/oil.tsx index 9b791ec..4172cac 100644 --- a/src/data/layers/oil.tsx +++ b/src/data/layers/oil.tsx @@ -84,7 +84,12 @@ const layer = createLayer(id, function (this: BaseLayer) { const activeHeavy = persistent(0); const heavyCoal = computed(() => - Decimal.times(Decimal.pow(activeHeavy.value, heavy2Power.value).pow(2), 1e14) + Decimal.times( + Decimal.pow(activeHeavy.value, heavy2Power.value).pow( + management.elfTraining.coalDrillElfTraining.milestones[0].earned.value ? 2.5 : 2 + ), + 1e14 + ) ); const heavyPower = computed(() => Decimal.times(Decimal.pow(activeHeavy.value, heavy2Power.value), 1) @@ -102,8 +107,13 @@ const layer = createLayer(id, function (this: BaseLayer) {
A large drill specialized at deep mining.
- Consumes 1e14*(Heavy Drills amount)2 coal/sec for (Heavy Drills amount) - drill power. + Consumes 1e14*(Heavy Drills amount) + + {management.elfTraining.coalDrillElfTraining.milestones[0].earned.value + ? 2.5 + : 2} + {" "} + coal/sec for (Heavy Drills amount) drill power.

Currently: diff --git a/src/data/projEntry.tsx b/src/data/projEntry.tsx index f7adfac..a66fb51 100644 --- a/src/data/projEntry.tsx +++ b/src/data/projEntry.tsx @@ -140,6 +140,7 @@ export const main = createLayer("main", function (this: BaseLayer) { // Mobile, use single tab mode player.tabs.splice(1, Infinity, layer ?? "trees"); } + layers[layer ?? "trees"]!.minimized.value = false; }, onUnlockLayer() { if (layer) { @@ -291,7 +292,8 @@ export const main = createLayer("main", function (this: BaseLayer) { layer: null, // "wrapping paper" symbol: wrappingPaperSymbol, story: "You'll need to produce wrapping paper so the presents can be wrapped. The elves are getting a bit bored of their boring old workstations, so you decide to let them decorate with some wrapping paper.", - completedStory: "You've produced enough wrapping paper, and the elves are happy with their new workstations. However, some will need more than just wrapping paper to decorate." + completedStory: + "You've produced enough wrapping paper, and the elves are happy with their new workstations. However, some will need more than just wrapping paper to decorate." })), createDay(() => ({ day: 16, diff --git a/src/main.css b/src/main.css index adc4ed2..52aa0c7 100644 --- a/src/main.css +++ b/src/main.css @@ -70,7 +70,7 @@ ul { /* Scrollbar stuff */ * { - scrollbar-color: #ffffff0f var(--accent1); + scrollbar-color: var(--accent1) #ffffff0f; } ::-webkit-scrollbar {