mirror of
https://github.com/thepaperpilot/Advent-Incremental.git
synced 2025-02-16 09:31:43 +00:00
Implemented gingersnap lv1-3
Plus some cleanup
This commit is contained in:
parent
c6c6ff0947
commit
661cda21cb
3 changed files with 79 additions and 30 deletions
|
@ -28,6 +28,7 @@ import { formatWhole } from "util/break_eternity";
|
|||
import { Direction } from "util/common";
|
||||
import { render, renderCol, renderRow } from "util/vue";
|
||||
import { computed, ref } from "vue";
|
||||
import dyes from "./dyes";
|
||||
import management from "./management";
|
||||
import metal from "./metal";
|
||||
import paper from "./paper";
|
||||
|
@ -330,6 +331,9 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
}));
|
||||
const paperUpgrades = { paperUpgrade4, paperUpgrade3, paperUpgrade2, paperUpgrade1 };
|
||||
|
||||
const hollyEffect = computed(() => Decimal.add(trees.computedAutoCuttingAmount.value, 1).log10().add(1));
|
||||
const gingersnapEffect = computed(() => Decimal.add(dyes.dyeSum.value, 10).log10());
|
||||
|
||||
const sheepGain = createSequentialModifier(() => [
|
||||
createAdditiveModifier(() => ({
|
||||
addend: buildPens.amount,
|
||||
|
@ -344,6 +348,16 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
multiplier: 2,
|
||||
description: "Shepherding for Dummies",
|
||||
enabled: paper.upgrades.clothUpgrade.bought
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: hollyEffect,
|
||||
description: "Holly Level 3",
|
||||
enabled: management.elfTraining.cutterElfTraining.milestones[2].earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: gingersnapEffect,
|
||||
description: "Gingersnap Level 2",
|
||||
enabled: management.elfTraining.clothElfTraining.milestones[1].earned
|
||||
}))
|
||||
]);
|
||||
const computedSheepGain = computed(() => sheepGain.apply(1));
|
||||
|
@ -366,9 +380,14 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
enabled: paper.upgrades.clothUpgrade.bought
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: () => Decimal.add(trees.computedAutoCuttingAmount.value, 1).log10().add(1),
|
||||
multiplier: hollyEffect,
|
||||
description: "Holly Level 3",
|
||||
enabled: management.elfTraining.cutterElfTraining.milestones[2].earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: gingersnapEffect,
|
||||
description: "Gingersnap Level 2",
|
||||
enabled: management.elfTraining.clothElfTraining.milestones[1].earned
|
||||
}))
|
||||
]);
|
||||
const computedShearingAmount = computed(() => shearingAmount.apply(1));
|
||||
|
@ -391,9 +410,14 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
enabled: paper.upgrades.clothUpgrade.bought
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: () => Decimal.add(trees.computedAutoCuttingAmount.value, 1).log10().add(1),
|
||||
multiplier: hollyEffect,
|
||||
description: "Holly Level 3",
|
||||
enabled: management.elfTraining.cutterElfTraining.milestones[2].earned
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: gingersnapEffect,
|
||||
description: "Gingersnap Level 2",
|
||||
enabled: management.elfTraining.clothElfTraining.milestones[1].earned
|
||||
}))
|
||||
]);
|
||||
const computedSpinningAmount = computed(() => spinningAmount.apply(1));
|
||||
|
|
|
@ -24,7 +24,9 @@ import { WithRequired } from "util/common";
|
|||
import { Computable, convertComputable } from "util/computed";
|
||||
import { render, renderCol, renderRow } from "util/vue";
|
||||
import { computed, ComputedRef, ref, Ref, unref } from "vue";
|
||||
import cloth from "./cloth";
|
||||
import coal from "./coal";
|
||||
import management from "./management";
|
||||
import oil from "./oil";
|
||||
import trees from "./trees";
|
||||
|
||||
|
@ -76,34 +78,51 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
|||
): Dye {
|
||||
const amount = createResource<DecimalSource>(0, options.name);
|
||||
|
||||
const toGenerate = createSequentialModifier(() => [
|
||||
createAdditiveModifier(() => ({
|
||||
addend: () => Decimal.add(buyable.amount.value, 1),
|
||||
description: `${options.name} Chambers`
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: boosts.orange1,
|
||||
description: "Orange Dye Boost 1",
|
||||
enabled: options.color == "red" || options.color == "yellow"
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: boosts.green1,
|
||||
description: "Green Dye Boost 1",
|
||||
enabled: options.color == "yellow" || options.color == "blue"
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
multiplier: boosts.purple1,
|
||||
description: "Purple Dye Boost 1",
|
||||
enabled: options.color == "red" || options.color == "blue"
|
||||
})),
|
||||
createMultiplicativeModifier(() => ({
|
||||
const toGenerate = createSequentialModifier(() => {
|
||||
const modifiers = [
|
||||
createAdditiveModifier(() => ({
|
||||
addend: () => Decimal.add(buyable.amount.value, 1),
|
||||
description: `${options.name} Chambers`
|
||||
}))
|
||||
];
|
||||
if (options.color === "red" || options.color === "yellow") {
|
||||
modifiers.push(createMultiplicativeModifier(() => ({
|
||||
multiplier: boosts.orange1,
|
||||
description: "Orange Dye Boost 1"
|
||||
})));
|
||||
}
|
||||
if (options.color == "yellow" || options.color == "blue") {
|
||||
modifiers.push(createMultiplicativeModifier(() => ({
|
||||
multiplier: boosts.green1,
|
||||
description: "Green Dye Boost 1"
|
||||
})));
|
||||
}
|
||||
if (options.color == "red" || options.color == "blue") {
|
||||
modifiers.push(createMultiplicativeModifier(() => ({
|
||||
multiplier: boosts.purple1,
|
||||
description: "Purple Dye Boost 1"
|
||||
})));
|
||||
}
|
||||
if (options.color == "red" || options.color == "yellow" || options.color == "blue") {
|
||||
modifiers.push(createMultiplicativeModifier(() => ({
|
||||
multiplier: 2,
|
||||
description: "Wetter Dyes",
|
||||
enabled: upgrades.yellowDyeUpg.bought
|
||||
})));
|
||||
modifiers.push(createMultiplicativeModifier(() => ({
|
||||
// adding e, which apparently isn't a constant
|
||||
multiplier: () => Decimal.add(cloth.cloth.value, 2.718281828459).ln(),
|
||||
description: "Gingersnap Level 1",
|
||||
enabled: management.elfTraining.clothElfTraining.milestones[0].earned
|
||||
})));
|
||||
}
|
||||
modifiers.push(createMultiplicativeModifier(() => ({
|
||||
multiplier: 2,
|
||||
description: "Wetter Dyes",
|
||||
enabled: () =>
|
||||
upgrades.yellowDyeUpg.bought.value &&
|
||||
(options.color == "red" || options.color == "yellow" || options.color == "blue")
|
||||
}))
|
||||
]) as WithRequired<Modifier, "description" | "revert">;
|
||||
description: "Gingersnap Level 3",
|
||||
enabled: management.elfTraining.clothElfTraining.milestones[2].earned
|
||||
})))
|
||||
return modifiers;
|
||||
}) as WithRequired<Modifier, "description" | "revert">;
|
||||
const computedToGenerate = computed(() => toGenerate.apply(0));
|
||||
|
||||
const buyable: GenericBuyable = createBuyable(() => {
|
||||
|
|
|
@ -664,7 +664,13 @@ const layer = createLayer(id, () => {
|
|||
effectDisplay: "Double all dye colors and cloth actions, but reset all dyes."
|
||||
},
|
||||
visibility: () => showIf(clothElfMilestones[1].earned.value),
|
||||
shouldEarn: () => clothElfTraining.level.value >= 3
|
||||
shouldEarn: () => clothElfTraining.level.value >= 3,
|
||||
onComplete() {
|
||||
(["red", "yellow", "blue", "orange", "green", "purple"] as const).forEach(dyeColor => {
|
||||
dyes.dyes[dyeColor].amount.value = 0;
|
||||
dyes.dyes[dyeColor].buyable.amount.value = 0;
|
||||
});
|
||||
}
|
||||
})),
|
||||
createMilestone(() => ({
|
||||
display: {
|
||||
|
|
Loading…
Add table
Reference in a new issue