mirror of
https://github.com/thepaperpilot/Advent-Incremental.git
synced 2024-11-28 11:01:39 +00:00
Wrapping paper effects implemented
This commit is contained in:
parent
27c8d8d6e9
commit
e4f04c750f
13 changed files with 77 additions and 118 deletions
|
@ -36,6 +36,7 @@ import reindeer from "./reindeer";
|
||||||
import trees from "./trees";
|
import trees from "./trees";
|
||||||
import workshop from "./workshop";
|
import workshop from "./workshop";
|
||||||
import wrappingPaper from "./wrapping-paper";
|
import wrappingPaper from "./wrapping-paper";
|
||||||
|
import packing from "./packing";
|
||||||
|
|
||||||
export type BoxesBuyable = ElfBuyable & {
|
export type BoxesBuyable = ElfBuyable & {
|
||||||
resource: Resource;
|
resource: Resource;
|
||||||
|
@ -58,11 +59,17 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
enabled: workshop.milestones.extraExpansionMilestone5.earned
|
enabled: workshop.milestones.extraExpansionMilestone5.earned
|
||||||
})),
|
})),
|
||||||
reindeer.reindeer.vixen.modifier,
|
reindeer.reindeer.vixen.modifier,
|
||||||
|
createMultiplicativeModifier(() => ({
|
||||||
|
multiplier: 1.1,
|
||||||
|
description: "120 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.boxBoost.earned
|
||||||
|
})),
|
||||||
createExponentialModifier(() => ({
|
createExponentialModifier(() => ({
|
||||||
exponent: 1.1,
|
exponent: 1.1,
|
||||||
description: "Bell Level 2",
|
description: "Bell Level 2",
|
||||||
enabled: management.elfTraining.boxElfTraining.milestones[1].earned
|
enabled: management.elfTraining.boxElfTraining.milestones[1].earned
|
||||||
}))
|
})),
|
||||||
|
|
||||||
]) as WithRequired<Modifier, "description" | "revert">;
|
]) as WithRequired<Modifier, "description" | "revert">;
|
||||||
|
|
||||||
const boxesConversion = createCumulativeConversion(() => ({
|
const boxesConversion = createCumulativeConversion(() => ({
|
||||||
|
|
|
@ -40,6 +40,7 @@ import plastic from "./plastic";
|
||||||
import reindeer from "./reindeer";
|
import reindeer from "./reindeer";
|
||||||
import trees from "./trees";
|
import trees from "./trees";
|
||||||
import workshop from "./workshop";
|
import workshop from "./workshop";
|
||||||
|
import packing from "./packing"
|
||||||
|
|
||||||
const id = "cloth";
|
const id = "cloth";
|
||||||
const day = 8;
|
const day = 8;
|
||||||
|
@ -498,6 +499,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
description: "Yellow Dye",
|
description: "Yellow Dye",
|
||||||
enabled: dyes.masteryEffectActive
|
enabled: dyes.masteryEffectActive
|
||||||
})),
|
})),
|
||||||
|
createMultiplicativeModifier(() => ({
|
||||||
|
multiplier: 10,
|
||||||
|
description: "600 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.clothBoost.earned
|
||||||
|
})),
|
||||||
reindeer.reindeer.cupid.modifier
|
reindeer.reindeer.cupid.modifier
|
||||||
]) as WithRequired<Modifier, "description" | "revert">;
|
]) as WithRequired<Modifier, "description" | "revert">;
|
||||||
const computedShearingAmount = computed(() => shearingAmount.apply(1));
|
const computedShearingAmount = computed(() => shearingAmount.apply(1));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import plastic from "./plastic";
|
||||||
import reindeer from "./reindeer";
|
import reindeer from "./reindeer";
|
||||||
import trees from "./trees";
|
import trees from "./trees";
|
||||||
import wrappingPaper from "./wrapping-paper";
|
import wrappingPaper from "./wrapping-paper";
|
||||||
|
import packing from "./packing";
|
||||||
|
|
||||||
interface BetterFertilizerUpgOptions {
|
interface BetterFertilizerUpgOptions {
|
||||||
canAfford: () => boolean;
|
canAfford: () => boolean;
|
||||||
|
@ -237,10 +238,10 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
if (Decimal.gte(v, 100)) v = Decimal.pow(v, 2).div(100);
|
if (Decimal.gte(v, 100)) v = Decimal.pow(v, 2).div(100);
|
||||||
if (Decimal.gte(v, 10000)) v = Decimal.pow(v, 2).div(10000);
|
if (Decimal.gte(v, 10000)) v = Decimal.pow(v, 2).div(10000);
|
||||||
v = Decimal.pow(0.95, paper.books.kilnBook.totalAmount.value).times(v);
|
v = Decimal.pow(0.95, paper.books.kilnBook.totalAmount.value).times(v);
|
||||||
return Decimal.pow(1.1, v).times(1e7);
|
return Decimal.pow(packing.packingMilestones.coalBoost.earned.value ? 1.05 : 1.1, v).times(1e7);
|
||||||
},
|
},
|
||||||
inverseCost(x: DecimalSource) {
|
inverseCost(x: DecimalSource) {
|
||||||
let v = Decimal.div(x, 1e7).log(1.1);
|
let v = Decimal.div(x, 1e7).log(packing.packingMilestones.coalBoost.earned.value ? 1.05 : 1.1);
|
||||||
v = v.div(Decimal.pow(0.95, paper.books.kilnBook.totalAmount.value));
|
v = v.div(Decimal.pow(0.95, paper.books.kilnBook.totalAmount.value));
|
||||||
if (Decimal.gte(v, 10000)) v = Decimal.mul(v, 10000).root(2);
|
if (Decimal.gte(v, 10000)) v = Decimal.mul(v, 10000).root(2);
|
||||||
if (Decimal.gte(v, 100)) v = Decimal.mul(v, 100).root(2);
|
if (Decimal.gte(v, 100)) v = Decimal.mul(v, 100).root(2);
|
||||||
|
@ -299,7 +300,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
if (Decimal.gte(v, 100)) v = Decimal.pow(v, 2).div(100);
|
if (Decimal.gte(v, 100)) v = Decimal.pow(v, 2).div(100);
|
||||||
if (Decimal.gte(v, 10000)) v = Decimal.pow(v, 2).div(10000);
|
if (Decimal.gte(v, 10000)) v = Decimal.pow(v, 2).div(10000);
|
||||||
v = Decimal.pow(0.95, paper.books.coalDrillBook.totalAmount.value).times(v);
|
v = Decimal.pow(0.95, paper.books.coalDrillBook.totalAmount.value).times(v);
|
||||||
let cost = Decimal.pow(1.15, v).times(10);
|
let cost = Decimal.pow(packing.packingMilestones.coalBoost.earned.value ? 1.075 : 1.15, v).times(10);
|
||||||
if (management.elfTraining.fertilizerElfTraining.milestones[2].earned.value) {
|
if (management.elfTraining.fertilizerElfTraining.milestones[2].earned.value) {
|
||||||
cost = cost.div(Decimal.add(trees.totalLogs.value, Math.E).ln());
|
cost = cost.div(Decimal.add(trees.totalLogs.value, Math.E).ln());
|
||||||
}
|
}
|
||||||
|
@ -315,7 +316,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
if (management.elfTraining.fertilizerElfTraining.milestones[2].earned.value) {
|
if (management.elfTraining.fertilizerElfTraining.milestones[2].earned.value) {
|
||||||
x = Decimal.mul(x, Decimal.add(trees.totalLogs.value, Math.E).ln());
|
x = Decimal.mul(x, Decimal.add(trees.totalLogs.value, Math.E).ln());
|
||||||
}
|
}
|
||||||
let v = Decimal.div(x, 10).log(1.15);
|
let v = Decimal.div(x, 10).log(packing.packingMilestones.coalBoost.earned.value ? 1.075 : 1.15);
|
||||||
v = v.div(Decimal.pow(0.95, paper.books.coalDrillBook.totalAmount.value));
|
v = v.div(Decimal.pow(0.95, paper.books.coalDrillBook.totalAmount.value));
|
||||||
if (Decimal.gte(v, 10000)) v = Decimal.mul(v, 10000).root(2);
|
if (Decimal.gte(v, 10000)) v = Decimal.mul(v, 10000).root(2);
|
||||||
if (Decimal.gte(v, 100)) v = Decimal.mul(v, 100).root(2);
|
if (Decimal.gte(v, 100)) v = Decimal.mul(v, 100).root(2);
|
||||||
|
|
|
@ -38,6 +38,7 @@ import trees from "./trees";
|
||||||
import toys from "./toys";
|
import toys from "./toys";
|
||||||
import factory from "./factory";
|
import factory from "./factory";
|
||||||
import reindeer from "./reindeer";
|
import reindeer from "./reindeer";
|
||||||
|
import packing from "./packing"
|
||||||
|
|
||||||
interface Dye {
|
interface Dye {
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -162,20 +163,21 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
multiplier: 2,
|
multiplier: 2,
|
||||||
description: "Wetter Dyes",
|
description: "Wetter Dyes",
|
||||||
enabled: upgrades.yellowDyeUpg.bought
|
enabled: upgrades.yellowDyeUpg.bought
|
||||||
}))
|
})),
|
||||||
);
|
|
||||||
modifiers.push(
|
|
||||||
createMultiplicativeModifier(() => ({
|
createMultiplicativeModifier(() => ({
|
||||||
multiplier: () => Decimal.add(cloth.cloth.value, Math.E).ln(),
|
multiplier: () => Decimal.add(cloth.cloth.value, Math.E).ln(),
|
||||||
description: "Gingersnap Level 1",
|
description: "Gingersnap Level 1",
|
||||||
enabled: management.elfTraining.clothElfTraining.milestones[0].earned
|
enabled: management.elfTraining.clothElfTraining.milestones[0].earned
|
||||||
}))
|
})),
|
||||||
);
|
|
||||||
modifiers.push(
|
|
||||||
createMultiplicativeModifier(() => ({
|
createMultiplicativeModifier(() => ({
|
||||||
multiplier: 2,
|
multiplier: 2,
|
||||||
description: "Carol Level 1",
|
description: "Carol Level 1",
|
||||||
enabled: management.elfTraining.dyeElfTraining.milestones[0].earned
|
enabled: management.elfTraining.dyeElfTraining.milestones[0].earned
|
||||||
|
})),
|
||||||
|
createMultiplicativeModifier(() => ({
|
||||||
|
multiplier: 5,
|
||||||
|
description: "977,000,000 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.primaryDyeBoost.earned
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -708,6 +710,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
Decimal.add(dyes.orange.amount.value, 1)
|
Decimal.add(dyes.orange.amount.value, 1)
|
||||||
.log2()
|
.log2()
|
||||||
.plus(1)
|
.plus(1)
|
||||||
|
.mul(packing.packingMilestones.secondaryDyeBoost.earned.value ? 2 : 1)
|
||||||
.pow(oil.row3Upgrades[1].bought.value ? 2.5 : 1)
|
.pow(oil.row3Upgrades[1].bought.value ? 2.5 : 1)
|
||||||
),
|
),
|
||||||
green1: computed(() =>
|
green1: computed(() =>
|
||||||
|
@ -719,6 +722,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
Decimal.add(dyes.green.amount.value, 1)
|
Decimal.add(dyes.green.amount.value, 1)
|
||||||
.log2()
|
.log2()
|
||||||
.plus(1)
|
.plus(1)
|
||||||
|
.mul(packing.packingMilestones.secondaryDyeBoost.earned.value ? 2 : 1)
|
||||||
.pow(upgrades.coalUpg.bought.value ? 2 : 1)
|
.pow(upgrades.coalUpg.bought.value ? 2 : 1)
|
||||||
),
|
),
|
||||||
purple1: computed(() =>
|
purple1: computed(() =>
|
||||||
|
@ -726,7 +730,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
.pow(upgrades.coalUpg.bought.value ? 1.2 : 1)
|
.pow(upgrades.coalUpg.bought.value ? 1.2 : 1)
|
||||||
.pow(management.elfTraining.clothElfTraining.milestones[3].earned.value ? 1.1 : 1)
|
.pow(management.elfTraining.clothElfTraining.milestones[3].earned.value ? 1.1 : 1)
|
||||||
),
|
),
|
||||||
purple2: computed(() => Decimal.add(dyes.purple.amount.value, 1).log2().plus(1)),
|
purple2: computed(() => Decimal.add(dyes.purple.amount.value, 1).log2().plus(1).mul(packing.packingMilestones.secondaryDyeBoost.earned.value ? 2 : 1)),
|
||||||
black1: computed(() =>
|
black1: computed(() =>
|
||||||
Decimal.pow(2, Decimal.add(dyes.black.amount.value, 1).log2().sqrt())
|
Decimal.pow(2, Decimal.add(dyes.black.amount.value, 1).log2().sqrt())
|
||||||
.pow(upgrades.coalUpg.bought.value ? 1.2 : 1)
|
.pow(upgrades.coalUpg.bought.value ? 1.2 : 1)
|
||||||
|
|
|
@ -757,7 +757,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
onPurchase() {
|
onPurchase() {
|
||||||
options.onPurchase?.();
|
options.onPurchase?.();
|
||||||
if (
|
if (
|
||||||
!["Peppermint", "Twinkle", "Cocoa", "Frosty", "Carol"].includes(
|
!["Peppermint", "Twinkle", "Cocoa", "Frosty", "Carol", "Jingle"].includes(
|
||||||
options.name
|
options.name
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
|
|
@ -39,6 +39,7 @@ import wrappingPaper from "./wrapping-paper";
|
||||||
import toys from "./toys";
|
import toys from "./toys";
|
||||||
import reindeer from "./reindeer";
|
import reindeer from "./reindeer";
|
||||||
import sleigh from "./sleigh";
|
import sleigh from "./sleigh";
|
||||||
|
import packing from "./packing"
|
||||||
|
|
||||||
const id = "metal";
|
const id = "metal";
|
||||||
const day = 7;
|
const day = 7;
|
||||||
|
@ -117,6 +118,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
exponent: 1.2,
|
exponent: 1.2,
|
||||||
description: "100% Sleigh Fixed",
|
description: "100% Sleigh Fixed",
|
||||||
enabled: sleigh.milestones.milestone8.earned
|
enabled: sleigh.milestones.milestone8.earned
|
||||||
|
})),
|
||||||
|
createExponentialModifier(() => ({
|
||||||
|
exponent: 1.5,
|
||||||
|
description: "69,200 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.metalBoost.earned
|
||||||
}))
|
}))
|
||||||
]);
|
]);
|
||||||
const computedOrePurity = computed(() => orePurity.apply(0.1));
|
const computedOrePurity = computed(() => orePurity.apply(0.1));
|
||||||
|
@ -375,6 +381,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
})),
|
})),
|
||||||
createMultiplicativeModifier(() => ({
|
createMultiplicativeModifier(() => ({
|
||||||
multiplier: computedOreSpeed
|
multiplier: computedOreSpeed
|
||||||
|
})),
|
||||||
|
createMultiplicativeModifier(() => ({
|
||||||
|
multiplier: computedOreSpeed,
|
||||||
|
description: "1,670,000 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.oreBoost.earned
|
||||||
}))
|
}))
|
||||||
]);
|
]);
|
||||||
const computedOreGain = computed(() => oreGain.apply(0));
|
const computedOreGain = computed(() => oreGain.apply(0));
|
||||||
|
|
|
@ -44,6 +44,7 @@ import { ElfBuyable } from "./elves";
|
||||||
import toys from "./toys";
|
import toys from "./toys";
|
||||||
import factory from "./factory";
|
import factory from "./factory";
|
||||||
import reindeer from "./reindeer";
|
import reindeer from "./reindeer";
|
||||||
|
import packing from "./packing"
|
||||||
|
|
||||||
const id = "oil";
|
const id = "oil";
|
||||||
const day = 9;
|
const day = 9;
|
||||||
|
@ -923,6 +924,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
description: "Red Dye",
|
description: "Red Dye",
|
||||||
enabled: dyes.masteryEffectActive
|
enabled: dyes.masteryEffectActive
|
||||||
})),
|
})),
|
||||||
|
createMultiplicativeModifier(() => ({
|
||||||
|
multiplier: 3,
|
||||||
|
description: "2,800 Presents Packaged",
|
||||||
|
enabled: packing.packingMilestones.oilBoost.earned
|
||||||
|
})),
|
||||||
createExponentialModifier(() => ({
|
createExponentialModifier(() => ({
|
||||||
exponent: 1.2,
|
exponent: 1.2,
|
||||||
description: "Diamond-tipped drills",
|
description: "Diamond-tipped drills",
|
||||||
|
|
|
@ -219,7 +219,10 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
resource: totalPresentsResource,
|
resource: totalPresentsResource,
|
||||||
style: {
|
style: {
|
||||||
width: "200px"
|
width: "200px"
|
||||||
}
|
}/*,
|
||||||
|
onPurchase () {
|
||||||
|
main.days[3].recentlyUpdated.value = true;
|
||||||
|
}*/
|
||||||
})),
|
})),
|
||||||
loaderUnlock: createUpgrade(() => ({
|
loaderUnlock: createUpgrade(() => ({
|
||||||
display: {
|
display: {
|
||||||
|
@ -245,7 +248,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
boxBoost: createMilestone(() => ({
|
boxBoost: createMilestone(() => ({
|
||||||
display: {
|
display: {
|
||||||
requirement: `120 ${packedPresents.displayName}`,
|
requirement: `120 ${packedPresents.displayName}`,
|
||||||
effectDisplay: "Boxes are 10% bigger"
|
effectDisplay: "Create 10% more boxes"
|
||||||
},
|
},
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 120),
|
shouldEarn: () => Decimal.gte(packedPresents.value, 120),
|
||||||
visibility: () => showIf(packingMilestones.logBoost.earned.value)
|
visibility: () => showIf(packingMilestones.logBoost.earned.value)
|
||||||
|
@ -301,7 +304,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
ribbonBoost: createMilestone(() => ({
|
ribbonBoost: createMilestone(() => ({
|
||||||
display: {
|
display: {
|
||||||
requirement: `8,230,000 ${packedPresents.displayName}`,
|
requirement: `8,230,000 ${packedPresents.displayName}`,
|
||||||
effectDisplay: "Ribbons are 90% cheaper"
|
effectDisplay: "Halve ribbon cost"
|
||||||
},
|
},
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 8230000),
|
shouldEarn: () => Decimal.gte(packedPresents.value, 8230000),
|
||||||
visibility: () => showIf(packingMilestones.oreBoost.earned.value)
|
visibility: () => showIf(packingMilestones.oreBoost.earned.value)
|
||||||
|
@ -330,102 +333,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 977000000),
|
shouldEarn: () => Decimal.gte(packedPresents.value, 977000000),
|
||||||
visibility: () => showIf(packingMilestones.paperBoost.earned.value)
|
visibility: () => showIf(packingMilestones.paperBoost.earned.value)
|
||||||
})),
|
})),
|
||||||
wrappingPaperBoost2: createMilestone(() => ({
|
// todo: something
|
||||||
display: {
|
|
||||||
requirement: `664,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Double the strength of wrapping paper bonuses, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 664000) && packingResets.value >= 1,
|
|
||||||
visibility: () => showIf(packingResets.value >= 1)
|
|
||||||
})),
|
|
||||||
coalBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `6,360,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Coal producers grow half as fast, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 6360000) && packingResets.value >= 1,
|
|
||||||
visibility: () => showIf(packingMilestones.wrappingPaperBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
oreBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `60,900,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Ore mining speed multiplies ore gain, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 60900000) && packingResets.value >= 1,
|
|
||||||
visibility: () => showIf(packingMilestones.coalBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
primaryDyeBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `584,000,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Quintuple primary dye gain, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 584000000) && packingResets.value >= 1,
|
|
||||||
visibility: () => showIf(packingMilestones.oreBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
ribbonBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `734,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Ribbons are 90% cheaper, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 734000) && packingResets.value >= 2,
|
|
||||||
visibility: () => showIf(packingMilestones.primaryDyeBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
boxesBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `7,200,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Boxes are 10% bigger, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 7200000) && packingResets.value >= 2,
|
|
||||||
visibility: () => showIf(packingMilestones.ribbonBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
secondaryDyeBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `70,700,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Double the second effect of each secondary dye, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 70700000) && packingResets.value >= 2,
|
|
||||||
visibility: () => showIf(packingMilestones.boxesBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
paperBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `693,000,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Produce another 10x as much paper"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 693000000) && packingResets.value >= 2,
|
|
||||||
visibility: () => showIf(packingMilestones.secondaryDyeBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
oilBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `820,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Triple drill power, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 820000) && packingResets.value >= 3,
|
|
||||||
visibility: () => showIf(packingMilestones.paperBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
clothBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `8,150,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Sheep grow 10x as much wool, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 8150000) && packingResets.value >= 3,
|
|
||||||
visibility: () => showIf(packingMilestones.oilBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
logsBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `81,000,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Raise tree size to the 1.25th power, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 81000000) && packingResets.value >= 3,
|
|
||||||
visibility: () => showIf(packingMilestones.clothBoost2.earned.value)
|
|
||||||
})),
|
|
||||||
metalBoost2: createMilestone(() => ({
|
|
||||||
display: {
|
|
||||||
requirement: `800,000,000 ${packedPresents.displayName}`,
|
|
||||||
effectDisplay: "Raise ore purity to the 1.5th power, again"
|
|
||||||
},
|
|
||||||
shouldEarn: () => Decimal.gte(packedPresents.value, 800000000) && packingResets.value >= 3,
|
|
||||||
visibility: () => showIf(packingMilestones.logsBoost2.earned.value)
|
|
||||||
}))
|
|
||||||
};
|
};
|
||||||
const { collapseMilestones, display: milestonesDisplay } =
|
const { collapseMilestones, display: milestonesDisplay } =
|
||||||
createCollapsibleMilestones(packingMilestones);
|
createCollapsibleMilestones(packingMilestones);
|
||||||
|
|
|
@ -439,6 +439,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
description: "Sunshine Wrapping Paper",
|
description: "Sunshine Wrapping Paper",
|
||||||
enabled: () => Decimal.gte(wrappingPaper.boosts.sunshine1.value, 2)
|
enabled: () => Decimal.gte(wrappingPaper.boosts.sunshine1.value, 2)
|
||||||
})),
|
})),
|
||||||
|
createMultiplicativeModifier(() => ({
|
||||||
|
multiplier: 10,
|
||||||
|
description: "199,000,000 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.paperBoost.earned
|
||||||
|
})),
|
||||||
reindeer.reindeer.prancer.modifier
|
reindeer.reindeer.prancer.modifier
|
||||||
]) as WithRequired<Modifier, "description" | "revert">;
|
]) as WithRequired<Modifier, "description" | "revert">;
|
||||||
const ashCost = createSequentialModifier(() => [
|
const ashCost = createSequentialModifier(() => [
|
||||||
|
|
|
@ -22,6 +22,7 @@ import { main } from "../projEntry";
|
||||||
import cloth from "./cloth";
|
import cloth from "./cloth";
|
||||||
import dyes from "./dyes";
|
import dyes from "./dyes";
|
||||||
import elves from "./elves";
|
import elves from "./elves";
|
||||||
|
import packing from "./packing"
|
||||||
|
|
||||||
const id = "ribbon";
|
const id = "ribbon";
|
||||||
const day = 16;
|
const day = 16;
|
||||||
|
@ -38,7 +39,7 @@ const layer = createLayer(id, () => {
|
||||||
[dyes.dyes.orange, dyes.dyes.green, dyes.dyes.purple].includes(currentDyeType.value)
|
[dyes.dyes.orange, dyes.dyes.green, dyes.dyes.purple].includes(currentDyeType.value)
|
||||||
? 2e6
|
? 2e6
|
||||||
: 1e13
|
: 1e13
|
||||||
)
|
).mul(packing.packingMilestones.ribbonBoost.earned.value ? 0.5 : 1)
|
||||||
);
|
);
|
||||||
const currentDyeType = computed(
|
const currentDyeType = computed(
|
||||||
() =>
|
() =>
|
||||||
|
|
|
@ -674,6 +674,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
if (Decimal.lt(main.day.value, day)) {
|
if (Decimal.lt(main.day.value, day)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (citiesCompleted.value >= 100) return;
|
||||||
|
|
||||||
if (Decimal.gte(newCityProgress.value, 10)) {
|
if (Decimal.gte(newCityProgress.value, 10)) {
|
||||||
newCityProgress.value = 10;
|
newCityProgress.value = 10;
|
||||||
|
|
|
@ -42,6 +42,7 @@ import toys from "./toys";
|
||||||
import factory from "./factory";
|
import factory from "./factory";
|
||||||
import reindeer from "./reindeer";
|
import reindeer from "./reindeer";
|
||||||
import sleigh from "./sleigh";
|
import sleigh from "./sleigh";
|
||||||
|
import packing from "./packing";
|
||||||
const id = "trees";
|
const id = "trees";
|
||||||
const day = 1;
|
const day = 1;
|
||||||
|
|
||||||
|
@ -579,6 +580,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
|
||||||
exponent: 1.05,
|
exponent: 1.05,
|
||||||
description: "Un-Processing",
|
description: "Un-Processing",
|
||||||
enabled: paper.upgrades2.treeUpgrade.bought
|
enabled: paper.upgrades2.treeUpgrade.bought
|
||||||
|
})),
|
||||||
|
createExponentialModifier(() => ({
|
||||||
|
exponent: 1.25,
|
||||||
|
description: "25 Presents Packed",
|
||||||
|
enabled: packing.packingMilestones.logBoost.earned
|
||||||
}))
|
}))
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ import { main } from "../projEntry";
|
||||||
import { default as dyes, type enumColor } from "./dyes";
|
import { default as dyes, type enumColor } from "./dyes";
|
||||||
import elves from "./elves";
|
import elves from "./elves";
|
||||||
import toys from "./toys";
|
import toys from "./toys";
|
||||||
|
import packing from "./packing"
|
||||||
|
|
||||||
const id = "wrappingPaper";
|
const id = "wrappingPaper";
|
||||||
const day = 15;
|
const day = 15;
|
||||||
|
@ -259,21 +260,22 @@ const layer = createLayer(id, () => {
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
const packingBoost = computed(() => packing.packingMilestones.wrappingPaperBoost.earned.value ? 2 : 1)
|
||||||
const boosts = {
|
const boosts = {
|
||||||
christmas1: computed(() =>
|
christmas1: computed(() =>
|
||||||
main.isMastery.value ? 1 : Decimal.add(wrappingPaper.christmas.buyable.amount.value, 1)
|
main.isMastery.value ? 1 : Decimal.add(wrappingPaper.christmas.buyable.amount.value, 1).mul(packingBoost.value)
|
||||||
), // Probably not the best way to do this, but it works
|
), // Probably not the best way to do this, but it works
|
||||||
rainbow1: computed(() =>
|
rainbow1: computed(() =>
|
||||||
main.isMastery.value ? 1 : Decimal.pow(2, wrappingPaper.rainbow.buyable.amount.value)
|
main.isMastery.value ? 1 : Decimal.pow(2, wrappingPaper.rainbow.buyable.amount.value).mul(packingBoost.value)
|
||||||
),
|
),
|
||||||
jazzy1: computed(() =>
|
jazzy1: computed(() =>
|
||||||
main.isMastery.value ? 1 : Decimal.add(wrappingPaper.jazzy.buyable.amount.value, 1)
|
main.isMastery.value ? 1 : Decimal.add(wrappingPaper.jazzy.buyable.amount.value, 1).mul(packingBoost.value)
|
||||||
),
|
),
|
||||||
sunshine1: computed(() =>
|
sunshine1: computed(() =>
|
||||||
main.isMastery.value ? 1 : Decimal.add(wrappingPaper.sunshine.buyable.amount.value, 1)
|
main.isMastery.value ? 1 : Decimal.add(wrappingPaper.sunshine.buyable.amount.value, 1).mul(packingBoost.value)
|
||||||
),
|
),
|
||||||
ocean1: computed(() =>
|
ocean1: computed(() =>
|
||||||
main.isMastery.value ? 1 : Decimal.pow(1.5, wrappingPaper.ocean.buyable.amount.value)
|
main.isMastery.value ? 1 : Decimal.pow(1.5, wrappingPaper.ocean.buyable.amount.value).mul(packingBoost.value)
|
||||||
),
|
),
|
||||||
beach1: computed(() =>
|
beach1: computed(() =>
|
||||||
main.isMastery.value
|
main.isMastery.value
|
||||||
|
@ -281,6 +283,7 @@ const layer = createLayer(id, () => {
|
||||||
: Decimal.add(wrappingPaper.beach.buyable.amount.value, 1)
|
: Decimal.add(wrappingPaper.beach.buyable.amount.value, 1)
|
||||||
.log10()
|
.log10()
|
||||||
.add(1)
|
.add(1)
|
||||||
|
.mul(packingBoost.value)
|
||||||
.pow(toys.milestones.milestone3.earned.value ? 1.6 : 1)
|
.pow(toys.milestones.milestone3.earned.value ? 1.6 : 1)
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue