diff --git a/src/data/layers/sleigh.tsx b/src/data/layers/sleigh.tsx index 925774b..93247e9 100644 --- a/src/data/layers/sleigh.tsx +++ b/src/data/layers/sleigh.tsx @@ -43,23 +43,22 @@ const layer = createLayer(id, function (this: BaseLayer) { const sleighCost = computed(() => { let v = sleighProgress.value.value; return { - wood: Decimal.mul(1e100, Decimal.pow(1.2, v)), - metal: Decimal.mul(1e60, Decimal.pow(1.1, v)), - plastic: Decimal.mul(1e20, Decimal.pow(1.05, v)) + wood: Decimal.mul(1e60, Decimal.pow(1.2, v)), + metal: Decimal.mul(1e40, Decimal.pow(1.1, v)), + plastic: Decimal.mul(1e10, Decimal.pow(1.05, v)) }; }); const sleigh = createBuyable(() => ({ display: jsx(() => ( <> -

Fix the sleigh

-
- Increase sleigh fixed by 1% -
-
- Costs {displayCost(trees.logs, sleighCost.value.wood, "logs")}, + Fix 1% of the sleigh +
+
+ + Cost: {displayCost(trees.logs, sleighCost.value.wood, "logs")}, {displayCost(metal.metal, sleighCost.value.metal, "metal")}, {displayCost(plastic.plastic, sleighCost.value.plastic, "plastic")} -
+ )), canPurchase(): boolean { @@ -85,8 +84,71 @@ const layer = createLayer(id, function (this: BaseLayer) { shouldEarn: () => Decimal.gte(sleighProgress.value.value, 1), showPopups: shouldShowPopups })); + const milestone2 = createMilestone(() => ({ + display: { + requirement: "10% Sleigh Fixed", + effectDisplay: "Gain an additional 5% more wood for each 5% of sleigh fixed" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 10), + showPopups: shouldShowPopups + })); + const milestone3 = createMilestone(() => ({ + display: { + requirement: "20% Sleigh Fixed", + effectDisplay: "Gain an additional 5% more plastic for each 5% of sleigh fixed" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 20), + showPopups: shouldShowPopups + })); + const milestone4 = createMilestone(() => ({ + display: { + requirement: "30% Sleigh Fixed", + effectDisplay: "All automatic metal actions are doubled" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 30), + showPopups: shouldShowPopups + })); + const milestone5 = createMilestone(() => ({ + display: { + requirement: "40% Sleigh Fixed", + effectDisplay: "Plastic gain is doubled" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 40), + showPopups: shouldShowPopups + })); + const milestone6 = createMilestone(() => ({ + display: { + requirement: "50% Sleigh Fixed", + effectDisplay: "Trees give 10x as many logs" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 50), + showPopups: shouldShowPopups + })); + const milestone7 = createMilestone(() => ({ + display: { + requirement: "75% Sleigh Fixed", + effectDisplay: "Gain 10 extra refineries for every 2% of sleigh fixed" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 75), + showPopups: shouldShowPopups + })); + const milestone8 = createMilestone(() => ({ + display: { + requirement: "100% Sleigh Fixed", + effectDisplay: "Metal per ore is raised to the 1.2th power" + }, + shouldEarn: () => Decimal.gte(sleighProgress.value.value, 100), + showPopups: shouldShowPopups + })); const milestones = { - milestone1 + milestone1, + milestone2, + milestone3, + milestone4, + milestone5, + milestone6, + milestone7, + milestone8 }; const { collapseMilestones, display: milestonesDisplay } = createCollapsibleMilestones(milestones);