generated from nhcarrigan/template
b886928e49
Titles are earned by reaching milestones (quests, bosses, gold, clicks, adventurers, guild, prestige, transcendence, apotheosis, achievements, longevity) and are permanent - never lost on prestige/transcendence/ apotheosis resets. 20 titles available at launch. Also fixes a pre-existing P2034 write-conflict on the load backfill path and the exactOptionalPropertyTypes violation in the quest failure handler.
45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "mongodb"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model Player {
|
|
id String @id @default(auto()) @map("_id") @db.ObjectId
|
|
discordId String @unique
|
|
username String
|
|
discriminator String
|
|
avatar String?
|
|
characterName String @default("")
|
|
pronouns String @default("")
|
|
characterRace String @default("")
|
|
characterClass String @default("")
|
|
bio String @default("")
|
|
guildName String @default("")
|
|
guildDescription String @default("")
|
|
profileSettings Json?
|
|
unlockedTitles Json?
|
|
activeTitle String @default("")
|
|
createdAt Float
|
|
lastSavedAt Float
|
|
totalGoldEarned Float @default(0)
|
|
totalClicks Float @default(0)
|
|
lifetimeGoldEarned Float @default(0)
|
|
lifetimeClicks Float @default(0)
|
|
lifetimeBossesDefeated Float @default(0)
|
|
lifetimeQuestsCompleted Float @default(0)
|
|
lifetimeAdventurersRecruited Float @default(0)
|
|
lifetimeAchievementsUnlocked Float @default(0)
|
|
}
|
|
|
|
model GameState {
|
|
id String @id @default(auto()) @map("_id") @db.ObjectId
|
|
discordId String @unique
|
|
state Json
|
|
updatedAt Float
|
|
}
|
|
|