diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml
index a5b12f3..68beccc 100644
--- a/.trunk/trunk.yaml
+++ b/.trunk/trunk.yaml
@@ -2,32 +2,32 @@
# To learn more about the format of this file, see https://docs.trunk.io/reference/trunk-yaml
version: 0.1
cli:
- version: 1.22.6
+ version: 1.22.8
# Trunk provides extensibility via plugins. (https://docs.trunk.io/plugins)
plugins:
sources:
- id: trunk
- ref: v1.6.3
+ ref: v1.6.6
uri: https://github.com/trunk-io/plugins
# Many linters and tools depend on runtimes - configure them here. (https://docs.trunk.io/runtimes)
runtimes:
enabled:
- - node@18.12.1
+ - node@18.20.5
- python@3.10.8
# This is the section where you manage your linters. (https://docs.trunk.io/check/configuration)
lint:
enabled:
- - checkov@3.2.256
+ - checkov@3.2.344
- dotenv-linter@3.3.0
- eslint@8.57.0
- git-diff-check
- - markdownlint@0.42.0
- - osv-scanner@1.9.0
- - oxipng@9.1.2
- - prettier@3.3.3
+ - markdownlint@0.43.0
+ - osv-scanner@1.9.2
+ - oxipng@9.1.3
+ - prettier@3.4.2
- svgo@3.3.2
- - trivy@0.55.2
- - trufflehog@3.82.6
+ - trivy@0.58.1
+ - trufflehog@3.88.0
- yamllint@1.35.1
actions:
enabled:
diff --git a/app/tierlist/page.tsx b/app/tierlist/page.tsx
new file mode 100644
index 0000000..e9d2943
--- /dev/null
+++ b/app/tierlist/page.tsx
@@ -0,0 +1,28 @@
+import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
+import { Sections } from "@/lib/tierlist";
+import { TierlistSection } from "@/components/TierlistSection";
+import MobileTierlist from "@/components/MobileTierlist";
+
+export default async function TierlistPage() {
+ return (
+
+
+
+ {Object.values(Sections).map((x) => (
+ <>
+ {x.name}
+ >
+ ))}
+
+ {Object.values(Sections).map((x) => (
+ <>
+
+
+
+ >
+ ))}
+
+
+
+ );
+}
diff --git a/components/MobileTierlist.tsx b/components/MobileTierlist.tsx
new file mode 100644
index 0000000..ef6793a
--- /dev/null
+++ b/components/MobileTierlist.tsx
@@ -0,0 +1,40 @@
+"use client";
+
+import {
+ Select,
+ SelectTrigger,
+ SelectValue,
+ SelectContent,
+ SelectItem,
+} from "@/components/ui/select";
+import { Sections } from "@/lib/tierlist";
+import { useState } from "react";
+import { TierlistSection } from "./TierlistSection";
+
+export default function MobileTierlist() {
+ const [section, setSection] = useState("overall");
+
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
diff --git a/components/Navbar.tsx b/components/Navbar.tsx
index cf1edf7..c8dd57d 100644
--- a/components/Navbar.tsx
+++ b/components/Navbar.tsx
@@ -66,6 +66,15 @@ function Links({ pathname }: { pathname: string }) {
>
Codes
,
+
+ Tierlist
+ ,
+ {!hideTitle && {title}
}
+ {Object.values(Tiers).map((tier) => (
+
+
+ {tier.name}
+
+
+ {tiers &&
+ tiers[tier.name].map((x) => (
+
+ {x.name}
+
+ ))}
+
+
+ ))}
+
+ );
+}
diff --git a/components/ui/tabs.tsx b/components/ui/tabs.tsx
new file mode 100644
index 0000000..ca123a0
--- /dev/null
+++ b/components/ui/tabs.tsx
@@ -0,0 +1,55 @@
+"use client";
+
+import * as React from "react";
+import * as TabsPrimitive from "@radix-ui/react-tabs";
+
+import { cn } from "@/lib/utils";
+
+const Tabs = TabsPrimitive.Root;
+
+const TabsList = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+TabsList.displayName = TabsPrimitive.List.displayName;
+
+const TabsTrigger = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
+
+const TabsContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+));
+TabsContent.displayName = TabsPrimitive.Content.displayName;
+
+export { Tabs, TabsList, TabsTrigger, TabsContent };
diff --git a/lib/pages.ts b/lib/pages.ts
index a93c892..4ee5807 100644
--- a/lib/pages.ts
+++ b/lib/pages.ts
@@ -6,4 +6,5 @@ export const RelativePageURLs = {
myFormations: "/formations/mine",
search: "/search",
devTracker: "/dev-tracker",
+ tierlist: "/tierlist",
};
diff --git a/lib/tierlist.ts b/lib/tierlist.ts
new file mode 100644
index 0000000..c49dee8
--- /dev/null
+++ b/lib/tierlist.ts
@@ -0,0 +1,61 @@
+import OverallTierData from "@/public/overall-tier-data.json";
+import AfkStageTierData from "@/public/afkstage-tier-data.json";
+import ArenaTierData from "@/public/arena-tier-data.json";
+import SupremeArenaTierData from "@/public/supremearena-tier-data.json";
+import DreamRealmTierData from "@/public/dreamrealm-tier-data.json";
+import SkyclopsTierData from "@/public/skyclops-tier-data.json";
+import CroakerTierData from "@/public/croaker-tier-data.json";
+import OrsonTierData from "@/public/orson-tier-data.json";
+import CrystalBeetleTierData from "@/public/crystalbeetle-tier-data.json";
+import NecrogragonTierData from "@/public/necrogragon-tier-data.json";
+import SnowStomperTierData from "@/public/snowstomper-tier-data.json";
+import LoneGazeTierData from "@/public/lonegaze-tier-data.json";
+import AlphaBearTierData from "@/public/alphabear-tier-data.json";
+
+export type SectionData = {
+ [tier: string]: { name: string; image?: string }[];
+};
+export type Section = {
+ name: string;
+ value: string;
+ data: SectionData;
+};
+export const Sections: { [name: string]: Section } = {
+ overall: { name: "Overall", value: "overall", data: OverallTierData },
+ afk: { name: "AFK Stages", value: "afk", data: AfkStageTierData },
+ arena: { name: "Arena", value: "arena", data: ArenaTierData },
+ supreme: {
+ name: "Supreme Arena",
+ value: "supreme",
+ data: SupremeArenaTierData,
+ },
+ dream: { name: "Dream Realm", value: "dream", data: DreamRealmTierData },
+ skyclops: { name: "Skyclops", value: "skyclops", data: SkyclopsTierData },
+ croaker: { name: "Croaker", value: "croaker", data: CroakerTierData },
+ orson: { name: "Orson", value: "orson", data: OrsonTierData },
+ beetle: {
+ name: "Crystal Beetle",
+ value: "beetle",
+ data: CrystalBeetleTierData,
+ },
+ necro: { name: "Necrogragon", value: "necro", data: NecrogragonTierData },
+ stomper: {
+ name: "Snow Stomper",
+ value: "stomper",
+ data: SnowStomperTierData,
+ },
+ lone: { name: "Lone Gaze", value: "lone", data: LoneGazeTierData },
+ bear: { name: "Alpha Bear", value: "bear", data: AlphaBearTierData },
+};
+export type Tier = {
+ name: string;
+ bgName: string;
+ bgSection: string;
+};
+export const Tiers: { [name: string]: Tier } = {
+ "S+": { name: "S+", bgName: "#d85c5c", bgSection: "#ea9999" },
+ S: { name: "S", bgName: "#ea8e5c", bgSection: "#f5bf99" },
+ A: { name: "A", bgName: "#ffce5d", bgSection: "#ffe599" },
+ B: { name: "B", bgName: "#bbc167", bgSection: "#dadea1" },
+ C: { name: "C", bgName: "#82b570", bgSection: "#b6d7a8" },
+};
diff --git a/package-lock.json b/package-lock.json
index fefb1a4..b6fb997 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27,6 +27,7 @@
"@radix-ui/react-select": "^2.1.1",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0",
+ "@radix-ui/react-tabs": "^1.1.2",
"@types/mdx": "^2.0.13",
"@vercel/analytics": "^1.3.1",
"class-variance-authority": "^0.7.0",
@@ -2908,6 +2909,185 @@
}
}
},
+ "node_modules/@radix-ui/react-tabs": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.2.tgz",
+ "integrity": "sha512-9u/tQJMcC2aGq7KXpGivMm1mgq7oRJKXphDwdypPd/j21j/2znamPU8WkXgnhUaTrSFNIt8XhOyCAupg8/GbwQ==",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-roving-focus": "1.1.1",
+ "@radix-ui/react-use-controllable-state": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz",
+ "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-collection": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.1.tgz",
+ "integrity": "sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-slot": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
+ "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-context": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz",
+ "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-presence": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz",
+ "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-primitive": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz",
+ "integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-roving-focus": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.1.tgz",
+ "integrity": "sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-collection": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/react-id": "1.1.0",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-controllable-state": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-slot": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.1.tgz",
+ "integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@radix-ui/react-use-callback-ref": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz",
diff --git a/package.json b/package.json
index 4e7e51a..bbbe323 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
"@radix-ui/react-select": "^2.1.1",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.1.0",
+ "@radix-ui/react-tabs": "^1.1.2",
"@types/mdx": "^2.0.13",
"@vercel/analytics": "^1.3.1",
"class-variance-authority": "^0.7.0",
diff --git a/public/afkstage-tier-data.json b/public/afkstage-tier-data.json
new file mode 100644
index 0000000..7afcd03
--- /dev/null
+++ b/public/afkstage-tier-data.json
@@ -0,0 +1,72 @@
+{
+ "S+": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Koko\nКоко" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" }
+ ],
+ "S": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Odie\nОди" },
+ { "name": "Talene\nТалена" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Tasi\nТази" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Rowan\nРован" },
+ { "name": "Parisa\nПариса" }
+ ],
+ "A": [
+ { "name": "Shakir\nШакир" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Sonja\nСоня" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Cecia\nЦессия" }
+ ],
+ "B": [
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Lucca\nЛюка" }
+ ],
+ "C": [
+ { "name": "Vala\nВала" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Korin\nКорин" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/alphabear-tier-data.json b/public/alphabear-tier-data.json
new file mode 100644
index 0000000..18e2328
--- /dev/null
+++ b/public/alphabear-tier-data.json
@@ -0,0 +1,74 @@
+{
+ "S+": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Phraesto\nФресто" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" }
+ ],
+ "S": [
+ { "name": "Shakir\nШакир" },
+ { "name": "Koko\nКоко" },
+ { "name": "Mikola\nМикола" }
+ ],
+ "A": [
+ { "name": "Odie\nОди" },
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Talene\nТалена" },
+ { "name": "Reinier\nРейнир" }
+ ],
+ "B": [
+ { "name": "Thoran\nТоран" },
+ { "name": "Vala\nВала" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Sonja\nСоня" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Korin\nКорин" }
+ ],
+ "C": [
+ { "name": "Harak\nХарак" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/arena-tier-data.json b/public/arena-tier-data.json
new file mode 100644
index 0000000..c68d7c3
--- /dev/null
+++ b/public/arena-tier-data.json
@@ -0,0 +1,71 @@
+{
+ "S+": [{ "name": "Lily May\nЛили Мей" }, { "name": "Scarlita\nСкарлита" }],
+ "S": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Harak\nХарак" },
+ { "name": "Odie\nОди" },
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Talene\nТалена" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Koko\nКоко" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Tasi\nТази" },
+ { "name": "Vala\nВала" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Arden\nАдрен" }
+ ],
+ "A": [
+ { "name": "Shakir\nШакир" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Hodgkin\nХодкин" }
+ ],
+ "B": [
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Rowan\nРован" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" }
+ ],
+ "C": [
+ { "name": "Sonja\nСоня" },
+ { "name": "Korin\nКорин" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/croaker-tier-data.json b/public/croaker-tier-data.json
new file mode 100644
index 0000000..a39aacc
--- /dev/null
+++ b/public/croaker-tier-data.json
@@ -0,0 +1,68 @@
+{
+ "S+": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Sonja\nСоня" }
+ ],
+ "S": [{ "name": "Talene\nТалена" }, { "name": "Mikola\nМикола" }],
+ "A": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Odie\nОди" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Thoran\nТоран" }
+ ],
+ "B": [
+ { "name": "Shakir\nШакир" },
+ { "name": "Koko\nКоко" },
+ { "name": "Vala\nВала" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Korin\nКорин" }
+ ],
+ "C": [
+ { "name": "Harak\nХарак" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/crystalbeetle-tier-data.json b/public/crystalbeetle-tier-data.json
new file mode 100644
index 0000000..076db33
--- /dev/null
+++ b/public/crystalbeetle-tier-data.json
@@ -0,0 +1,71 @@
+{
+ "S+": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Ludovic\nЛюдвик" }
+ ],
+ "S": [
+ { "name": "Talene\nТалена" },
+ { "name": "Shakir\nШакир" },
+ { "name": "Mikola\nМикола" }
+ ],
+ "A": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Odie\nОди" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Cassadee\nКассадия" }
+ ],
+ "B": [
+ { "name": "Harak\nХарак" },
+ { "name": "Koko\nКоко" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Sonja\nСоня" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Seth\nСет" },
+ { "name": "Fay\nФэй" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Mirael\nМираэль" }
+ ],
+ "C": [
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Vala\nВала" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Sinbad\nСинбад" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Korin\nКорин" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/dreamrealm-tier-data.json b/public/dreamrealm-tier-data.json
new file mode 100644
index 0000000..42220f8
--- /dev/null
+++ b/public/dreamrealm-tier-data.json
@@ -0,0 +1,73 @@
+{
+ "S+": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" }
+ ],
+ "S": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Harak\nХарак" },
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Shakir\nШакир" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Sonja\nСоня" }
+ ],
+ "A": [
+ { "name": "Odie\nОди" },
+ { "name": "Talene\nТалена" },
+ { "name": "Reinier\nРейнир" }
+ ],
+ "B": [
+ { "name": "Koko\nКоко" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Vala\nВала" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Korin\nКорин" }
+ ],
+ "C": [
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Seth\nСет" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/lonegaze-tier-data.json b/public/lonegaze-tier-data.json
new file mode 100644
index 0000000..4fcf911
--- /dev/null
+++ b/public/lonegaze-tier-data.json
@@ -0,0 +1,73 @@
+{
+ "S+": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Harak\nХарак" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" }
+ ],
+ "S": [
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Shakir\nШакир" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Sonja\nСоня" }
+ ],
+ "A": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Odie\nОди" },
+ { "name": "Reinier\nРейнир" }
+ ],
+ "B": [
+ { "name": "Talene\nТалена" },
+ { "name": "Koko\nКоко" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Vala\nВала" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Korin\nКорин" },
+ { "name": "Rhys\nРис" }
+ ],
+ "C": [
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Seth\nСет" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/necrogragon-tier-data.json b/public/necrogragon-tier-data.json
new file mode 100644
index 0000000..866ee35
--- /dev/null
+++ b/public/necrogragon-tier-data.json
@@ -0,0 +1,70 @@
+{
+ "S+": [{ "name": "Lily May\nЛили Мей" }, { "name": "Harak\nХарак" }],
+ "S": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Sonja\nСоня" },
+ { "name": "Kruger\nКрюгер" }
+ ],
+ "A": [
+ { "name": "Odie\nОди" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Talene\nТалена" },
+ { "name": "Shakir\nШакир" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Sinbad\nСимбад" }
+ ],
+ "B": [
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Koko\nКоко" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Vala\nВала" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Rowan\nРован" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Korin\nКорин" },
+ { "name": "Rhys\nРис" }
+ ],
+ "C": [
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Seth\nСет" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/orson-tier-data.json b/public/orson-tier-data.json
new file mode 100644
index 0000000..a39aacc
--- /dev/null
+++ b/public/orson-tier-data.json
@@ -0,0 +1,68 @@
+{
+ "S+": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Sonja\nСоня" }
+ ],
+ "S": [{ "name": "Talene\nТалена" }, { "name": "Mikola\nМикола" }],
+ "A": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Odie\nОди" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Thoran\nТоран" }
+ ],
+ "B": [
+ { "name": "Shakir\nШакир" },
+ { "name": "Koko\nКоко" },
+ { "name": "Vala\nВала" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Korin\nКорин" }
+ ],
+ "C": [
+ { "name": "Harak\nХарак" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/overall-tier-data.json b/public/overall-tier-data.json
new file mode 100644
index 0000000..611863c
--- /dev/null
+++ b/public/overall-tier-data.json
@@ -0,0 +1,74 @@
+{
+ "S+": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Phraesto\nФресто" },
+ { "name": "Harak\nХарак" },
+ { "name": "Odie\nОди" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" }
+ ],
+ "S": [
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Talene\nТалена" },
+ { "name": "Shakir\nШакир" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Koko\nКоко" },
+ { "name": "Scarlita\nСкарлита" }
+ ],
+ "A": [
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Tasi\nТази" },
+ { "name": "Vala\nВала" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Sonja\nСоня" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" }
+ ],
+ "B": [
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Hodgkin\nХодкин" }
+ ],
+ "C": [
+ { "name": "Marilee\nМерилия" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Korin\nКорин" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/skyclops-tier-data.json b/public/skyclops-tier-data.json
new file mode 100644
index 0000000..e6eb9dd
--- /dev/null
+++ b/public/skyclops-tier-data.json
@@ -0,0 +1,70 @@
+{
+ "S+": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Phraesto\nФресто" },
+ { "name": "Harak\nХарак" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Talene\nТалена" }
+ ],
+ "S": [
+ { "name": "Shakir\nШакир" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Sonja\nСоня" }
+ ],
+ "A": [{ "name": "Odie\nОди" }, { "name": "Reinier\nРейнир" }],
+ "B": [
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Koko\nКоко" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Vala\nВала" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Korin\nКорин" },
+ { "name": "Rhys\nРис" }
+ ],
+ "C": [
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Seth\nСет" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/snowstomper-tier-data.json b/public/snowstomper-tier-data.json
new file mode 100644
index 0000000..d2c5842
--- /dev/null
+++ b/public/snowstomper-tier-data.json
@@ -0,0 +1,71 @@
+{
+ "S+": [
+ { "name": "Lily May\nЛили Мей" },
+ { "name": "Phraesto\nФресто" },
+ { "name": "Harak\nХарак" }
+ ],
+ "S": [
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Sonja\nСоня" }
+ ],
+ "A": [{ "name": "Odie\nОди" }, { "name": "Shakir\nШакир" }],
+ "B": [
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Koko\nКоко" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Vala\nВала" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Seth\nСет" },
+ { "name": "Korin\nКорин" }
+ ],
+ "C": [
+ { "name": "Talene\nТалена" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Tasi\nТази" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Arden\nАдрен" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Rowan\nРован" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" },
+ { "name": "Mirael\nМираэль" },
+ { "name": "Kafra\nКафра" }
+ ]
+}
diff --git a/public/supremearena-tier-data.json b/public/supremearena-tier-data.json
new file mode 100644
index 0000000..9e3faac
--- /dev/null
+++ b/public/supremearena-tier-data.json
@@ -0,0 +1,68 @@
+{
+ "S+": [{ "name": "Lily May\nЛили Мей" }, { "name": "Odie\nОди" }],
+ "S": [
+ { "name": "Phraesto\nФресто" },
+ { "name": "Harak\nХарак" },
+ { "name": "Smokey & Meerky\nСмоки и Мерки" },
+ { "name": "Ludovic\nЛюдвик" },
+ { "name": "Talene\nТалена" },
+ { "name": "Shakir\nШакир" },
+ { "name": "Reinier\nРейнир" },
+ { "name": "Koko\nКоко" },
+ { "name": "Scarlita\nСкарлита" },
+ { "name": "Eironn\nЭйрон" },
+ { "name": "Mikola\nМикола" },
+ { "name": "Thoran\nТоран" },
+ { "name": "Tasi\nТази" },
+ { "name": "Vala\nВала" },
+ { "name": "Hewynn\nХьюинн" },
+ { "name": "Damian\nДамиан" },
+ { "name": "Brutus\nБрутус" },
+ { "name": "Lenya\nЛенья" },
+ { "name": "Rowan\nРован" },
+ { "name": "Antandra\nАнтандра" },
+ { "name": "Soren\nСорен" }
+ ],
+ "A": [
+ { "name": "Sonja\nСоня" },
+ { "name": "Temesia\nТемзия" },
+ { "name": "Nara\nНара" },
+ { "name": "Ulmus\nУльмус" },
+ { "name": "Alsa\nАльса" },
+ { "name": "Florabelle\nФлорабель" },
+ { "name": "Dionel\nДионель" },
+ { "name": "Silvina\nСильвина" },
+ { "name": "Berial\nБериал" },
+ { "name": "Carolina\nКаролина" },
+ { "name": "Lumont\nЛамонт" },
+ { "name": "Sinbad\nСимбад" },
+ { "name": "Parisa\nПариса" },
+ { "name": "Lyca\nЛика" },
+ { "name": "Hodgkin\nХодкин" },
+ { "name": "Dunlingr\nДунглир" },
+ { "name": "Seth\nСет" }
+ ],
+ "B": [
+ { "name": "Arden\nАдрен" },
+ { "name": "Cassadee\nКассадия" },
+ { "name": "Cecia\nЦессия" },
+ { "name": "Marilee\nМерилия" },
+ { "name": "Kruger\nКрюгер" },
+ { "name": "Lucius\nЛюций" },
+ { "name": "Granny Dahnie\nБабуля Дахни" },
+ { "name": "Korin\nКорин" },
+ { "name": "Fay\nФэй" },
+ { "name": "Walker\nУолкер" },
+ { "name": "Valen\nВален" },
+ { "name": "Viperian\nАспид" },
+ { "name": "Niru\nНиру" },
+ { "name": "Lucca\nЛюка" },
+ { "name": "Rhys\nРис" },
+ { "name": "Satrana\nСатрана" },
+ { "name": "Bryon\nБрайн" },
+ { "name": "Salazer\nСалазар" },
+ { "name": "Igor\nИгорь" },
+ { "name": "Atlanta\nАтланта" }
+ ],
+ "C": [{ "name": "Mirael\nМираэль" }, { "name": "Kafra\nКафра" }]
+}