This commit is contained in:
unsoftcapped3 2022-12-14 04:05:10 +00:00
commit 8b948736a5
5 changed files with 92 additions and 16 deletions

View file

@ -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,

View file

@ -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 => {
(["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),

View file

@ -84,7 +84,12 @@ const layer = createLayer(id, function (this: BaseLayer) {
const activeHeavy = persistent<DecimalSource>(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) {
<br />
A large drill specialized at deep mining.
<br />
Consumes 1e14*(Heavy Drills amount)<sup>2</sup> coal/sec for (Heavy Drills amount)
drill power.
Consumes 1e14*(Heavy Drills amount)
<sup>
{management.elfTraining.coalDrillElfTraining.milestones[0].earned.value
? 2.5
: 2}
</sup>{" "}
coal/sec for (Heavy Drills amount) drill power.
<br />
<br />
Currently:

View file

@ -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,

View file

@ -70,7 +70,7 @@ ul {
/* Scrollbar stuff */
* {
scrollbar-color: #ffffff0f var(--accent1);
scrollbar-color: var(--accent1) #ffffff0f;
}
::-webkit-scrollbar {