Add DAB perk (#3426)

* Added DAB perk

* Adjust perk layout

default and android

* Adjust edge width for visibility

* Adjust perk layout

square

* Adjust perk layout

horizontal

* Adjust perk layout

distance from start

* Adjust perk layout

blob!

* Adjust perk layout

swapped IDR and REPAS for default

---------

Co-authored-by: Hirame1 <56225774+Hirame1@users.noreply.github.com>
This commit is contained in:
kajfik 2024-05-02 15:17:52 +02:00 committed by GitHub
parent c6481157ab
commit 2fa8abed94
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 70 additions and 51 deletions

View File

@ -250,7 +250,7 @@ export const PerkNetwork = {
shadow: true shadow: true
}, },
edges: { edges: {
width: 2, width: 4,
shadow: true, shadow: true,
hoverWidth: width => width, hoverWidth: width => width,
selectionWidth: width => width, selectionWidth: width => width,

View File

@ -24,7 +24,7 @@ export class DilationUpgradeAutobuyerState extends IntervaledAutobuyerState {
} }
get bulk() { get bulk() {
return PerkShopUpgrade.bulkDilation.effectOrDefault(1); return Effects.product(PerkShopUpgrade.bulkDilation, Perk.dilationAutobuyerBulk);
} }
tick() { tick() {

View File

@ -359,7 +359,7 @@ window.player = {
previousRuns: {} previousRuns: {}
}, },
IPMultPurchases: 0, IPMultPurchases: 0,
version: 24, version: 25,
infinityPower: DC.D1, infinityPower: DC.D1,
postC4Tier: 0, postC4Tier: 0,
eternityPoints: DC.D0, eternityPoints: DC.D0,

View File

@ -39,7 +39,7 @@ export const perks = {
and allow you to choose from ${formatInt(4)} different Glyphs on Reality.`; and allow you to choose from ${formatInt(4)} different Glyphs on Reality.`;
}, },
effect: 4, effect: 4,
layoutPosList: [80200, 80200, 80200, 80200, 80188, 67769], layoutPosList: [76596, 80200, 80600, 80200, 80188, 67769],
}, },
startAM: { startAM: {
id: 10, id: 10,
@ -50,7 +50,7 @@ export const perks = {
}, },
bumpCurrency: () => Currency.antimatter.bumpTo(5e130), bumpCurrency: () => Currency.antimatter.bumpTo(5e130),
effect: 5e130, effect: 5e130,
layoutPosList: [80162, 80600, 80199, 80600, 81391, 75745], layoutPosList: [76559, 80600, 80199, 80600, 82191, 75745],
}, },
startIP1: { startIP1: {
id: 12, id: 12,
@ -61,7 +61,7 @@ export const perks = {
}, },
bumpCurrency: () => Currency.infinityPoints.bumpTo(5e15), bumpCurrency: () => Currency.infinityPoints.bumpTo(5e15),
effect: 5e15, effect: 5e15,
layoutPosList: [78925, 80599, 79798, 80599, 82194, 91322], layoutPosList: [74523, 80599, 79798, 80599, 82594, 91322],
}, },
startIP2: { startIP2: {
id: 13, id: 13,
@ -72,7 +72,7 @@ export const perks = {
}, },
bumpCurrency: () => Currency.infinityPoints.bumpTo(5e130), bumpCurrency: () => Currency.infinityPoints.bumpTo(5e130),
effect: 5e130, effect: 5e130,
layoutPosList: [66111, 80598, 80198, 80998, 82197, 91690], layoutPosList: [62111, 80598, 79797, 80998, 82597, 91690],
}, },
startEP1: { startEP1: {
id: 14, id: 14,
@ -85,7 +85,7 @@ export const perks = {
effect: 10, effect: 10,
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => `Start with ${formatInt(10)} EP`, shortDescription: () => `Start with ${formatInt(10)} EP`,
layoutPosList: [93317, 80999, 79398, 80598, 81397, 103734], layoutPosList: [88915, 80999, 79398, 80598, 82197, 103734],
}, },
startEP2: { startEP2: {
id: 15, id: 15,
@ -96,7 +96,7 @@ export const perks = {
}, },
bumpCurrency: () => Currency.eternityPoints.bumpTo(5000), bumpCurrency: () => Currency.eternityPoints.bumpTo(5000),
effect: 5000, effect: 5000,
layoutPosList: [96487, 81398, 78998, 80597, 81800, 102193], layoutPosList: [92484, 81398, 78998, 80597, 82200, 102193],
}, },
startEP3: { startEP3: {
id: 16, id: 16,
@ -109,7 +109,7 @@ export const perks = {
effect: 5e9, effect: 5e9,
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => `Start with ${format(5e9)} EP`, shortDescription: () => `Start with ${format(5e9)} EP`,
layoutPosList: [99260, 81798, 78997, 80996, 81803, 106247], layoutPosList: [96459, 81798, 78997, 80596, 82203, 106224],
}, },
startTP: { startTP: {
id: 17, id: 17,
@ -121,7 +121,7 @@ export const perks = {
effect: () => (Enslaved.isRunning ? 1 : 10), effect: () => (Enslaved.isRunning ? 1 : 10),
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => `Start with ${formatInt(10)} TP`, shortDescription: () => `Start with ${formatInt(10)} TP`,
layoutPosList: [106923, 81399, 79399, 80198, 81400, 109376], layoutPosList: [102120, 81399, 79399, 80197, 81800, 109376],
}, },
antimatterNoReset: { antimatterNoReset: {
id: 30, id: 30,
@ -129,7 +129,7 @@ export const perks = {
family: PERK_FAMILY.ANTIMATTER, family: PERK_FAMILY.ANTIMATTER,
description: `Dimension Boosts and Antimatter Galaxies no longer reset description: `Dimension Boosts and Antimatter Galaxies no longer reset
Antimatter, Antimatter Dimensions, Tickspeed, or Dimensional Sacrifice.`, Antimatter, Antimatter Dimensions, Tickspeed, or Dimensional Sacrifice.`,
layoutPosList: [89745, 81000, 79799, 80199, 81394, 92553], layoutPosList: [85343, 81000, 79799, 80199, 82194, 92553],
}, },
studyPassive: { studyPassive: {
id: 31, id: 31,
@ -140,14 +140,14 @@ export const perks = {
Time Study 142 to ${formatX(DC.E50)} Infinity Points. Time Study 142 to ${formatX(DC.E50)} Infinity Points.
${Pelle.isDoomed ? "" : `In addition, Time Study 132 also makes Replicanti ${format(3)} times faster.`}`; ${Pelle.isDoomed ? "" : `In addition, Time Study 132 also makes Replicanti ${format(3)} times faster.`}`;
}, },
layoutPosList: [69860, 79400, 81000, 80202, 78594, 52589], layoutPosList: [67054, 79400, 80999, 80202, 78594, 52589],
}, },
autounlockEU1: { autounlockEU1: {
id: 40, id: 40,
label: "EU1", label: "EU1",
family: PERK_FAMILY.ETERNITY, family: PERK_FAMILY.ETERNITY,
description: `Automatically unlock the first row of Eternity Upgrades for free once you have Eternities.`, description: `Automatically unlock the first row of Eternity Upgrades for free once you have Eternities.`,
layoutPosList: [92210, 80601, 80201, 79800, 80591, 73007], layoutPosList: [89407, 80601, 80201, 79800, 80591, 73007],
}, },
autounlockEU2: { autounlockEU2: {
id: 41, id: 41,
@ -157,21 +157,21 @@ export const perks = {
return `The second row of Eternity Upgrades is automatically purchased return `The second row of Eternity Upgrades is automatically purchased
at ${formatX(1e10)} times less than their original price.`; at ${formatX(1e10)} times less than their original price.`;
}, },
layoutPosList: [106210, 81001, 80202, 79400, 80594, 81867], layoutPosList: [103008, 81001, 80202, 79400, 80594, 81867],
}, },
autounlockDilation1: { autounlockDilation1: {
id: 42, id: 42,
label: "DU1", label: "DU1",
family: PERK_FAMILY.DILATION, family: PERK_FAMILY.DILATION,
description: "After unlocking Dilation, automatically unlock the second row of Dilation Upgrades for free.", description: "After unlocking Dilation, automatically unlock the second row of Dilation Upgrades for free.",
layoutPosList: [125433, 81801, 79803, 79398, 80200, 97510], layoutPosList: [119833, 81801, 79403, 79398, 80200, 97510],
}, },
autounlockDilation2: { autounlockDilation2: {
id: 43, id: 43,
label: "DU2", label: "DU2",
family: PERK_FAMILY.DILATION, family: PERK_FAMILY.DILATION,
description: "After unlocking Dilation, automatically unlock the third row of Dilation Upgrades for free.", description: "After unlocking Dilation, automatically unlock the third row of Dilation Upgrades for free.",
layoutPosList: [128662, 82201, 79403, 79397, 80203, 85513], layoutPosList: [124260, 82201, 79003, 79397, 80203, 85513],
}, },
autounlockDilation3: { autounlockDilation3: {
id: 44, id: 44,
@ -180,7 +180,7 @@ export const perks = {
description: "Automatically purchase the passive Time Theorem generation Dilation Upgrade once you can afford it.", description: "Automatically purchase the passive Time Theorem generation Dilation Upgrade once you can afford it.",
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Auto-purchase TT generation", shortDescription: () => "Auto-purchase TT generation",
layoutPosList: [126692, 82601, 79402, 79396, 80206, 72282], layoutPosList: [124289, 82601, 79002, 79396, 80206, 72282],
}, },
autounlockTD: { autounlockTD: {
id: 45, id: 45,
@ -189,7 +189,7 @@ export const perks = {
description: "Auto-unlock Time Dimensions 5-8 once you can afford them.", description: "Auto-unlock Time Dimensions 5-8 once you can afford them.",
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Auto-unlock TD 5-8", shortDescription: () => "Auto-unlock TD 5-8",
layoutPosList: [126321, 82600, 79001, 79796, 80209, 61869], layoutPosList: [127117, 82600, 79001, 79796, 80209, 61869],
}, },
autounlockReality: { autounlockReality: {
id: 46, id: 46,
@ -201,21 +201,21 @@ export const perks = {
}, },
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => "Auto-unlock Reality", shortDescription: () => "Auto-unlock Reality",
layoutPosList: [120745, 83000, 79000, 80196, 80212, 71046], layoutPosList: [124343, 83000, 79000, 79795, 80212, 71046],
}, },
bypassIDAntimatter: { bypassIDAntimatter: {
id: 51, id: 51,
label: "IDR", label: "IDR",
family: PERK_FAMILY.INFINITY, family: PERK_FAMILY.INFINITY,
description: "Infinity Dimensions no longer have antimatter requirements.", description: "Infinity Dimensions no longer have antimatter requirements.",
layoutPosList: [61684, 80998, 79797, 80997, 82200, 79297], layoutPosList: [51317, 80998, 79397, 80997, 82600, 104489],
}, },
bypassTGReset: { bypassTGReset: {
id: 52, id: 52,
label: "TGR", label: "TGR",
family: PERK_FAMILY.DILATION, family: PERK_FAMILY.DILATION,
description: "The 2nd rebuyable Dilation Upgrade no longer resets your Dilated Time.", description: "The 2nd rebuyable Dilation Upgrade no longer resets your Dilated Time.",
layoutPosList: [121771, 81400, 79801, 79798, 81000, 112677], layoutPosList: [116568, 81800, 79801, 79798, 81400, 112677],
}, },
bypassECDilation: { bypassECDilation: {
id: 53, id: 53,
@ -225,35 +225,35 @@ export const perks = {
"requirements from Time Dilation unlock.", "requirements from Time Dilation unlock.",
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => `Unlocking Dilation only requires TT`, shortDescription: () => `Unlocking Dilation only requires TT`,
layoutPosList: [131400, 81802, 80203, 79799, 80600, 109116], layoutPosList: [129011, 81802, 80203, 80198, 80600, 109116],
}, },
bypassEC1Lock: { bypassEC1Lock: {
id: 54, id: 54,
label: "EC1R", label: "EC1R",
family: PERK_FAMILY.ETERNITY, family: PERK_FAMILY.ETERNITY,
description: "Remove the Eternity Challenge 1 requirement from Time Study 181.", description: "Remove the Eternity Challenge 1 requirement from Time Study 181.",
layoutPosList: [67490, 79000, 81399, 80603, 78597, 44167], layoutPosList: [64284, 79000, 81399, 80603, 78597, 44167],
}, },
bypassEC2Lock: { bypassEC2Lock: {
id: 55, id: 55,
label: "EC2R", label: "EC2R",
family: PERK_FAMILY.ETERNITY, family: PERK_FAMILY.ETERNITY,
description: "Remove the Eternity Challenge 2 requirement from Time Study 181.", description: "Remove the Eternity Challenge 2 requirement from Time Study 181.",
layoutPosList: [58670, 78999, 80999, 80602, 78197, 48944], layoutPosList: [55463, 78999, 80998, 80602, 78197, 48944],
}, },
bypassEC3Lock: { bypassEC3Lock: {
id: 56, id: 56,
label: "EC3R", label: "EC3R",
family: PERK_FAMILY.ETERNITY, family: PERK_FAMILY.ETERNITY,
description: "Remove the Eternity Challenge 3 requirement from Time Study 181.", description: "Remove the Eternity Challenge 3 requirement from Time Study 181.",
layoutPosList: [78282, 79001, 81400, 80203, 78997, 47822], layoutPosList: [75475, 79001, 81400, 80203, 78997, 47822],
}, },
bypassEC5Lock: { bypassEC5Lock: {
id: 57, id: 57,
label: "EC5R", label: "EC5R",
family: PERK_FAMILY.ETERNITY, family: PERK_FAMILY.ETERNITY,
description: "Remove the Eternity Challenge 5 requirement from Time Study 62.", description: "Remove the Eternity Challenge 5 requirement from Time Study 62.",
layoutPosList: [73431, 79800, 80600, 80201, 78591, 62607], layoutPosList: [70626, 79800, 81000, 80201, 78591, 62607],
}, },
autocompleteEC1: { autocompleteEC1: {
id: 60, id: 60,
@ -267,7 +267,7 @@ export const perks = {
effect: 60, effect: 60,
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => `Auto-complete ECs every ${formatInt(60)} minutes`, shortDescription: () => `Auto-complete ECs every ${formatInt(60)} minutes`,
layoutPosList: [91069, 79402, 81002, 79803, 79397, 46664], layoutPosList: [90660, 79402, 81002, 79803, 79397, 46664],
}, },
autocompleteEC2: { autocompleteEC2: {
id: 61, id: 61,
@ -278,7 +278,7 @@ export const perks = {
(${formatInt(20)} minute decrease)`; (${formatInt(20)} minute decrease)`;
}, },
effect: 40, effect: 40,
layoutPosList: [99085, 79002, 81402, 79804, 79400, 53486], layoutPosList: [95485, 79002, 81402, 79804, 79400, 53486],
}, },
autocompleteEC3: { autocompleteEC3: {
id: 62, id: 62,
@ -291,14 +291,14 @@ export const perks = {
effect: 20, effect: 20,
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => `Auto-complete ECs every ${formatInt(20)} minutes`, shortDescription: () => `Auto-complete ECs every ${formatInt(20)} minutes`,
layoutPosList: [106265, 78602, 81401, 80204, 79403, 61903], layoutPosList: [96311, 78602, 81401, 80204, 79403, 61903],
}, },
studyActiveEP: { studyActiveEP: {
id: 70, id: 70,
label: "ACT", label: "ACT",
family: PERK_FAMILY.ETERNITY, family: PERK_FAMILY.ETERNITY,
description: "Active path multipliers are always maximized.", description: "Active path multipliers are always maximized.",
layoutPosList: [59439, 79399, 80599, 80601, 78194, 58565], layoutPosList: [56633, 79399, 80599, 80601, 78194, 58565],
}, },
studyIdleEP: { studyIdleEP: {
id: 71, id: 71,
@ -308,7 +308,7 @@ export const perks = {
return `Idle path multipliers start as if you have spent ${formatInt(15)} minutes in this Infinity/Eternity.`; return `Idle path multipliers start as if you have spent ${formatInt(15)} minutes in this Infinity/Eternity.`;
}, },
effect: 15, effect: 15,
layoutPosList: [82253, 79401, 81001, 79802, 78994, 56239], layoutPosList: [80248, 79401, 81001, 79802, 78994, 56239],
}, },
studyECRequirement: { studyECRequirement: {
id: 72, id: 72,
@ -317,7 +317,7 @@ export const perks = {
description: "Remove non-Time Theorem requirements for unlocking Eternity Challenges.", description: "Remove non-Time Theorem requirements for unlocking Eternity Challenges.",
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => "Remove EC secondary requirements", shortDescription: () => "Remove EC secondary requirements",
layoutPosList: [67521, 78600, 81398, 80604, 78600, 40599], layoutPosList: [62714, 78600, 81398, 80604, 78600, 40599],
}, },
studyECBulk: { studyECBulk: {
id: 73, id: 73,
@ -328,7 +328,7 @@ export const perks = {
you reach the goal for a higher completion of that challenge.`, you reach the goal for a higher completion of that challenge.`,
automatorPoints: 15, automatorPoints: 15,
shortDescription: () => "Bulk EC Completion", shortDescription: () => "Bulk EC Completion",
layoutPosList: [69548, 78200, 80998, 81004, 78603, 41435], layoutPosList: [62741, 78200, 81397, 81004, 78603, 41435],
}, },
retroactiveTP1: { retroactiveTP1: {
id: 80, id: 80,
@ -339,7 +339,7 @@ export const perks = {
multiply your current Tachyon Particle amount by ${formatFloat(1.5, 1)}.`; multiply your current Tachyon Particle amount by ${formatFloat(1.5, 1)}.`;
}, },
effect: 1.5, effect: 1.5,
layoutPosList: [116942, 81799, 79800, 79797, 81003, 115434], layoutPosList: [111739, 81799, 79800, 79797, 81403, 115434],
}, },
retroactiveTP2: { retroactiveTP2: {
id: 81, id: 81,
@ -350,7 +350,7 @@ export const perks = {
multiply your current Tachyon Particle amount by ${formatInt(2)}.`; multiply your current Tachyon Particle amount by ${formatInt(2)}.`;
}, },
effect: 2, effect: 2,
layoutPosList: [108960, 82199, 79401, 80197, 81006, 117382], layoutPosList: [103757, 82199, 79401, 80196, 81406, 117382],
}, },
retroactiveTP3: { retroactiveTP3: {
id: 82, id: 82,
@ -361,7 +361,7 @@ export const perks = {
multiply your current Tachyon Particle amount by ${formatFloat(2.5, 1)}.`; multiply your current Tachyon Particle amount by ${formatFloat(2.5, 1)}.`;
}, },
effect: 2.5, effect: 2.5,
layoutPosList: [100976, 82599, 79400, 80596, 81009, 116540], layoutPosList: [96175, 82599, 79400, 80195, 81409, 116540],
}, },
retroactiveTP4: { retroactiveTP4: {
id: 83, id: 83,
@ -374,7 +374,7 @@ export const perks = {
effect: 3, effect: 3,
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => `${formatX(3)} TP upgrade applies retroactively`, shortDescription: () => `${formatX(3)} TP upgrade applies retroactively`,
layoutPosList: [91787, 82598, 78999, 80995, 81012, 114103], layoutPosList: [86984, 82598, 78999, 80595, 81412, 114103],
}, },
autobuyerDilation: { autobuyerDilation: {
id: 100, id: 100,
@ -383,7 +383,7 @@ export const perks = {
description: "Unlock autobuyers for the repeatable Dilation Upgrades.", description: "Unlock autobuyers for the repeatable Dilation Upgrades.",
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Dilation Upgrade Autobuyers", shortDescription: () => "Dilation Upgrade Autobuyers",
layoutPosList: [120204, 81401, 79802, 79399, 80597, 96672], layoutPosList: [117401, 81401, 79802, 79799, 80597, 96672],
}, },
autobuyerFasterID: { autobuyerFasterID: {
id: 101, id: 101,
@ -395,7 +395,7 @@ export const perks = {
effect: 1 / 3, effect: 1 / 3,
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Faster ID Autobuyers", shortDescription: () => "Faster ID Autobuyers",
layoutPosList: [78497, 80199, 79397, 81000, 82597, 77720], layoutPosList: [74095, 80199, 80198, 81000, 82997, 77720],
}, },
autobuyerFasterReplicanti: { autobuyerFasterReplicanti: {
id: 102, id: 102,
@ -407,7 +407,7 @@ export const perks = {
effect: 1 / 3, effect: 1 / 3,
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Faster Replicanti Autobuyers", shortDescription: () => "Faster Replicanti Autobuyers",
layoutPosList: [55315, 80198, 80197, 80999, 82600, 104489], layoutPosList: [57685, 80198, 80197, 80999, 83000, 79297],
}, },
autobuyerFasterDilation: { autobuyerFasterDilation: {
id: 103, id: 103,
@ -419,7 +419,7 @@ export const perks = {
effect: 1 / 3, effect: 1 / 3,
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Faster Dilation Autobuyers", shortDescription: () => "Faster Dilation Autobuyers",
layoutPosList: [116298, 82602, 79002, 79395, 80609, 72715], layoutPosList: [113895, 82602, 79402, 79395, 80609, 72715],
}, },
ttBuySingle: { ttBuySingle: {
id: 104, id: 104,
@ -428,7 +428,7 @@ export const perks = {
description: "Unlock a Time Theorem Autobuyer which buys single Time Theorems every tick.", description: "Unlock a Time Theorem Autobuyer which buys single Time Theorems every tick.",
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => "Single TT Autobuyer", shortDescription: () => "Single TT Autobuyer",
layoutPosList: [47438, 79398, 80598, 81001, 77797, 57325], layoutPosList: [44631, 79398, 80598, 81001, 77797, 57325],
}, },
ttFree: { ttFree: {
id: 105, id: 105,
@ -437,7 +437,7 @@ export const perks = {
get description() { get description() {
return `Purchasing Time Theorems no longer spends your Antimatter, Infinity Points, or Eternity Points.`; return `Purchasing Time Theorems no longer spends your Antimatter, Infinity Points, or Eternity Points.`;
}, },
layoutPosList: [37051, 78998, 80597, 81002, 77800, 67309], layoutPosList: [33840, 78998, 80597, 81002, 77800, 67309],
}, },
ttBuyMax: { ttBuyMax: {
id: 106, id: 106,
@ -448,7 +448,19 @@ export const perks = {
}, },
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => "Max TT Autobuyer", shortDescription: () => "Max TT Autobuyer",
layoutPosList: [30272, 78598, 80997, 81003, 77803, 65739], layoutPosList: [25055, 78598, 80997, 81003, 77803, 65739],
},
dilationAutobuyerBulk: {
id: 107,
label: "DAB",
family: PERK_FAMILY.AUTOMATION,
get description() {
return `Buy three times as many Dilation Upgrades at once.`;
},
effect: 3,
automatorPoints: 5,
shortDescription: () => "Dilation Autobuyer bulk",
layoutPosList: [127384, 81400, 79803, 79399, 81000, 103048],
}, },
achievementGroup1: { achievementGroup1: {
id: 201, id: 201,
@ -461,7 +473,7 @@ export const perks = {
effect: 10, effect: 10,
automatorPoints: 5, automatorPoints: 5,
shortDescription: () => `Faster Achievements: every ${formatInt(20)} minutes`, shortDescription: () => `Faster Achievements: every ${formatInt(20)} minutes`,
layoutPosList: [69391, 80201, 80601, 79801, 79791, 81371], layoutPosList: [65386, 80201, 80601, 79801, 79791, 81371],
}, },
achievementGroup2: { achievementGroup2: {
id: 202, id: 202,
@ -472,7 +484,7 @@ export const perks = {
Achievement (${formatInt(8)} minute decrease).`; Achievement (${formatInt(8)} minute decrease).`;
}, },
effect: 8, effect: 8,
layoutPosList: [60177, 80202, 80602, 79401, 79794, 93780], layoutPosList: [54976, 80202, 80602, 79401, 79794, 93780],
}, },
achievementGroup3: { achievementGroup3: {
id: 203, id: 203,
@ -483,7 +495,7 @@ export const perks = {
Achievement (${formatInt(6)} minute decrease).`; Achievement (${formatInt(6)} minute decrease).`;
}, },
effect: 6, effect: 6,
layoutPosList: [50965, 80602, 80603, 79402, 79797, 83005], layoutPosList: [44168, 80602, 80603, 79402, 79797, 83005],
}, },
achievementGroup4: { achievementGroup4: {
id: 204, id: 204,
@ -494,7 +506,7 @@ export const perks = {
Achievement (${formatInt(4)} minute decrease).`; Achievement (${formatInt(4)} minute decrease).`;
}, },
effect: 4, effect: 4,
layoutPosList: [40164, 81002, 81003, 79403, 79800, 95422], layoutPosList: [33760, 81002, 81003, 79403, 79800, 95422],
}, },
achievementGroup5: { achievementGroup5: {
id: 205, id: 205,
@ -506,7 +518,7 @@ export const perks = {
}, },
automatorPoints: 10, automatorPoints: 10,
shortDescription: () => "Keep Achievements on Reality", shortDescription: () => "Keep Achievements on Reality",
layoutPosList: [29761, 81402, 81403, 79404, 79803, 84639], layoutPosList: [23353, 81402, 81403, 79404, 79803, 84639],
} }
}; };
@ -542,7 +554,8 @@ export const perkConnections = (function() {
[p.retroactiveTP1, p.bypassTGReset, p.startTP, p.retroactiveTP2], [p.retroactiveTP1, p.bypassTGReset, p.startTP, p.retroactiveTP2],
[p.retroactiveTP2, p.retroactiveTP3], [p.retroactiveTP2, p.retroactiveTP3],
[p.retroactiveTP3, p.retroactiveTP4], [p.retroactiveTP3, p.retroactiveTP4],
[p.autobuyerDilation, p.autounlockEU2, p.autounlockDilation1, p.bypassECDilation, p.bypassTGReset], [p.autobuyerDilation, p.autounlockEU2, p.autounlockDilation1,
p.bypassECDilation, p.bypassTGReset, p.dilationAutobuyerBulk],
[p.autobuyerFasterID], [p.autobuyerFasterID],
[p.ttBuySingle, p.ttFree], [p.ttBuySingle, p.ttFree],
[p.ttFree, p.ttBuyMax], [p.ttFree, p.ttBuyMax],

View File

@ -411,6 +411,12 @@ export const migrations = {
player.reality.automator.constantSortOrder = [...definedConstants]; player.reality.automator.constantSortOrder = [...definedConstants];
} }
}, },
25: player => {
// If the player has r146 "Perks of living" achievement we give them the DAB perk automatically
if ((player.achievementBits[13] & 32) !== 0 && !player.reality.perks.has(107)) {
player.reality.perks.add(107);
}
}
}, },
normalizeTimespans(player) { normalizeTimespans(player) {