Compare commits
No commits in common. "f2ff4e47cfcb238459ab9a4606cf6b28315fe7b9" and "9a84cf7fc21e179041f8feb9472385559d7953c5" have entirely different histories.
f2ff4e47cf
...
9a84cf7fc2
14 changed files with 687 additions and 738 deletions
1329
package-lock.json
generated
1329
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@firq/fgosite",
|
"name": "@firq/fgosite",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.1.21",
|
"version": "0.1.20",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 28 KiB |
Binary file not shown.
Before Width: | Height: | Size: 36 KiB |
Binary file not shown.
Before Width: | Height: | Size: 91 KiB |
Binary file not shown.
Before Width: | Height: | Size: 144 KiB |
|
@ -9,21 +9,19 @@ export interface Props {
|
||||||
}
|
}
|
||||||
|
|
||||||
const { imageFile, link, site } = Astro.props
|
const { imageFile, link, site } = Astro.props
|
||||||
const logoAltText = `${site} Logo`
|
|
||||||
const imagePath = `/src/assets/social/${imageFile}`
|
const imagePath = `/src/assets/social/${imageFile}`
|
||||||
const images_logos = import.meta.glob<{ default: ImageMetadata }>(
|
const images_logos = import.meta.glob<{ default: ImageMetadata }>(
|
||||||
'/src/assets/social/*.{png,webp}'
|
'/src/assets/social/*.{png,webp}'
|
||||||
)
|
)
|
||||||
---
|
---
|
||||||
|
|
||||||
<a href={link} target="_blank" rel="noopener noreferrer" aria-label=`${site} - new window`>
|
<a href={link} target="_blank" rel="noopener noreferrer" aria-label={site}>
|
||||||
<article class="contact do-hover">
|
<article class="contact do-hover">
|
||||||
<Image src={images_logos[imagePath]()} alt={logoAltText} />
|
<Image src={images_logos[imagePath]()} alt="" />
|
||||||
<div>
|
<div>
|
||||||
<h2>{site}</h2>
|
<h2>{site}</h2>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<span class="visually-hidden">{logoAltText}</span>
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -14,7 +14,7 @@ const imagePath = `/src/assets/favourites/${imageFile}`
|
||||||
const images = import.meta.glob<{ default: ImageMetadata }>('/src/assets/favourites/*.{png,webp}')
|
const images = import.meta.glob<{ default: ImageMetadata }>('/src/assets/favourites/*.{png,webp}')
|
||||||
---
|
---
|
||||||
|
|
||||||
<a href={link} target="_blank" rel="noopener noreferrer" aria-label=`${name} - new window`>
|
<a href={link} target="_blank" rel="noopener noreferrer">
|
||||||
<div class="heading">{name}</div>
|
<div class="heading">{name}</div>
|
||||||
<Image src={images[imagePath]()} alt={name} />
|
<Image src={images[imagePath]()} alt={name} />
|
||||||
<h2 class="subtext">
|
<h2 class="subtext">
|
||||||
|
|
|
@ -6,19 +6,18 @@ const hamburger_src_url = `url("${hamburger.src}")`;
|
||||||
---
|
---
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
<a href="/" rel="noopener noreferrer" aria-label="Home" role="navigation">
|
<a href="/" rel="noopener noreferrer" aria-label="Home">
|
||||||
<Image src={logo} alt="Firq Website Logo"/>
|
<Image src={logo} alt="Website Logo"/>
|
||||||
<span class="visually-hidden">Firq Website Logo</span>
|
|
||||||
</a>
|
</a>
|
||||||
<ul class="desktop">
|
<ul class="desktop">
|
||||||
<slot name="desktop"/>
|
<slot />
|
||||||
</ul>
|
</ul>
|
||||||
<button class="mobile" aria-label="Navigation Button" tabindex="0" onclick="this.focus()" role="navigation">
|
<button class="mobile" aria-label="Navigation Button" tabindex="0" onclick="this.focus()">
|
||||||
<ul>
|
<ul>
|
||||||
<slot name="mobile"/>
|
<slot />
|
||||||
</ul>
|
</ul>
|
||||||
<div class="placeholder"></div>
|
<div class="placeholder"></div>
|
||||||
<div class="hamburger-menu" role="navigation"></div>
|
<div class="hamburger-menu"></div>
|
||||||
</button>
|
</button>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
@ -109,12 +108,12 @@ const hamburger_src_url = `url("${hamburger.src}")`;
|
||||||
.hamburger-menu {
|
.hamburger-menu {
|
||||||
mask: var(--hamburger_src_url) no-repeat center;
|
mask: var(--hamburger_src_url) no-repeat center;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
width: 2rem;
|
width: 2em;
|
||||||
height: 2rem;
|
height: 2em;
|
||||||
position: static;
|
position: static;
|
||||||
align-self: flex-start;
|
align-self: flex-start;
|
||||||
margin-right: 1rem;
|
padding-right: 1em;
|
||||||
margin-top: 1rem;
|
padding-top: 2.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 1140px) {
|
@media (min-width: 1140px) {
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
---
|
---
|
||||||
export interface Props {
|
export interface Props {
|
||||||
currentPage?: string
|
currentPage?: string
|
||||||
navtype: "mobile" | "desktop"
|
|
||||||
link: string
|
link: string
|
||||||
text: string
|
text: string
|
||||||
icon: ImageMetadata
|
icon: ImageMetadata
|
||||||
}
|
}
|
||||||
|
|
||||||
const { icon, text, link, navtype, currentPage } = Astro.props
|
const { icon, text, link, currentPage } = Astro.props
|
||||||
|
|
||||||
let currPage = ''
|
let currPage = ''
|
||||||
const slug = link.replace(new RegExp('/', 'g'), '')
|
const slug = link.replace(new RegExp('/', 'g'), '')
|
||||||
|
@ -20,8 +19,6 @@ if (currentPage === slug) {
|
||||||
|
|
||||||
const icon_src_url = `url("${icon.src}")`;
|
const icon_src_url = `url("${icon.src}")`;
|
||||||
const fulllink = `/${slug}`
|
const fulllink = `/${slug}`
|
||||||
|
|
||||||
let extraattributes = navtype === "mobile" ? { tabindex: "0"} : {}
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
|
@ -30,8 +27,7 @@ let extraattributes = navtype === "mobile" ? { tabindex: "0"} : {}
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
aria-label={text}
|
aria-label={text}
|
||||||
class={currPage}
|
class={currPage}
|
||||||
role="navigation"
|
tabindex="0"
|
||||||
{...extraattributes}
|
|
||||||
>
|
>
|
||||||
<div class="icon"></div>
|
<div class="icon"></div>
|
||||||
{text}
|
{text}
|
||||||
|
|
|
@ -9,7 +9,6 @@ export interface Props {
|
||||||
}
|
}
|
||||||
|
|
||||||
const { imageFile, link, title } = Astro.props
|
const { imageFile, link, title } = Astro.props
|
||||||
const logoAltText = `${title} Logo`
|
|
||||||
const imagePath = `/src/assets/technologies/${imageFile}`
|
const imagePath = `/src/assets/technologies/${imageFile}`
|
||||||
const images_logos = import.meta.glob<{ default: ImageMetadata }>(
|
const images_logos = import.meta.glob<{ default: ImageMetadata }>(
|
||||||
'/src/assets/technologies/*.{png,webp}'
|
'/src/assets/technologies/*.{png,webp}'
|
||||||
|
@ -18,12 +17,11 @@ const images_logos = import.meta.glob<{ default: ImageMetadata }>(
|
||||||
|
|
||||||
<a href={link} target="_blank" rel="noopener noreferrer" aria-label={title}>
|
<a href={link} target="_blank" rel="noopener noreferrer" aria-label={title}>
|
||||||
<article>
|
<article>
|
||||||
<Image src={images_logos[imagePath]()} alt={logoAltText} />
|
<Image src={images_logos[imagePath]()} alt="" />
|
||||||
<div>
|
<div>
|
||||||
<h2>{title}</h2>
|
<h2>{title}</h2>
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<span class="visually-hidden">{logoAltText}</span>
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -77,12 +77,7 @@ const mapped_navdata = navdata.map((item) => ({
|
||||||
<Navbar>
|
<Navbar>
|
||||||
{
|
{
|
||||||
mapped_navdata.map((item) => (
|
mapped_navdata.map((item) => (
|
||||||
<NavbarEntry currentPage={currentpage} navtype="desktop" {...item} slot="desktop"/>
|
<NavbarEntry currentPage={currentpage} {...item} />
|
||||||
))
|
|
||||||
}
|
|
||||||
{
|
|
||||||
mapped_navdata.map((item) => (
|
|
||||||
<NavbarEntry currentPage={currentpage} navtype="mobile" {...item} slot="mobile"/>
|
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
</Navbar>
|
</Navbar>
|
||||||
|
@ -107,15 +102,4 @@ const mapped_navdata = navdata.map((item) => ({
|
||||||
background: var(--c-lightgray);
|
background: var(--c-lightgray);
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.visually-hidden {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0 0 0 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -6,9 +6,6 @@ description: 'A handful of observations from the cernunnos fight'
|
||||||
author: 'Requiem & Firq'
|
author: 'Requiem & Firq'
|
||||||
tags: ['fgo', 'lostbelt 6', 'cernunnos']
|
tags: ['fgo', 'lostbelt 6', 'cernunnos']
|
||||||
---
|
---
|
||||||
import thumbnail_firq from "../../assets/thumbnails/WrHudtdfivA.jpg"
|
|
||||||
import thumbnail_requiem from "../../assets/thumbnails/O1f-go7uJQM.jpg"
|
|
||||||
import YoutubeEmbed from "../../components/youtubeEmbed.astro"
|
|
||||||
|
|
||||||
## Foreword
|
## Foreword
|
||||||
|
|
||||||
|
@ -48,19 +45,3 @@ On the first break Cernunnos skill seals your servants. This means on turn 2 you
|
||||||
As an example:
|
As an example:
|
||||||
Let's say I used Alteras third skill turn 1. She has to wait 5 turns to reuse it and on turn 3 Vitch gives her 2 times cooldown reduction.
|
Let's say I used Alteras third skill turn 1. She has to wait 5 turns to reuse it and on turn 3 Vitch gives her 2 times cooldown reduction.
|
||||||
Ideally you would be able to reuse her third skill on turn 4 but because she gets skill sealed she can't do it.
|
Ideally you would be able to reuse her third skill on turn 4 but because she gets skill sealed she can't do it.
|
||||||
|
|
||||||
## Resulting runs
|
|
||||||
|
|
||||||
Both Requiem and I managed to get unique TAs done with Scathach (Requiem even with more servants). Those runs are embedded here:
|
|
||||||
|
|
||||||
### Firq
|
|
||||||
|
|
||||||
This run doesn't use the support Castoria provided by the game and instead makes use of Sherlock instead.
|
|
||||||
|
|
||||||
<YoutubeEmbed id="WrHudtdfivA" thumbnail={thumbnail_firq.src}/>
|
|
||||||
|
|
||||||
### Requiem
|
|
||||||
|
|
||||||
A frontline only run with double Castoria
|
|
||||||
|
|
||||||
<YoutubeEmbed id="O1f-go7uJQM" thumbnail={thumbnail_requiem.src}/>
|
|
|
@ -310,21 +310,5 @@
|
||||||
"date": "2023-12-16",
|
"date": "2023-12-16",
|
||||||
"servantImageFile": "shishou.png",
|
"servantImageFile": "shishou.png",
|
||||||
"turns": "3T"
|
"turns": "3T"
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Tunguska - Beast of Taming 4T (FLO)",
|
|
||||||
"link": "https://www.youtube.com/watch?v=g6aASJeL-ao",
|
|
||||||
"targetImageFile": "koyanskayaofdark.png",
|
|
||||||
"date": "2023-12-26",
|
|
||||||
"servantImageFile": "shishou.png",
|
|
||||||
"turns": "4T"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Tunguska - Beast IV:L 4T",
|
|
||||||
"link": "https://www.youtube.com/watch?v=brz21NKMMsY",
|
|
||||||
"targetImageFile": "beast_4_l.png",
|
|
||||||
"date": "2023-12-31",
|
|
||||||
"servantImageFile": "shishou.png",
|
|
||||||
"turns": "4T"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue