Story Rank Info
How we calculate your story rank
The full source code is available on GitHub
Story rank is based on three independent sets of ranks, that each individually can trigger a rank up
Battle Stars | Story Episodes | Ghost Battle Wins |
---|---|---|
20 | 10 | 30 |
50 | 20 | 60 |
100 | 30 | 105 |
400 | 40 | 150 |
1000 | 50 | 210 |
2000 | 60 | 300 |
3000 | 80 | 420 |
5000 | 100 | 570 |
7000 | 140 | 750 |
10000 | 200 | 960 |
+5000 | 300 | 1200 |
... | 400 | 1500 |
500 | 2100 | |
600 | 3000 | |
700 | 4500 | |
900 | +1500 | |
1100 | ... | |
1500 | ||
2000 | ||
2500 | ||
3000 | ||
3500 | ||
4500 | ||
5000 | ||
8500 | ||
17400 | ||
18000 | ||
+500 | ||
... |
We also generate the rank names, which can be seen below
export const rankNumbers = Array.from({length: 9})
.map((_, i) => i + 1)
.reverse()
export const rankNames = ["C", "B", "A", "S", "SS", "SSS", "SSSS"]
export const ranks: Rank[] = [
{name: "N"},
...rankNames.flatMap(name => rankNumbers.map(number => ({name, number}))),
...rankNumbers.map(() => ({name: "SSSSS"})),
{name: "SSSSSS"},
]
export interface Rank {
name: string
number?: number
}
N | C | B | A | S | SS | SSS | SSSS | SSSSS | SSSSSS |
---|---|---|---|---|---|---|---|---|---|
N | C9 | B9 | A9 | S9 | SS9 | SSS9 | SSSS9 | SSSSS | SSSSSS |
C8 | B8 | A8 | S8 | SS8 | SSS8 | SSSS8 | SSSSS | ||
C7 | B7 | A7 | S7 | SS7 | SSS7 | SSSS7 | SSSSS | ||
C6 | B6 | A6 | S6 | SS6 | SSS6 | SSSS6 | SSSSS | ||
C5 | B5 | A5 | S5 | SS5 | SSS5 | SSSS5 | SSSSS | ||
C4 | B4 | A4 | S4 | SS4 | SSS4 | SSSS4 | SSSSS | ||
C3 | B3 | A3 | S3 | SS3 | SSS3 | SSSS3 | SSSSS | ||
C2 | B2 | A2 | S2 | SS2 | SSS2 | SSSS2 | SSSSS | ||
C1 | B1 | A1 | S1 | SS1 | SSS1 | SSSS1 | SSSSS |