Added Case Files Event, restructured data files, new servants, etc.

This commit is contained in:
Firq 2024-01-24 22:22:54 +01:00
parent f4ad0fa12d
commit 059adbb110
Signed by: Firq
GPG key ID: 3ACC61C8CEC83C20
26 changed files with 1044 additions and 676 deletions

10
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "fgo-ta-com-website",
"version": "0.1.15",
"version": "0.1.16",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "fgo-ta-com-website",
"version": "0.1.15",
"version": "0.1.16",
"dependencies": {
"@astro-community/astro-embed-youtube": "^0.4.3",
"@astrojs/check": "^0.3.4",
@ -2386,9 +2386,9 @@
}
},
"node_modules/astro/node_modules/vite": {
"version": "5.0.10",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz",
"integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==",
"version": "5.0.12",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
"integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
"dependencies": {
"esbuild": "^0.19.3",
"postcss": "^8.4.32",

View file

@ -1,7 +1,7 @@
{
"name": "fgo-ta-com-website",
"type": "module",
"version": "0.1.15",
"version": "0.1.16",
"scripts": {
"dev": "astro dev",
"start": "astro dev",

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -2,7 +2,7 @@
export interface Props {
slug: string
title: string
questReleaseDate: Date
releaseDate: Date
shortdescription: string
}
@ -12,9 +12,9 @@ const options_date: Intl.DateTimeFormatOptions = {
day: '2-digit',
}
const { shortdescription, questReleaseDate, slug, title } = Astro.props
const { shortdescription, releaseDate, slug, title } = Astro.props
const url = `/database/${slug}`
const render_date = questReleaseDate.toLocaleDateString(
const render_date = releaseDate.toLocaleDateString(
'en-GB',
options_date
)

View file

@ -1,19 +1,24 @@
{
"info": {
"title": "",
"questReleaseDate": "YYYY-MM-DD",
"releaseDate": "YYYY-MM-DD",
"shortdescription": "",
"description": "",
"fightNumber": 1
"releaseNumber": 1
},
"quests": [
{
"questTitle": "",
"description": "",
"data": [
{
"title": "",
"title": "Skadi 3T",
"link": "",
"date": "YYYY-MM-DD",
"servant": "",
"turns": "XT",
"runner": ""
"servant": "skadi",
"turns": "3T",
"runner": "Firq"
}
]
}
]
}

View file

@ -1,17 +1,6 @@
import { z, defineCollection } from 'astro:content'
const taInfo = defineCollection({
type: 'data',
schema: z.object({
info: z.object({
title: z.string(),
questReleaseDate: z.string().transform((str) => new Date(str)),
shortdescription: z.string(),
description: z.string(),
fightNumber: z.number().default(1),
}),
data: z.array(
z.object({
const taEntry = z.object({
title: z.string(),
link: z.string().url(),
date: z.string().transform((str) => new Date(str)),
@ -19,6 +8,22 @@ const taInfo = defineCollection({
turns: z.string(),
runner: z.string(),
})
const taInfo = defineCollection({
type: 'data',
schema: z.object({
info: z.object({
title: z.string(),
releaseDate: z.string().transform((str) => new Date(str)),
shortdescription: z.string(),
releaseNumber: z.number().default(1),
}),
quests: z.array(
z.object({
questTitle: z.string(),
description: z.string(),
data: z.array(taEntry)
})
),
}),
})

View file

@ -1,11 +1,14 @@
{
"info": {
"title": "(Lostbelt 6) Albion",
"questReleaseDate": "2023-07-10",
"releaseDate": "2023-07-10",
"shortdescription": "Albion shows up with a new mechanic, but will it be enough?",
"description": "Albion shows up with a new mechanic, but will it be enough? No, because the mechanics are only seen as a small challenge and were quickly rendered a sideeffect during this quest - to the dismay of Melusine",
"fightNumber": 1
"releaseNumber": 1
},
"quests": [
{
"questTitle": "(Lostbelt 6) Albion",
"description": "Albion shows up with a new mechanic, but will it be enough? No, because the mechanics are only seen as a small challenge and were quickly rendered a sideeffect during this quest - to the dismay of Melusine",
"data": [
{
"title": "Musashi 3T",
@ -129,3 +132,5 @@
}
]
}
]
}

View file

@ -1,10 +1,13 @@
{
"info": {
"title": "Beast IV:L",
"questReleaseDate": "2023-12-26",
"shortdescription": "An interesting conclusion to Tunguska to say the least",
"description": "An interesting conclusion to Tunguska to say the least - A really annoying fight with a lot of field effects, including a permanent 40% Buff Success Rate down, as well as 80% Special Defense and 2 full turns of Invincibility. And still - the TA community showed Koyanskaya that she wasn't fit for being a beast in no time."
"releaseDate": "2023-12-26",
"shortdescription": "An interesting conclusion to Tunguska to say the least"
},
"quests": [
{
"questTitle": "Beast IV:L",
"description": "An interesting conclusion to Tunguska to say the least - A really annoying fight with a lot of field effects, including a permanent 40% Buff Success Rate down, as well as 80% Special Defense and 2 full turns of Invincibility. And still - the TA community showed Koyanskaya that she wasn't fit for being a beast in no time.",
"data": [
{
"title": "Shishou 4T (No MLB DMG CE)",
@ -152,3 +155,5 @@
}
]
}
]
}

View file

@ -0,0 +1,326 @@
{
"info": {
"title": "Case Files Rerun 2024",
"releaseDate": "2024-01-10",
"shortdescription": "The rerun of the collaboration event with the Case Files franchise - ",
"releaseNumber": 1
},
"quests": [
{
"questTitle": "Another Master and Servant",
"description": "A battle against Master and Servant, represented by Waver and Alexander",
"data": [
{
"title": "Shishou 3T",
"link": "https://www.youtube.com/watch?v=j1fFbkfYtvo",
"date": "2024-01-22",
"servant": "shishou",
"turns": "3T",
"runner": "Firq"
},
{
"title": "Shishou 3T (FLO)",
"link": "https://www.youtube.com/watch?v=Sszw_x7IqVU",
"date": "2024-01-23",
"servant": "shishou",
"turns": "3T",
"runner": "Firq"
},
{
"title": "Muramasa 3T",
"link": "https://www.youtube.com/watch?v=IyOXmmY9wy8",
"date": "2024-01-21",
"servant": "muramasa",
"turns": "3T",
"runner": "Loki"
},
{
"title": "Artoria 3T",
"link": "https://www.youtube.com/watch?v=UnFsH4t0A4Y",
"date": "2024-01-22",
"servant": "artoria",
"turns": "3T",
"runner": "HardChibi"
},
{
"title": "Salter 3T",
"link": "https://www.youtube.com/watch?v=K_8iF_EHP1g",
"date": "2024-01-21",
"servant": "saberalter",
"turns": "3T",
"runner": "im poketar"
},
{
"title": "Sei 3T",
"link": "https://www.youtube.com/watch?v=kCajUN2Lz2Q",
"date": "2024-01-24",
"servant": "sei",
"turns": "3T",
"runner": "crimsonmage"
},
{
"title": "Cinder-Eli 3T",
"link": "https://www.youtube.com/watch?v=BPc7RTY_c7M",
"date": "2024-01-21",
"servant": "cindereli",
"turns": "3T",
"runner": "Alastair Hale"
},
{
"title": "Kama 3T (FLO)",
"link": "https://www.youtube.com/watch?v=-4dDZV7ijeM",
"date": "2024-01-22",
"servant": "kama",
"turns": "3T",
"runner": "Requiem"
},
{
"title": "MHXA 3T",
"link": "https://www.youtube.com/watch?v=TfWsR-hVULo",
"date": "2024-01-20",
"servant": "mhxa",
"turns": "3T",
"runner": "Ayumi"
},
{
"title": "Morgan 3T (6 Cost)",
"link": "https://www.youtube.com/watch?v=zXQ_FrnBh0k",
"date": "2024-01-20",
"servant": "morgan",
"turns": "3T",
"runner": "Ray"
},
{
"title": "Astrea 3T (FLO)",
"link": "https://www.youtube.com/watch?v=kwqjMhYrQHY",
"date": "2024-01-20",
"servant": "astrea",
"turns": "3T",
"runner": "Alastair Hale"
},
{
"title": "Van Gogh 3T",
"link": "https://www.youtube.com/watch?v=VbSXl8GthwM",
"date": "2024-01-20",
"servant": "vangogh",
"turns": "3T",
"runner": "Alastair Hale"
},
{
"title": "Hokusai 3T",
"link": "https://www.youtube.com/watch?v=CIzUCIN-ft4",
"date": "2024-01-24",
"servant": "hokusai",
"turns": "3T",
"runner": "inv4der"
},
{
"title": "Okita Alter 3T (FLO)",
"link": "https://www.youtube.com/watch?v=qkah__8XWJk",
"date": "2024-01-20",
"servant": "okitaalter",
"turns": "3T",
"runner": "TokuHer0"
},
{
"title": "Summer BB 3T (FLO, NoCE)",
"link": "https://www.youtube.com/watch?v=VAEjvL34hsc",
"date": "2024-01-21",
"servant": "bbsummer",
"turns": "3T",
"runner": "Felt"
},
{
"title": "Kijyo Koyo 3T (FLO, NoCE)",
"link": "https://www.youtube.com/watch?v=A5-VRkAx__o",
"date": "2024-01-19",
"servant": "koyo",
"turns": "3T",
"runner": "MCR"
}
]
},
{
"questTitle": "Case - Train Tea Party",
"description": "A showdown on top of a train against both Reines and Gray",
"data": [
{
"title": "Artoria 3T",
"link": "https://www.youtube.com/watch?v=FQ6Zb_kzrWs",
"date": "2024-01-21",
"servant": "artoria",
"turns": "3T",
"runner": "HardChibi"
},
{
"title": "Artoria 3T (FLO)",
"link": "https://www.youtube.com/watch?v=uKercpWUnGs&t=216s",
"date": "2024-01-19",
"servant": "artoria",
"turns": "3T",
"runner": "Fu Windsword"
},
{
"title": "Altera 3T",
"link": "https://www.youtube.com/watch?v=WcHpHfFnVrY",
"date": "2024-01-24",
"servant": "altera",
"turns": "3T",
"runner": "Lyud"
},
{
"title": "Saber Lily 3T",
"link": "https://www.youtube.com/watch?v=jCwTbmLsGcA",
"date": "2024-01-18",
"servant": "saberlily",
"turns": "3T",
"runner": "Ayumi"
},
{
"title": "Gilgamesh 3T (NoCE)",
"link": "https://www.youtube.com/watch?v=nWeZ9lo2iYI",
"date": "2024-01-18",
"servant": "gilgamesh",
"turns": "3T",
"runner": "Kusanagi"
},
{
"title": "Sei 3T",
"link": "https://www.youtube.com/watch?v=BEGortNzIsQ",
"date": "2024-01-23",
"servant": "sei",
"turns": "3T",
"runner": "inv4der"
},
{
"title": "Melusine 3T (FLO, NoCE)",
"link": "https://www.youtube.com/watch?v=OgoteFJL85A",
"date": "2024-01-21",
"servant": "melusine",
"turns": "3T",
"runner": "TokuHer0"
},
{
"title": "Melusine 3T (FLO)",
"link": "https://www.youtube.com/watch?v=PTtm_c7F5Ro",
"date": "2024-01-18",
"servant": "melusine",
"turns": "3T",
"runner": "Felt"
},
{
"title": "Ivan 3T",
"link": "https://www.youtube.com/watch?v=shsogSLclv4",
"date": "2024-01-24",
"servant": "ivan",
"turns": "3T",
"runner": "ProbablyAParrot"
},
{
"title": "Gong 3T",
"link": "https://www.youtube.com/watch?v=bc5LvCQO56I&t=244s",
"date": "2024-01-23",
"servant": "gong",
"turns": "3T",
"runner": "BadLuck"
},
{
"title": "Morgan 3T (NoCEs)",
"link": "https://www.youtube.com/watch?v=y4XnMyqVGK8",
"date": "2024-01-18",
"servant": "morgan",
"turns": "3T",
"runner": "Loki"
},
{
"title": "Morgan 3T (Lvl 50)",
"link": "https://www.youtube.com/watch?v=MQ2b6FFPMf8",
"date": "2024-01-18",
"servant": "morgan",
"turns": "3T",
"runner": "Ray"
},
{
"title": "Okita Alter 3T (FLO, NoCEs)",
"link": "https://www.youtube.com/watch?v=7Htl-Ld6f-Q",
"date": "2024-01-21",
"servant": "okitaalter",
"turns": "3T",
"runner": "TokuHer0"
},
{
"title": "Kingprotea 3T (FLO)",
"link": "https://www.youtube.com/watch?v=iarswRjrKAI",
"date": "2024-01-21",
"servant": "kingprotea",
"turns": "3T",
"runner": "Akise"
},
{
"title": "Koyan of Dark 3T",
"link": "https://www.youtube.com/watch?v=h_jsUQeOXi8",
"date": "2024-01-21",
"servant": "koyandark",
"turns": "3T",
"runner": "Alastair Hale"
},
{
"title": "Voyager 3T",
"link": "https://www.youtube.com/watch?v=kQ2pRFR3ZmM",
"date": "2024-01-20",
"servant": "voyager",
"turns": "3T",
"runner": "Ise(Kai)"
},
{
"title": "Scathach 5T (4Man)",
"link": "https://www.youtube.com/watch?v=IIk5ypPq9dM",
"date": "2024-01-23",
"servant": "shishou",
"turns": "5T",
"runner": "Requiem"
},
{
"title": "Li Shuwen 5T (NoCE)",
"link": "https://www.youtube.com/watch?v=BHNTmj56Adk",
"date": "2024-01-24",
"servant": "oldli",
"turns": "5T",
"runner": "Alastair Hale"
},
{
"title": "Charlotte 5T",
"link": "https://www.youtube.com/watch?v=aOuK9RhZSFk",
"date": "2024-01-20",
"servant": "charlotte",
"turns": "5T",
"runner": "xy sunder"
},
{
"title": "Taira 5T (FLO, BCE)",
"link": "https://www.youtube.com/watch?v=A5F8Rb26tNY",
"date": "2024-01-22",
"servant": "taira",
"turns": "5T",
"runner": "Felt"
},
{
"title": "Melt 5T (FLO, NoCE)",
"link": "https://www.youtube.com/watch?v=-WRocbYbzpE",
"date": "2024-01-23",
"servant": "melt",
"turns": "5T",
"runner": "xy sunder"
},
{
"title": "MHXA 5T (FLO, NoCE)",
"link": "https://www.youtube.com/watch?v=qFESCN59RFA",
"date": "2024-01-22",
"servant": "mhxa",
"turns": "5T",
"runner": "Ayumi"
}
]
}
]
}

View file

@ -1,11 +1,14 @@
{
"info": {
"title": "(Lostbelt 6) Cernunnos",
"questReleaseDate": "2023-07-10",
"releaseDate": "2023-07-10",
"shortdescription": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects",
"description": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects - and still, the TA community prevailed and created some of the most amazing runs of all time",
"fightNumber": 2
"releaseNumber": 2
},
"quests": [
{
"questTitle": "(Lostbelt 6) Cernunnos",
"description": "One of FGOs most notorious boss fights due to up to 100% special defense, strong DoT damage and powerful field effects - and still, the TA community prevailed and created some of the most amazing runs of all time",
"data": [
{
"title": "Shishou 4T (No Castoria)",
@ -97,3 +100,5 @@
}
]
}
]
}

View file

@ -1,11 +1,14 @@
{
"info": {
"title": "Devilish Bodhisattva",
"questReleaseDate": "2022-06-21",
"releaseDate": "2022-06-21",
"shortdescription": "One of the most infamous fights in FGO, Full Power Beast III:R",
"description": "One of the most infamous fights in FGO, Full Power Beast III:R ... but the racers make even this fight look easy at times, clearning it with the most diverse roster of servants ever seen.",
"fightNumber": 1
"releaseNumber": 1
},
"quests": [
{
"questTitle": "Devilish Bodhisattva",
"description": "One of the most infamous fights in FGO, Full Power Beast III:R ... but the racers make even this fight look easy at times, clearning it with the most diverse roster of servants ever seen.",
"data": [
{
"title": "Shishou 7T (NoDupes)",
@ -113,3 +116,5 @@
}
]
}
]
}

View file

@ -1,11 +1,14 @@
{
"info": {
"title": "(Lostbelt 6) Queen Morgan",
"questReleaseDate": "2023-06-20",
"releaseDate": "2023-06-20",
"shortdescription": "The fight against the Lostbelt 6 Queen as the conclusion of LB 6 Part 2",
"description": "The fight against the Lostbelt 6 Queen as the conclusion of LB 6 Part 2 - Interesting field effects and a berserker enemy were making this fight interesting, as Morgan is hitting like an actual truck, meaning support cycling was a lot easier than usual.",
"fightNumber": 1
"releaseNumber": 1
},
"quests": [
{
"questTitle": "(Lostbelt 6) Queen Morgan",
"description": "The fight against the Lostbelt 6 Queen as the conclusion of LB 6 Part 2 - Interesting field effects and a berserker enemy were making this fight interesting, as Morgan is hitting like an actual truck, meaning support cycling was a lot easier than usual.",
"data": [
{
"title": "Skadi 3T",
@ -161,3 +164,5 @@
}
]
}
]
}

View file

@ -11,7 +11,6 @@ export interface Props {
const { collectionKey } = Astro.props
const taEntry = await plsLoadTAEntry(collectionKey)
const pagetitle = `${taEntry.info.title} - FGO TA`
taEntry.data.sort((a, b) => b.date.valueOf() - a.date.valueOf() )
---
<Layout
@ -20,12 +19,17 @@ taEntry.data.sort((a, b) => b.date.valueOf() - a.date.valueOf() )
descriptionOverride={taEntry.info.shortdescription}
>
<a href="/database">&lt&lt Back to database</a>
<BaseSection
title={taEntry.info.title}
description={taEntry.info.description}
>
{taEntry.data.map((item) => <TACard {...item} />)}
{
taEntry.quests.map((item) => (
<BaseSection title={item.questTitle} description={item.description}>
{item.data
.sort((a, b) => b.date.valueOf() - a.date.valueOf())
.map((item) => (
<TACard {...item} />
))}
</BaseSection>
))
}
<div class="placeholder"></div>
</Layout>
@ -37,6 +41,9 @@ taEntry.data.sort((a, b) => b.date.valueOf() - a.date.valueOf() )
}
a {
position: sticky;
top: 4rem;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;

View file

@ -8,7 +8,7 @@ const description = 'FGO NA TA Database'
const fulldata = await getCollection('taInfoData')
fulldata.sort(
(a, b) => b.data.info.questReleaseDate.valueOf() - a.data.info.questReleaseDate.valueOf() || b.data.info.fightNumber - a.data.info.fightNumber
(a, b) => b.data.info.releaseDate.valueOf() - a.data.info.releaseDate.valueOf() || b.data.info.releaseNumber - a.data.info.releaseNumber
)
---