feat: prestige and time era backend logic
This commit is contained in:
parent
2b4dd94309
commit
34c44dd94a
|
@ -143,6 +143,7 @@ export const state = () => ({
|
||||||
unlocked: true,
|
unlocked: true,
|
||||||
viewed: false,
|
viewed: false,
|
||||||
complete: false,
|
complete: false,
|
||||||
|
resetOnPrestige: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Study Time Magic',
|
name: 'Study Time Magic',
|
||||||
|
@ -159,6 +160,7 @@ export const state = () => ({
|
||||||
unlocked: true,
|
unlocked: true,
|
||||||
viewed: false,
|
viewed: false,
|
||||||
complete: false,
|
complete: false,
|
||||||
|
resetOnPrestige: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Create the Time Machine',
|
name: 'Create the Time Machine',
|
||||||
|
@ -175,9 +177,10 @@ export const state = () => ({
|
||||||
unlocked: false,
|
unlocked: false,
|
||||||
viewed: false,
|
viewed: false,
|
||||||
complete: false,
|
complete: false,
|
||||||
|
resetOnPrestige: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Time To Cheat Death',
|
name: 'Time to Cheat Death',
|
||||||
description:
|
description:
|
||||||
'Your body seems to be failing you. ' +
|
'Your body seems to be failing you. ' +
|
||||||
'Write a book to pass your knowedge to your younger self through the time machine. ' +
|
'Write a book to pass your knowedge to your younger self through the time machine. ' +
|
||||||
|
@ -192,6 +195,43 @@ export const state = () => ({
|
||||||
unlocked: false,
|
unlocked: false,
|
||||||
viewed: false,
|
viewed: false,
|
||||||
complete: false,
|
complete: false,
|
||||||
|
resetOnPrestige: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// update doPrestige (mutation) if this is renamed
|
||||||
|
name: 'Time Travel Precision',
|
||||||
|
description:
|
||||||
|
'The time machine could target a certain month instead of a decade, ' +
|
||||||
|
'with the proper calibration.',
|
||||||
|
unlockCriteria: {
|
||||||
|
unit: 'missionsCompleted',
|
||||||
|
value: ['Time to Cheat Death', 'Create the Time Machine'],
|
||||||
|
},
|
||||||
|
completionCriteria: {
|
||||||
|
unit: 'spareTime',
|
||||||
|
value: 10000,
|
||||||
|
},
|
||||||
|
unlocked: false,
|
||||||
|
viewed: false,
|
||||||
|
complete: false,
|
||||||
|
resetOnPrestige: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Time to Cheat Death... Again',
|
||||||
|
description:
|
||||||
|
'Another life well lived. ' +
|
||||||
|
'Add a few chapters to the tome you received and send it back again.',
|
||||||
|
unlockCriteria: {
|
||||||
|
unit: 'missionsCompleted',
|
||||||
|
value: ['Time to Cheat Death', 'Create the Time Machine'],
|
||||||
|
},
|
||||||
|
completionCriteria: {
|
||||||
|
unit: 'maxAge',
|
||||||
|
},
|
||||||
|
unlocked: false,
|
||||||
|
viewed: false,
|
||||||
|
complete: false,
|
||||||
|
resetOnPrestige: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -267,6 +307,23 @@ export const getters = {
|
||||||
process.created ? totalInstruments + 1 : totalInstruments,
|
process.created ? totalInstruments + 1 : totalInstruments,
|
||||||
0
|
0
|
||||||
),
|
),
|
||||||
|
currentEra: (state) => {
|
||||||
|
if (state.gameDate < 100 * 12) {
|
||||||
|
return 'prehistoric'
|
||||||
|
} else if (state.gameDate < 999 * 12) {
|
||||||
|
return 'classical'
|
||||||
|
} else if (state.gameDate < 1400 * 12) {
|
||||||
|
return 'middle ages'
|
||||||
|
} else if (state.gameDate < 1750 * 12) {
|
||||||
|
return 'early modern'
|
||||||
|
} else if (state.gameDate < 2100 * 12) {
|
||||||
|
return 'modern'
|
||||||
|
} else if (state.gameDate < 2500 * 12) {
|
||||||
|
return 'future'
|
||||||
|
} else {
|
||||||
|
return 'distant future'
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mutations = {
|
export const mutations = {
|
||||||
|
@ -320,4 +377,25 @@ export const mutations = {
|
||||||
travelGameDate: (state, month) => {
|
travelGameDate: (state, month) => {
|
||||||
state.gameDate = month
|
state.gameDate = month
|
||||||
},
|
},
|
||||||
|
doPrestige: (state) => {
|
||||||
|
state.currency = new Decimal(0)
|
||||||
|
state.wisdomApplied += state.wisdomGained
|
||||||
|
state.wisdomGained = 0
|
||||||
|
state.totalLifetimes += 1
|
||||||
|
state.timeJumpsBackwards += 1
|
||||||
|
state.playerLivedTotal += state.playerAge
|
||||||
|
// TODO: refactor next 3 lines if getters can be used in mutators: missionIsCompleted('Time Travel Precision')
|
||||||
|
const precisionMissionIndex = state.missions.findIndex(
|
||||||
|
(m) => m.name === 'Time Travel Precision'
|
||||||
|
)
|
||||||
|
const precisionMission = state.missions[precisionMissionIndex]
|
||||||
|
if (precisionMission.completed) {
|
||||||
|
state.playerAge = 30 * 12
|
||||||
|
state.gameDate = 1400 * 12
|
||||||
|
} else {
|
||||||
|
state.playerAge = 8 * 12
|
||||||
|
state.gameDate = 1378 * 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
doTimeTravel: (state, monthNumber) => {},
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue