Skip to content

Commit bf5079a

Browse files
authored
feature: Fish records and level data (#13)
1 parent 5634c79 commit bf5079a

File tree

1 file changed

+127
-0
lines changed

1 file changed

+127
-0
lines changed

schema.graphqls

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,102 @@ scalar DateTime
88
@spectaql(options: [{ key: "example", value: "1996-12-19T16:39:57-08:00" }])
99
@specifiedBy(url: "https://scalars.graphql.org/andimarek/date-time.html")
1010

11+
"An RFC-3339 compliant date."
12+
scalar Date
13+
@spectaql(options: [{ key: "example", value: "1996-12-19", }])
14+
@specifiedBy(url: "https://tools.ietf.org/html/rfc3339")
15+
16+
"A fish."
17+
type Fish {
18+
"The name of the fish."
19+
name: String!
20+
@spectaql(options: [{ key: "example", value: "Midnight Tang" }])
21+
22+
"The climate this fish can be found in."
23+
climate: String!
24+
@spectaql(options: [{ key: "example", value: "Temperate" }])
25+
26+
"The collection this fish can be found in."
27+
collection: String!
28+
@spectaql(options: [{ key: "example", value: "Dark Grove" }])
29+
30+
"The rarity of the fish."
31+
rarity: Rarity!
32+
33+
"The time this fish can be caught."
34+
catchTime: FishCatchTime!
35+
36+
"If this fish is elusive."
37+
elusive: Boolean!
38+
39+
"The number of trophies awarded for catching this fish in a given weight."
40+
trophies(weight: FishWeight!): Int
41+
}
42+
43+
"The time a fish can be caught in."
44+
enum FishCatchTime {
45+
"The fish can always be caught."
46+
ALWAYS
47+
48+
"The fish can only be caught during daytime."
49+
DAY
50+
51+
"The fish can only be caught during nighttime."
52+
NIGHT
53+
}
54+
55+
"""
56+
The weight of a fish.
57+
58+
Note that some weights are not used for crabs, or are only used for crabs.
59+
"""
60+
enum FishWeight {
61+
"Average."
62+
AVERAGE
63+
64+
"Large."
65+
LARGE
66+
67+
"""
68+
Massive.
69+
70+
This weight is not used for crabs.
71+
"""
72+
MASSIVE
73+
74+
"""
75+
Gargantuan.
76+
77+
This weight is not used for crabs.
78+
"""
79+
GARGANTUAN
80+
81+
"""
82+
Colossal.
83+
84+
This weight is only used for crabs.
85+
"""
86+
COLOSSAL
87+
}
88+
89+
"A record of the weight of fish that have been caught."
90+
type FishRecord {
91+
"The fish this record is for."
92+
fish: Fish!
93+
94+
"A list of data about the weights that have been caught."
95+
weights: [FishCaughtWeight!]!
96+
}
97+
98+
"Data about a caught fish weight."
99+
type FishCaughtWeight {
100+
"The weight that was caught."
101+
weight: FishWeight!
102+
103+
"When the player first caught this weight."
104+
firstCaught: Date!
105+
}
106+
11107
"A rank."
12108
enum Rank {
13109
"The Champ rank."
@@ -65,19 +161,44 @@ type TrophyData {
65161
bonus: Int!
66162
}
67163

164+
"Data relating to a level."
165+
type LevelData {
166+
"The overall level."
167+
level: Int!
168+
169+
"The zero-indexed evolution of the level."
170+
evolution: Int!
171+
172+
"The next level that will have an evolution, if any."
173+
nextEvolutionLevel: Int
174+
175+
"The progress the player is making towards their next level, if any."
176+
nextLevelProgress: ProgressionData
177+
}
178+
68179
"A Crown Level and associated trophy data."
69180
type CrownLevel {
70181
"The overall Crown Level."
71182
level: Int!
183+
@deprecated(reason: "Use levelData instead.")
72184

73185
"The zero-indexed evolution of the crown."
74186
evolution: Int!
187+
@deprecated(reason: "Use levelData instead.")
75188

76189
"The next level that the crown will evolve, if any."
77190
nextEvolutionLevel: Int
191+
@deprecated(reason: "Use levelData instead.")
78192

79193
"The progress the player is making towards their next level, if any."
80194
nextLevelProgress: ProgressionData
195+
@deprecated(reason: "Use levelData instead.")
196+
197+
"The overall level data."
198+
levelData: LevelData!
199+
200+
"The fishing level data."
201+
fishingLevelData: LevelData!
81202

82203
"The amount of trophies the player has."
83204
trophies(
@@ -167,6 +288,12 @@ type Collections {
167288
collection: String = null
168289
@spectaql(options: { key: "example", value: "Oceanic" })
169290
): [CosmeticOwnershipState!]!
291+
292+
"Returns the record data for all fish, optionally in a specific collection."
293+
fish(
294+
collection: String = null
295+
@spectaql(options: [{ key: "example", value: "Dark Grove" }])
296+
): [FishRecord!]!
170297
}
171298

172299
"The ownership state of a cosmetic."

0 commit comments

Comments
 (0)