mirror of
https://github.com/thepaperpilot/Advent-Incremental.git
synced 2025-01-19 03:51:37 +00:00
Merge branch 'main' of https://github.com/thepaperpilot/Advent-Incremental into main
This commit is contained in:
commit
14042997dc
20 changed files with 163 additions and 33 deletions
1
saves/Day 01 Complete.txt
Normal file
1
saves/Day 01 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 02 Complete.txt
Normal file
1
saves/Day 02 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 03 Complete.txt
Normal file
1
saves/Day 03 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 04 Complete.txt
Normal file
1
saves/Day 04 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 05 Complete.txt
Normal file
1
saves/Day 05 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 06 Complete.txt
Normal file
1
saves/Day 06 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 07 Complete.txt
Normal file
1
saves/Day 07 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 08 Complete.txt
Normal file
1
saves/Day 08 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 09 Complete.txt
Normal file
1
saves/Day 09 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 10 Complete.txt
Normal file
1
saves/Day 10 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 11 Complete.txt
Normal file
1
saves/Day 11 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
1
saves/Day 12 Complete.txt
Normal file
1
saves/Day 12 Complete.txt
Normal file
File diff suppressed because one or more lines are too long
|
@ -279,7 +279,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
},
|
||||
display: jsx(() => (
|
||||
<>
|
||||
<h3>Mining Drill</h3>
|
||||
<h3>Coal Drill</h3>
|
||||
<br />
|
||||
Dig through the ground to find 50,000,000 coal
|
||||
<br />
|
||||
|
@ -579,7 +579,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
addend() {
|
||||
return drillCoal.value;
|
||||
},
|
||||
description: "Mining Drills",
|
||||
description: "Coal Drills",
|
||||
enabled() {
|
||||
return Decimal.gt(activeDrills.value, 0);
|
||||
}
|
||||
|
|
|
@ -314,16 +314,16 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
enabled: elvesMilestone2.earned
|
||||
}))
|
||||
]);
|
||||
const miningDrillCooldown = createSequentialModifier(() => [
|
||||
const coalDrillCooldown = createSequentialModifier(() => [
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: 2,
|
||||
description: "6 Elves Trained",
|
||||
enabled: elvesMilestone.earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: () => Decimal.times(paper.books.miningDrillBook.amount.value, 0.1).add(1),
|
||||
multiplier: () => Decimal.times(paper.books.coalDrillBook.amount.value, 0.1).add(1),
|
||||
description: "Drills and Mills",
|
||||
enabled: () => Decimal.gt(paper.books.miningDrillBook.amount.value, 0)
|
||||
enabled: () => Decimal.gt(paper.books.coalDrillBook.amount.value, 0)
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: 2,
|
||||
|
@ -478,7 +478,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
},
|
||||
{
|
||||
title: "Peppermint Auto-Buy Frequency",
|
||||
modifier: miningDrillCooldown,
|
||||
modifier: coalDrillCooldown,
|
||||
base: 10,
|
||||
unit: "/s",
|
||||
visible: management.elfTraining.expandersElfTraining.milestones[3].earned
|
||||
|
@ -768,18 +768,18 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
visibility: () => showIf(plastic.elfUpgrades.clothElf.bought.value)
|
||||
});
|
||||
const plasticElves = [paperElf, boxElf, clothElf];
|
||||
const miningDrillElf = createElf({
|
||||
const coalDrillElf = createElf({
|
||||
name: "Peppermint",
|
||||
description:
|
||||
"Peppermint will automatically purchase all mining drills you can afford, without actually spending any resources.",
|
||||
"Peppermint will automatically purchase all coal drills you can afford, without actually spending any resources.",
|
||||
buyable: coal.buildDrill,
|
||||
cooldownModifier: miningDrillCooldown,
|
||||
cooldownModifier: coalDrillCooldown,
|
||||
visibility: () =>
|
||||
showIf(management.elfTraining.expandersElfTraining.milestones[3].earned.value),
|
||||
hasToggle: true,
|
||||
toggleDesc: "Activate auto-purchased mining drills",
|
||||
toggleDesc: "Activate auto-purchased coal drills",
|
||||
onAutoPurchase() {
|
||||
if (miningDrillElf.toggle.value) {
|
||||
if (coalDrillElf.toggle.value) {
|
||||
coal.activeDrills.value = Decimal.add(coal.activeDrills.value, 1);
|
||||
}
|
||||
}
|
||||
|
@ -828,7 +828,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
}
|
||||
}
|
||||
});
|
||||
const managementElves = [miningDrillElf, heavyDrillElf, oilElf];
|
||||
const managementElves = [coalDrillElf, heavyDrillElf, oilElf];
|
||||
const metalElf = createElf({
|
||||
name: "Twinkle",
|
||||
description:
|
||||
|
@ -862,7 +862,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
paperElf,
|
||||
boxElf,
|
||||
clothElf,
|
||||
miningDrillElf,
|
||||
coalDrillElf,
|
||||
heavyDrillElf,
|
||||
oilElf,
|
||||
metalElf,
|
||||
|
|
|
@ -822,7 +822,88 @@ const layer = createLayer(id, () => {
|
|||
shouldEarn: () => clothElfTraining.level.value >= 5
|
||||
}))
|
||||
] as Array<GenericMilestone>;
|
||||
|
||||
const coalDrillElfMilestones = [
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Peppermint Level 1",
|
||||
effectDisplay: "The mining drill exponent is increased from 2 to 2.5"
|
||||
},
|
||||
shouldEarn: () => coalDrillElfTraining.level.value >= 1
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Peppermint Level 2",
|
||||
effectDisplay: "Coal boosts its own gain"
|
||||
},
|
||||
visibility: () => showIf(coalDrillElfMilestones[0].earned.value),
|
||||
shouldEarn: () => coalDrillElfTraining.level.value >= 2
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Peppermint Level 3",
|
||||
effectDisplay: "The coal drill cost is decreased"
|
||||
},
|
||||
visibility: () => showIf(coalDrillElfMilestones[1].earned.value),
|
||||
shouldEarn: () => coalDrillElfTraining.level.value >= 3
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Peppermint Level 4",
|
||||
effectDisplay: "Unlock another row of coal upgrades"
|
||||
},
|
||||
visibility: () => showIf(coalDrillElfMilestones[2].earned.value && main.day.value >= 13),
|
||||
shouldEarn: () => coalDrillElfTraining.level.value >= 4
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Peppermint Level 5",
|
||||
effectDisplay: "Well depth boosts coal gain more"
|
||||
},
|
||||
visibility: () => showIf(coalDrillElfMilestones[3].earned.value && main.day.value >= 13),
|
||||
shouldEarn: () => coalDrillElfTraining.level.value >= 5
|
||||
}))
|
||||
] as Array<GenericMilestone>;
|
||||
const metalElfMilestones = [
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Twinkle Level 1",
|
||||
effectDisplay: "Schools multiply metal gain per ore"
|
||||
},
|
||||
shouldEarn: () => metalElfTraining.level.value >= 1
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Twinkle Level 2",
|
||||
effectDisplay: "Each Twinkle level multiplies auto smelting speed by 1.25"
|
||||
},
|
||||
visibility: () => showIf(metalElfMilestones[0].earned.value),
|
||||
shouldEarn: () => metalElfTraining.level.value >= 2
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Twinkle Level 3",
|
||||
effectDisplay: "Auto smelting purity is tripled."
|
||||
},
|
||||
visibility: () => showIf(metalElfMilestones[1].earned.value),
|
||||
shouldEarn: () => metalElfTraining.level.value >= 3
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Twinkle Level 4",
|
||||
effectDisplay: "All metal buyables are cheaper"
|
||||
},
|
||||
visibility: () => showIf(metalElfMilestones[2].earned.value && main.day.value >= 13),
|
||||
shouldEarn: () => metalElfTraining.level.value >= 4
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
requirement: "Twinkle Level 5",
|
||||
effectDisplay: "Unlock another row of metal upgrades"
|
||||
},
|
||||
visibility: () => showIf(metalElfMilestones[3].earned.value && main.day.value >= 13),
|
||||
shouldEarn: () => metalElfTraining.level.value >= 5
|
||||
}))
|
||||
] as Array<GenericMilestone>;
|
||||
// ------------------------------------------------------------------------------- Milestone display
|
||||
|
||||
const currentShown = persistent<string>("Holly");
|
||||
|
@ -875,7 +956,9 @@ const layer = createLayer(id, () => {
|
|||
const boxElfTraining = createElfTraining(elves.elves.boxElf, boxElfMilestones);
|
||||
const clothElfTraining = createElfTraining(elves.elves.clothElf, clothElfMilestones);
|
||||
const plasticElfTraining = [paperElfTraining, boxElfTraining, clothElfTraining];
|
||||
|
||||
const coalDrillElfTraining = createElfTraining(elves.elves.coalDrillElf, coalDrillElfMilestones);
|
||||
const metalElfTraining = createElfTraining(elves.elves.metalElf, metalElfMilestones);
|
||||
const row5Elves = [coalDrillElfTraining, metalElfTraining]
|
||||
const elfTraining = {
|
||||
cutterElfTraining,
|
||||
planterElfTraining,
|
||||
|
@ -888,7 +971,9 @@ const layer = createLayer(id, () => {
|
|||
kilnElfTraining,
|
||||
paperElfTraining,
|
||||
boxElfTraining,
|
||||
clothElfTraining
|
||||
clothElfTraining,
|
||||
coalDrillElfTraining,
|
||||
metalElfTraining
|
||||
};
|
||||
const day12Elves = [
|
||||
cutterElfTraining,
|
||||
|
@ -916,7 +1001,9 @@ const layer = createLayer(id, () => {
|
|||
kilnElfTraining,
|
||||
paperElfTraining,
|
||||
boxElfTraining,
|
||||
clothElfTraining
|
||||
clothElfTraining,
|
||||
coalDrillElfTraining,
|
||||
metalElfTraining
|
||||
];
|
||||
|
||||
// ------------------------------------------------------------------------------- Update
|
||||
|
@ -1380,7 +1467,8 @@ const layer = createLayer(id, () => {
|
|||
treeElfTraining,
|
||||
coalElfTraining,
|
||||
fireElfTraining,
|
||||
plasticElfTraining
|
||||
plasticElfTraining,
|
||||
row5Elves
|
||||
)}
|
||||
<Spacer />
|
||||
{currentElfDisplay()}
|
||||
|
|
|
@ -88,6 +88,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
description: "400% Foundation Completed",
|
||||
enabled: workshop.milestones.extraExpansionMilestone2.earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: () => Decimal.add(oil.buildHeavy.amount.value, 1).sqrt(),
|
||||
description: "Joy Level 4",
|
||||
enabled: management.elfTraining.smallfireElfTraining.milestones[3].earned
|
||||
})),
|
||||
createExponentialModifier(() => ({
|
||||
exponent: 1.1,
|
||||
description: "Mary Level 2",
|
||||
|
@ -102,6 +107,21 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
description: "Industrial Crucibles",
|
||||
enabled: () => Decimal.gte(industrialCrucible.amount.value, 1)
|
||||
})),
|
||||
createExponentialModifier(() => ({
|
||||
exponent: 1.1,
|
||||
description: "Joy Level 5",
|
||||
enabled: management.elfTraining.smallfireElfTraining.milestones[4].earned
|
||||
})),
|
||||
createExponentialModifier(() => ({
|
||||
exponent: 1.1,
|
||||
description: "Faith Level 5",
|
||||
enabled: management.elfTraining.bonfireElfTraining.milestones[4].earned
|
||||
})),
|
||||
createExponentialModifier(() => ({
|
||||
exponent: 1.1,
|
||||
description: "Snowball Level 5",
|
||||
enabled: management.elfTraining.kilnElfTraining.milestones[4].earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: 2,
|
||||
description: "Efficient Crucibles",
|
||||
|
@ -194,7 +214,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
const oreAmount = createSequentialModifier(() => [
|
||||
createAdditiveModifier(() => ({
|
||||
addend: () => oreDrill.amount.value,
|
||||
description: "Mining Drills",
|
||||
description: "Metal Drills",
|
||||
enabled: () => Decimal.gte(oreDrill.amount.value, 1)
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
|
@ -227,7 +247,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: 2.5,
|
||||
description: "Mining Drills",
|
||||
description: "Metal Drills",
|
||||
enabled: () => Decimal.gte(oreDrill.amount.value, 1)
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
|
@ -237,7 +257,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: 2,
|
||||
description: "Oil the Mining Drills",
|
||||
description: "Oil the Metal Drills",
|
||||
enabled: oil.row2Upgrades[1].bought
|
||||
}))
|
||||
]);
|
||||
|
@ -311,7 +331,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
display: {
|
||||
title: "Coal Drilling",
|
||||
description:
|
||||
"These mining drills are pretty powerful, mining more ore than you can actually smelt. Could be worth making some to mine coal instead"
|
||||
"These metal drills are pretty powerful, mining more ore than you can actually smelt. Could be worth making some to mine coal instead"
|
||||
},
|
||||
visibility: () =>
|
||||
showIf(
|
||||
|
@ -361,7 +381,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
return Decimal.pow(1.15, this.amount.value).times(10);
|
||||
},
|
||||
display: {
|
||||
title: "Mining Drill",
|
||||
title: "Metal Drill",
|
||||
description: "An automated machine to help you mine more ore, faster",
|
||||
effectDisplay: jsx(() => (
|
||||
<>
|
||||
|
|
|
@ -494,7 +494,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
cost: 1e18,
|
||||
display: {
|
||||
title: "Coal Drill Synergy",
|
||||
description: "Increase drill power by +4% per coal Mining Drill owned.",
|
||||
description: "Increase drill power by +4% per Coal Drill owned.",
|
||||
effectDisplay: jsx(() => <>x{format(row1UpgradeEffects[0].value)}</>)
|
||||
},
|
||||
style: { color: colorText }
|
||||
|
@ -504,7 +504,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
cost: 150000,
|
||||
display: {
|
||||
title: "Metal Drill Synergy",
|
||||
description: "Increase drill power by +4% per ore Mining Drill owned.",
|
||||
description: "Increase drill power by +4% per Metal Drill owned.",
|
||||
effectDisplay: jsx(() => <>x{format(row1UpgradeEffects[1].value)}</>)
|
||||
},
|
||||
style: { color: colorText }
|
||||
|
@ -584,7 +584,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
resource: noPersist(oil),
|
||||
cost: 500,
|
||||
display: {
|
||||
title: "Oil the Mining Drills",
|
||||
title: "Oil the Metal Drills",
|
||||
description:
|
||||
"Double ore mining speed and square the coal drill amount in its effect."
|
||||
},
|
||||
|
@ -731,6 +731,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
multiplier: () => Decimal.sqrt(management.totalElfLevels.value),
|
||||
description: "Jack Level 4",
|
||||
enabled: management.elfTraining.heatedCutterElfTraining.milestones[3].earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: () => Decimal.add(buildHeavy2.amount.value, 1).sqrt(),
|
||||
description: "Faith Level 4",
|
||||
enabled: management.elfTraining.bonfireElfTraining.milestones[3].earned
|
||||
}))
|
||||
]);
|
||||
const computedOilSpeed = computed(() => oilSpeed.apply(0));
|
||||
|
@ -960,7 +965,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
<MainDisplay
|
||||
resource={oil}
|
||||
color={color}
|
||||
resourceStyle={{textShadow: 'grey 0px 0px 10px'}}
|
||||
resourceStyle={{ textShadow: "grey 0px 0px 10px" }}
|
||||
sticky={true}
|
||||
productionDisplay={jsx(() => (
|
||||
<>
|
||||
|
|
|
@ -198,10 +198,10 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
buyableName: "Cloth Buyables",
|
||||
visibility: () => showIf(elves.elves.clothElf.bought.value)
|
||||
});
|
||||
const miningDrillBook = createBook({
|
||||
const coalDrillBook = createBook({
|
||||
name: "Drills and Mills",
|
||||
elfName: "Peppermint",
|
||||
buyableName: "Mining Drill",
|
||||
buyableName: "Coal Drill",
|
||||
visibility: () =>
|
||||
showIf(management.elfTraining.expandersElfTraining.milestones[3].earned.value)
|
||||
});
|
||||
|
@ -246,7 +246,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
paperBook,
|
||||
boxBook,
|
||||
clothBook,
|
||||
miningDrillBook,
|
||||
coalDrillBook,
|
||||
heavyDrillBook,
|
||||
oilBook,
|
||||
metalBook,
|
||||
|
|
|
@ -269,6 +269,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
Decimal.div(workshop.foundationProgress.value, 10).floor().div(10).add(1),
|
||||
description: "800% Foundation Completed",
|
||||
enabled: workshop.milestones.extraExpansionMilestone4.earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: () => Decimal.add(oil.buildExtractor.amount.value, 1).sqrt(),
|
||||
description: "Snowball Level 4",
|
||||
enabled: management.elfTraining.kilnElfTraining.milestones[3].earned
|
||||
}))
|
||||
]);
|
||||
const computedPlasticGain = computed(() => plasticGain.apply(0));
|
||||
|
|
|
@ -32,7 +32,7 @@ import oilSymbol from "./symbols/oil.png";
|
|||
import plasticSymbol from "./symbols/plastic.png";
|
||||
import dyesSymbol from "./symbols/dyes.png";
|
||||
import managementSymbol from "./symbols/elfManagement.png";
|
||||
import wrappingPaperSybol from "./symbols/wrappingPaper.png";
|
||||
import wrappingPaperSymbol from "./symbols/wrappingPaper.png";
|
||||
import coal from "./layers/coal";
|
||||
import elves from "./layers/elves";
|
||||
import paper from "./layers/paper";
|
||||
|
@ -288,8 +288,8 @@ export const main = createLayer("main", function (this: BaseLayer) {
|
|||
createDay(() => ({
|
||||
day: 15,
|
||||
shouldNotify: false,
|
||||
layer: "wrappingPaper",
|
||||
symbol: wrappingPaperSybol,
|
||||
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."
|
||||
})),
|
||||
|
|
Loading…
Add table
Reference in a new issue