zenno/doc: auto-toc

This commit is contained in:
2026-05-29 16:32:35 -04:00
parent 847f2eb8ca
commit 9318bb9091
4 changed files with 149 additions and 78 deletions

View File

@@ -0,0 +1,42 @@
<script lang="ts">
import { type Snippet } from 'svelte';
import Sec from './Sec.svelte';
import { sections, type Section } from './article.svelte';
interface Props {
head: Snippet;
children: Snippet;
}
let { head, children }: Props = $props();
function tocClass(s: Section) {
switch (s.h) {
case 1:
return null;
case 2:
return null;
case 3:
return 'ml-4';
case 4:
return 'ml-8';
case 5:
return 'ml-12';
case 6:
return 'ml-16';
}
}
</script>
<article class="mx-auto max-w-4xl text-justify hyphens-auto">
{@render head()}
{#if sections.length > 0}
<Sec h={2} id="toc" toc={false}>Table of Contents</Sec>
<ul class="mb-4 list-disc pl-4">
{#each sections as s (s.id)}
<li class={tocClass(s)}><a href={`#${s.id}`}>{@render s.children()}</a></li>
{/each}
</ul>
{/if}
{@render children()}
</article>

View File

@@ -1,31 +1,47 @@
<script lang="ts"> <script lang="ts">
import type { Snippet } from 'svelte'; import { onMount, type Snippet } from 'svelte';
import type { ClassValue } from 'svelte/elements'; import type { ClassValue } from 'svelte/elements';
import { sections } from './article.svelte';
interface Props { interface Props {
h?: `${1 | 2 | 3 | 4 | 5 | 6}`; h?: 1 | 2 | 3 | 4 | 5 | 6;
id: string; id: string;
children: Snippet; children: Snippet;
top?: string;
toc?: boolean;
class?: ClassValue | null; class?: ClassValue | null;
} }
let { h = '1', id, children, class: className }: Props = $props(); let { h = 1, id, children, top = '#top', toc = true, class: className }: Props = $props();
const tag = $derived('h' + h); const tag = $derived(`h${h}`);
const href = $derived('#' + id); const href = $derived(`#${id}`);
const sign = $derived.by(() => { const sign = $derived.by(() => {
switch (h) { switch (h) {
case '1': case 1:
return ''; return '';
case '2': case 2:
return '§ '; return '§ ';
default: default:
return '¶ '; return '¶ ';
} }
}); });
onMount(() => {
if (!toc) {
return;
}
sections.push({ id, h, children });
return () => sections.pop();
});
</script> </script>
<svelte:element this={tag} {id} class={className}> <svelte:element this={tag} {id} class={['relative w-full', className]}>
<!-- eslint-disable svelte/no-navigation-without-resolve --> <!-- eslint-disable svelte/no-navigation-without-resolve -->
<a {href}><span class="hidden md:inline">{sign}</span> {@render children()}</a> <a {href}><span class="hidden md:inline">{sign}</span> {@render children()}</a>
{#if h >= 2}
<a href={top} class="absolute right-0 bottom-0 text-end align-bottom text-sm whitespace-nowrap transition-all hover:bottom-px"
>Top ▲</a
>
{/if}
</svelte:element> </svelte:element>

View File

@@ -0,0 +1,9 @@
import { type Snippet } from 'svelte';
export interface Section {
id: string;
h: 1 | 2 | 3 | 4 | 5 | 6;
children: Snippet;
}
export const sections: Section[] = $state([]);

View File

@@ -20,6 +20,7 @@
} from '$lib/race'; } from '$lib/race';
import Skill from '$lib/Skill.svelte'; import Skill from '$lib/Skill.svelte';
import StatChart from '$lib/StatChart.svelte'; import StatChart from '$lib/StatChart.svelte';
import Article from '../Article.svelte';
import Sec from '../Sec.svelte'; import Sec from '../Sec.svelte';
let raceLen = $state(2000); let raceLen = $state(2000);
@@ -127,17 +128,19 @@
]); ]);
</script> </script>
<article class="mx-auto max-w-4xl text-justify hyphens-auto"> <Article>
<Sec h="1" id="top" class="text-center">Front Runner Black Magic</Sec> {#snippet head()}
<Sec h={1} id="top" class="text-center">Front Runner Black Magic</Sec>
<p> <p>
Front runners are playing a fundamentally different game versus other running styles. Building them isn't too hard, and their Front runners are playing a fundamentally different game versus other running styles. Building them isn't too hard, and
careers tend to be easy, but some of the things you need (and don't need) to make a <i>really good</i> front runner are surprising. their careers tend to be easy, but some of the things you need (and don't need) to make a <i>really good</i> front runner are
surprising.
</p> </p>
<p> <p>
This document is advanced material. The target audience intends to win Champions Meet Group A Finals and either wants to use This document is advanced material. The target audience intends to win Champions Meet Group A Finals and either wants to use
front runners to do it or wants to understand what front runners they need to beat. This is meant for players who are already front runners to do it or wants to understand what front runners they need to beat. This is meant for players who are
strong at training: players who can take a target stat line and skill set and turn it into a horse. This document is about the already strong at training: players who can take a target stat line and skill set and turn it into a horse. This document is
mechanics that determine what those stat lines and skill sets should be. about the mechanics that determine what those stat lines and skill sets should be.
</p> </p>
<p> <p>
It is taken as a premise that the reader of this document is familiar with It is taken as a premise that the reader of this document is familiar with
@@ -145,8 +148,9 @@
and and
<a href="https://uma.moe/" target="_blank" rel="noopener noreferrer">uma.moe</a>. <a href="https://uma.moe/" target="_blank" rel="noopener noreferrer">uma.moe</a>.
</p> </p>
{/snippet}
<Sec h="2" id="me">About Me</Sec> <Sec h={2} id="me">About Me</Sec>
<p> <p>
About three weeks after Global launched, my friend told me to get a job, so I sent him a screenshot of me clicking the install About three weeks after Global launched, my friend told me to get a job, so I sent him a screenshot of me clicking the install
button on Umamusume. Since then, I have been an F2P player, with the single exception of the First Anniversary SSR pick button on Umamusume. Since then, I have been an F2P player, with the single exception of the First Anniversary SSR pick
@@ -173,7 +177,7 @@
conditions; the doc is already the place for that information. conditions; the doc is already the place for that information.
</p> </p>
<Sec h="2" id="mechanics">Race Mechanics</Sec> <Sec h={2} id="mechanics">Race Mechanics</Sec>
<p> <p>
Very quick gloss of race fundamentals. Races are divided into four phases: early race, mid race, late race, and last spurt Very quick gloss of race fundamentals. Races are divided into four phases: early race, mid race, late race, and last spurt
phase. They are also divided into twenty-four equal length sections. Early race is sections 1 to 4, mid race is sections 5 to phase. They are also divided into twenty-four equal length sections. Early race is sections 1 to 4, mid race is sections 5 to
@@ -198,7 +202,7 @@
+0.3 or +0.4 m/s² for gold skills and uniques. +0.3 or +0.4 m/s² for gold skills and uniques.
</p> </p>
<Sec h="3" id="runaway">Runaway</Sec> <Sec h={3} id="runaway">Runaway</Sec>
<p> <p>
The skill <Skill skill={202051} hint="runaway" /> converts front runners into the <i>Great Escape</i> running style. However, The skill <Skill skill={202051} hint="runaway" /> converts front runners into the <i>Great Escape</i> running style. However,
no player has ever uttered the words "Great Escape" when talking about Umamusume, presumably because Runaway is a much cooler no player has ever uttered the words "Great Escape" when talking about Umamusume, presumably because Runaway is a much cooler
@@ -211,7 +215,7 @@
runners also apply to runaways. runners also apply to runaways.
</p> </p>
<Sec h="3" id="phase-speed">Phase Speed</Sec> <Sec h={3} id="phase-speed">Phase Speed</Sec>
<p> <p>
Race base speed is multiplied by the speed strategy&ndash;phase coefficient for each horse. As the name suggests, SSPC is Race base speed is multiplied by the speed strategy&ndash;phase coefficient for each horse. As the name suggests, SSPC is
different per running style and per race phase. It's the thing that makes runaways take off in early race, and the thing that different per running style and per race phase. It's the thing that makes runaways take off in early race, and the thing that
@@ -228,7 +232,7 @@
will likely lose only a couple races within the difference throughout a CM event. will likely lose only a couple races within the difference throughout a CM event.
</p> </p>
<Sec h="3" id="win-cons">Win Conditions</Sec> <Sec h={3} id="win-cons">Win Conditions</Sec>
<p> <p>
Generally more important than speed itself (for all running styles) is landing an acceleration skill at the beginning of late Generally more important than speed itself (for all running styles) is landing an acceleration skill at the beginning of late
race. The strength of front runners is having the most consistent options for doing so. race. The strength of front runners is having the most consistent options for doing so.
@@ -263,14 +267,14 @@
get VC and final corner lane movement hasn't happened. get VC and final corner lane movement hasn't happened.
</p> </p>
<Sec h="2" id="positioning">Positioning Mechanics</Sec> <Sec h={2} id="positioning">Positioning Mechanics</Sec>
<p> <p>
The theme among front runner win conditions is requiring being in or very close to first place when late race starts. So, The theme among front runner win conditions is requiring being in or very close to first place when late race starts. So,
lesser running styles aside, beating other fronts is a matter of manipulating skills and race mechanics to win in early and lesser running styles aside, beating other fronts is a matter of manipulating skills and race mechanics to win in early and
mid race. mid race.
</p> </p>
<Sec h="3" id="front-modes">Speed-Up and Overtake Modes</Sec> <Sec h={3} id="front-modes">Speed-Up and Overtake Modes</Sec>
<p> <p>
During the first 41.67% of the race, <i>position keep</i> is busy arranging each running style into their respective packs. During the first 41.67% of the race, <i>position keep</i> is busy arranging each running style into their respective packs.
During position keep, all horses have access to <i>running modes</i> that influence how they run. During position keep, all horses have access to <i>running modes</i> that influence how they run.
@@ -291,7 +295,7 @@
/> />
</div> </div>
<Sec h="3" id="pdm">Pace Down Mode</Sec> <Sec h={3} id="pdm">Pace Down Mode</Sec>
<p> <p>
The running modes for all other running styles are pace-up, which is similar to speed-up, and paced-down, which activates The running modes for all other running styles are pace-up, which is similar to speed-up, and paced-down, which activates
whenever a horse gets what their style defines as too close to first place. whenever a horse gets what their style defines as too close to first place.
@@ -308,7 +312,7 @@
subject to PDM at all. Their mid race speed skills always gain distance. subject to PDM at all. Their mid race speed skills always gain distance.
</p> </p>
<Sec h="3" id="spot-struggle">Spot Struggle</Sec> <Sec h={3} id="spot-struggle">Spot Struggle</Sec>
<p> <p>
For each of runaways and non-runaways, there is at most one spot struggle per race. Runaways will not spot struggle with For each of runaways and non-runaways, there is at most one spot struggle per race. Runaways will not spot struggle with
non-runaways, nor vice-versa. When a spot struggle triggers, all front runnners of that type within range participate; I've non-runaways, nor vice-versa. When a spot struggle triggers, all front runnners of that type within range participate; I've
@@ -335,7 +339,7 @@
analysis. analysis.
</p> </p>
<Sec h="3" id="lane-combo">Lane Combo</Sec> <Sec h={3} id="lane-combo">Lane Combo</Sec>
<p> <p>
While under the influence of a skill that increases lane movement speed (shoe icon skills), and while actively changing lanes While under the influence of a skill that increases lane movement speed (shoe icon skills), and while actively changing lanes
(i.e. moving sideways), horses gain a (forward) target speed boost that scales with power. This was a change Global received (i.e. moving sideways), horses gain a (forward) target speed boost that scales with power. This was a change Global received
@@ -390,7 +394,7 @@
<!-- TODO(zeph): i could totally annotate a picture though, or find someone else's explanation --> <!-- TODO(zeph): i could totally annotate a picture though, or find someone else's explanation -->
</p> </p>
<Sec h="3" id="uphills">Uphills</Sec> <Sec h={3} id="uphills">Uphills</Sec>
<p> <p>
Running uphill carries a penalty to target speed. This penalty scales negatively with the power stat; that is, higher power Running uphill carries a penalty to target speed. This penalty scales negatively with the power stat; that is, higher power
means faster uphill running. It scales positively with slope angle. There is also a flat reduction in base acceleration for means faster uphill running. It scales positively with slope angle. There is also a flat reduction in base acceleration for
@@ -415,7 +419,7 @@
power on the Arima Kinen mid-race hills. power on the Arima Kinen mid-race hills.
</p> </p>
<Sec h="3" id="downhills">Downhills</Sec> <Sec h={3} id="downhills">Downhills</Sec>
<p> <p>
Running downhill allows horses to enter <i>downhill accel mode</i>. Contrary to its name, downhill accel mode does not affect Running downhill allows horses to enter <i>downhill accel mode</i>. Contrary to its name, downhill accel mode does not affect
acceleration at all; it gives horses a target speed boost that scales with the slope angle, plus lowered HP consumption via a acceleration at all; it gives horses a target speed boost that scales with the slope angle, plus lowered HP consumption via a
@@ -441,7 +445,7 @@
Conversely, the HP savings on long downhills can be enough to drop a recovery skill or two on some tracks. Conversely, the HP savings on long downhills can be enough to drop a recovery skill or two on some tracks.
</p> </p>
<Sec h="3" id="section-speed">Section Speed</Sec> <Sec h={3} id="section-speed">Section Speed</Sec>
<p> <p>
Each section, each horse gets a random modifier to target speed. The modifier's range is determined by the wit stat. Each section, each horse gets a random modifier to target speed. The modifier's range is determined by the wit stat.
(Curiously, the calculation uses both wit as modified by style proficiency and green skills as well as base wit.) (Curiously, the calculation uses both wit as modified by style proficiency and green skills as well as base wit.)
@@ -485,7 +489,7 @@
wit front A horse will pass in {secSpeedPassTime} seconds on average at mid race speeds. wit front A horse will pass in {secSpeedPassTime} seconds on average at mid race speeds.
</p> </p>
<Sec h="3" id="no-zone">No-Overtake Zone</Sec> <Sec h={3} id="no-zone">No-Overtake Zone</Sec>
<p> <p>
The NO zone is the 200m portion of the race prior to the first corner. For unclear reasons, while in the NO zone, horses The NO zone is the 200m portion of the race prior to the first corner. For unclear reasons, while in the NO zone, horses
cannot enter overtake lane mode, which is what allows them to move away from the rail. (Overtake lane mode is different from cannot enter overtake lane mode, which is what allows them to move away from the rail. (Overtake lane mode is different from
@@ -504,7 +508,7 @@
pass on corners, and on those tracks, that corner lasts all the way into late race. pass on corners, and on those tracks, that corner lasts all the way into late race.
</p> </p>
<Sec h="2" id="skills">Skills</Sec> <Sec h={2} id="skills">Skills</Sec>
<p>Since competitive horses in the MANT+ era tend to have similar stat lines, skills are especially important.</p> <p>Since competitive horses in the MANT+ era tend to have similar stat lines, skills are especially important.</p>
<p> <p>
Speed skills are especially valuable for front runners, because they assist in overtakes and defense. Some skills are worth Speed skills are especially valuable for front runners, because they assist in overtakes and defense. Some skills are worth
@@ -535,7 +539,7 @@
</li> </li>
</ul> </ul>
<Sec h="3" id="gate-skills">Gate Skills</Sec> <Sec h={3} id="gate-skills">Gate Skills</Sec>
<p> <p>
Gate skills are <Skill skill={201601} hint="gw" /> (GW), <Skill skill={200532} hint="early lead" />, and <Skill Gate skills are <Skill skill={201601} hint="gw" /> (GW), <Skill skill={200532} hint="early lead" />, and <Skill
skill={200431} skill={200431}
@@ -576,7 +580,7 @@
for GW when you don't have enough greens available. for GW when you don't have enough greens available.
</p> </p>
<Sec h="3" id="spurt-skills">Spurt Skills</Sec> <Sec h={3} id="spurt-skills">Spurt Skills</Sec>
<p> <p>
Because they are post-Angling, skills that activate in the final spurt are typically less interesting to front runners. Because they are post-Angling, skills that activate in the final spurt are typically less interesting to front runners.
Notable exceptions are <Skill skill={910151} hint="barcarole" /> and, on Tokyo turf, <Skill Notable exceptions are <Skill skill={910151} hint="barcarole" /> and, on Tokyo turf, <Skill
@@ -605,7 +609,7 @@
is not worth taking. is not worth taking.
</p> </p>
<Sec h="3" id="others-skills">Other Horses' Skills</Sec> <Sec h={3} id="others-skills">Other Horses' Skills</Sec>
<p>There are two categories of other horses' skills to think about.</p> <p>There are two categories of other horses' skills to think about.</p>
<p> <p>
The first is stamina debuffs: <Skill skill={201441} hint="eyes" />, <Skill skill={201161} hint="murmur" />, <Skill The first is stamina debuffs: <Skill skill={201441} hint="eyes" />, <Skill skill={201161} hint="murmur" />, <Skill
@@ -626,7 +630,7 @@
those uniques to activate. This is the fundamental idea behind <a href="#triple-front">triple front</a> builds. those uniques to activate. This is the fundamental idea behind <a href="#triple-front">triple front</a> builds.
</p> </p>
<Sec h="3" id="skill-timing">Skill Timing</Sec> <Sec h={3} id="skill-timing">Skill Timing</Sec>
<p>Thought experiment.</p> <p>Thought experiment.</p>
<p> <p>
Picture two cars driving on a straight freeway, both at exactly 59 mph because I am American, adjacent lanes, keeping exactly Picture two cars driving on a straight freeway, both at exactly 59 mph because I am American, adjacent lanes, keeping exactly
@@ -656,13 +660,13 @@
is already the best possible thing to do! is already the best possible thing to do!
</p> </p>
<Sec h="2" id="teams">CM Teams</Sec> <Sec h={2} id="teams">CM Teams</Sec>
<p> <p>
Obviously, CM is run in teams of three. While spamming the highest stats you can manage is a valid strategy that will get Obviously, CM is run in teams of three. While spamming the highest stats you can manage is a valid strategy that will get
wins, building a team holistically will lead to higher win rates. wins, building a team holistically will lead to higher win rates.
</p> </p>
<Sec h="3" id="solo-front">Solo Front</Sec> <Sec h={3} id="solo-front">Solo Front</Sec>
<p> <p>
Because solo fronts essentially don't have access to their <a href="#front-modes">running modes</a>, they are unlikely to Because solo fronts essentially don't have access to their <a href="#front-modes">running modes</a>, they are unlikely to
build enough of a lead over paces to win, even with Angling. build enough of a lead over paces to win, even with Angling.
@@ -695,7 +699,7 @@
in the first place, and it disfavors late surgers and end closers who are less equipped to move forward during position keep. in the first place, and it disfavors late surgers and end closers who are less equipped to move forward during position keep.
</p> </p>
<Sec h="3" id="double-front">Double Front</Sec> <Sec h={3} id="double-front">Double Front</Sec>
<p> <p>
Doubling up on front runners is a build that intends to win with them. Which is to say, they should <i>both</i> be built to win Doubling up on front runners is a build that intends to win with them. Which is to say, they should <i>both</i> be built to win
mid race and proc Angling. mid race and proc Angling.
@@ -716,7 +720,7 @@
also effective. also effective.
</p> </p>
<Sec h="3" id="long-double-front">Long Double Front</Sec> <Sec h={3} id="long-double-front">Long Double Front</Sec>
<p> <p>
At long distances, double front has different implications. At long distances, double front has different implications.
<Skill skill={900681} hint="vc" /> is the front runner win condition, and the front two horses both get it. With late race being <Skill skill={900681} hint="vc" /> is the front runner win condition, and the front two horses both get it. With late race being
@@ -752,7 +756,7 @@
that it will trade off fronts' consistency for meta hate, when I'd rather just be stronger. that it will trade off fronts' consistency for meta hate, when I'd rather just be stronger.
</p> </p>
<Sec h="3" id="triple-front">Triple Front</Sec> <Sec h={3} id="triple-front">Triple Front</Sec>
<p> <p>
Triple front is pretty similar to running double front; the difference is that your support is also using the correct running Triple front is pretty similar to running double front; the difference is that your support is also using the correct running
style. That said, you don't really want a front debuffer; different types of support are better. style. That said, you don't really want a front debuffer; different types of support are better.
@@ -795,7 +799,7 @@
between 1200 and 1000 guts can matter. See the <a href={resolve('/mspeed')}>mechanical speed calculator</a> for details. between 1200 and 1000 guts can matter. See the <a href={resolve('/mspeed')}>mechanical speed calculator</a> for details.
</p> </p>
<Sec h="3" id="chariot">Chariot</Sec> <Sec h={3} id="chariot">Chariot</Sec>
<p> <p>
A front runner build that I have seen but not attempted is the chariot: a runaway with a strong mid race but insufficient HP A front runner build that I have seen but not attempted is the chariot: a runaway with a strong mid race but insufficient HP
to spurt stays in front of one or two other front runners who have <Skill to spurt stays in front of one or two other front runners who have <Skill
@@ -814,14 +818,14 @@
viable now. viable now.
</p> </p>
<Sec h="2" id="career">Career</Sec> <Sec h={2} id="career">Career</Sec>
<p>Most front runners enjoy easy careers thanks to strong kits and little chance to be blocked.</p> <p>Most front runners enjoy easy careers thanks to strong kits and little chance to be blocked.</p>
<p> <p>
Currently, this chapter is about MANT (a.k.a. Trackblazer). Unity Cup is still useful &ndash; obviously for runaways, but also Currently, this chapter is about MANT (a.k.a. Trackblazer). Unity Cup is still useful &ndash; obviously for runaways, but also
for spinning up an <Skill skill={210052} hint="ignited wit" mention /> legacy. for spinning up an <Skill skill={210052} hint="ignited wit" mention /> legacy.
</p> </p>
<Sec h="3" id="support-cards">Support Cards</Sec> <Sec h={3} id="support-cards">Support Cards</Sec>
<p> <p>
In MANT, it's relatively easy to get front-specific skills from rivals, so the support cards that are best for front runners In MANT, it's relatively easy to get front-specific skills from rivals, so the support cards that are best for front runners
have changed a bit. have changed a bit.
@@ -871,7 +875,7 @@
version of <Skill skill={201272} hint="leader's pride" mention />. version of <Skill skill={201272} hint="leader's pride" mention />.
</p> </p>
<Sec h="3" id="career-skills">Taking Skills</Sec> <Sec h={3} id="career-skills">Taking Skills</Sec>
<p> <p>
Contrary to advice I sometimes see, you can, in fact, take skills during career without Fast Learner. When you take skills Contrary to advice I sometimes see, you can, in fact, take skills during career without Fast Learner. When you take skills
mid-run without Fast Learner, and you happen to get it later, you effectively lose 10% of the SP you spent to that point. mid-run without Fast Learner, and you happen to get it later, you effectively lose 10% of the SP you spent to that point.
@@ -914,7 +918,7 @@
should usually be even quicker takes. should usually be even quicker takes.
</p> </p>
<Sec h="3" id="niigata-1600">Niigata Junior Stakes</Sec> <Sec h={3} id="niigata-1600">Niigata Junior Stakes</Sec>
<p> <p>
Niigata Junior Stakes is the first non-sprint graded race in career, which means it's very likely to be one you run in MANT. Niigata Junior Stakes is the first non-sprint graded race in career, which means it's very likely to be one you run in MANT.
It's also an oddly anti-front race. Late race starts a good bit past the final corner, which means front runners don't have It's also an oddly anti-front race. Late race starts a good bit past the final corner, which means front runners don't have
@@ -936,7 +940,7 @@
>. (This race is why I made it.) >. (This race is why I made it.)
</p> </p>
<Sec h="3" id="jbc-sprint">JBC Sprint</Sec> <Sec h={3} id="jbc-sprint">JBC Sprint</Sec>
<p> <p>
An even more anti-front track is Ooi 1200 Dirt. This one is actively malicious. Visually, it looks like late race starts on a An even more anti-front track is Ooi 1200 Dirt. This one is actively malicious. Visually, it looks like late race starts on a
corner, but the portion before the stretch is a special <i>neither corner nor straight</i> property. That means Angling won't activate, corner, but the portion before the stretch is a special <i>neither corner nor straight</i> property. That means Angling won't activate,
@@ -948,7 +952,7 @@
take Front Straights/Corners. Don't be too surprised if you lose a clock or five to a Taiki Shuttle rival. take Front Straights/Corners. Don't be too surprised if you lose a clock or five to a Taiki Shuttle rival.
</p> </p>
<Sec h="3" id="3k">Kikuka Sho &amp; Tenno Sho (Spring)</Sec> <Sec h={3} id="3k">Kikuka Sho &amp; Tenno Sho (Spring)</Sec>
<p> <p>
The main concern with 3K races is always stamina. Front runners are punished on long distances because they convert stamina to The main concern with 3K races is always stamina. Front runners are punished on long distances because they convert stamina to
HP less efficiently than other styles, and because Spot Struggle drains an extra chunk. HP less efficiently than other styles, and because Spot Struggle drains an extra chunk.
@@ -978,7 +982,7 @@
hard time if you're on Long C. hard time if you're on Long C.
</p> </p>
<Sec h="3" id="kitasan-black">Kitasan Black</Sec> <Sec h={3} id="kitasan-black">Kitasan Black</Sec>
<p> <p>
Kitasan Black doesn't get the easy careers that other front runners do. For one thing, if you're training Kitasan, you Kitasan Black doesn't get the easy careers that other front runners do. For one thing, if you're training Kitasan, you
probably don't have Sei as a parent since their uniques don't mesh (except on Nakayama 2500). Kitasan's own unique is also probably don't have Sei as a parent since their uniques don't mesh (except on Nakayama 2500). Kitasan's own unique is also
@@ -991,7 +995,7 @@
with your intended style, but in career, winning is more important than front running. with your intended style, but in career, winning is more important than front running.
</p> </p>
<Sec h="2" id="umas">Front Runners</Sec> <Sec h={2} id="umas">Front Runners</Sec>
<ul class="mb-4 list-disc pl-4"> <ul class="mb-4 list-disc pl-4">
<li> <li>
Valentine's Mihono Bourbon (VBourbon) is the easiest font runner to train because she has <Skill Valentine's Mihono Bourbon (VBourbon) is the easiest font runner to train because she has <Skill
@@ -1040,7 +1044,7 @@
aptitudes. aptitudes.
</p> </p>
<Sec h="3" id="coc">Christmas Oguri Cap</Sec> <Sec h={3} id="coc">Christmas Oguri Cap</Sec>
<p> <p>
As is perhaps expected, Christmas Oguri Cap (COC) is very strong as a front runner on specific tracks. The front-specific heal As is perhaps expected, Christmas Oguri Cap (COC) is very strong as a front runner on specific tracks. The front-specific heal
is <Skill skill={201282} hint="moxie" mention />, which activates at the very start of the first uphill. When that first is <Skill skill={201282} hint="moxie" mention />, which activates at the very start of the first uphill. When that first
@@ -1059,7 +1063,7 @@
He reported a 7% win rate for her. (But a much higher win rate overall &ndash; after all, he was using triple front.) He reported a 7% win rate for her. (But a much higher win rate overall &ndash; after all, he was using triple front.)
</p> </p>
<Sec h="3" id="taiki-shuttle">Taiki Shuttle &amp; Curren Chan</Sec> <Sec h={3} id="taiki-shuttle">Taiki Shuttle &amp; Curren Chan</Sec>
<p> <p>
When building <a href="#triple-front">triple fronts</a>, you will naturally have a horse in third. This presents an When building <a href="#triple-front">triple fronts</a>, you will naturally have a horse in third. This presents an
opportunity to use a horse who is normally a pace chaser as a type of gambler. opportunity to use a horse who is normally a pace chaser as a type of gambler.
@@ -1070,7 +1074,7 @@
fronts e.g. due to requiring other nearby horses on the final straight. fronts e.g. due to requiring other nearby horses on the final straight.
</p> </p>
<Sec h="2" id="stats">Stat Reference</Sec> <Sec h={2} id="stats">Stat Reference</Sec>
<p> <p>
This chapter is an extremely brief reference of what front runner race mechanics each stat and aptitude applies to and how This chapter is an extremely brief reference of what front runner race mechanics each stat and aptitude applies to and how
they scale. they scale.
@@ -1105,18 +1109,18 @@
flips back to positive. flips back to positive.
</p> </p>
<Sec h="3" id="stats-speed">Speed</Sec> <Sec h={3} id="stats-speed">Speed</Sec>
<ul class="mb-4 list-disc pl-4"> <ul class="mb-4 list-disc pl-4">
<li>Spurt speed, root scaling</li> <li>Spurt speed, root scaling</li>
<li>Late race speed when not spurting, root scaling</li> <li>Late race speed when not spurting, root scaling</li>
</ul> </ul>
<Sec h="3" id="stats-stamina">Stamina</Sec> <Sec h={3} id="stats-stamina">Stamina</Sec>
<ul class="mb-4 list-disc pl-4"> <ul class="mb-4 list-disc pl-4">
<li>HP, linear scaling</li> <li>HP, linear scaling</li>
</ul> </ul>
<Sec h="3" id="stats-power">Power</Sec> <Sec h={3} id="stats-power">Power</Sec>
<ul class="mb-4 list-disc pl-4"> <ul class="mb-4 list-disc pl-4">
<li>Move lane modifier (<a href="#lane-combo">lane combo</a>), root scaling</li> <li>Move lane modifier (<a href="#lane-combo">lane combo</a>), root scaling</li>
<li><a href="#uphills">Uphill target speed loss</a>, negative inverse scaling</li> <li><a href="#uphills">Uphill target speed loss</a>, negative inverse scaling</li>
@@ -1124,7 +1128,7 @@
<li>Lane change target speed (i.e. the horizontal rather than forward speed of changing lanes), linear</li> <li>Lane change target speed (i.e. the horizontal rather than forward speed of changing lanes), linear</li>
</ul> </ul>
<Sec h="3" id="stats-guts">Guts</Sec> <Sec h={3} id="stats-guts">Guts</Sec>
<ul class="mb-4 list-disc pl-4"> <ul class="mb-4 list-disc pl-4">
<li>Spurt speed, root scaling (roughly 5% of the effect of the speed stat)</li> <li>Spurt speed, root scaling (roughly 5% of the effect of the speed stat)</li>
<li>Minimum speed, root scaling</li> <li>Minimum speed, root scaling</li>
@@ -1135,7 +1139,7 @@
<li>Acceleration gain from dueling, root scaling</li> <li>Acceleration gain from dueling, root scaling</li>
</ul> </ul>
<Sec h="3" id="stats-wit">Wit</Sec> <Sec h={3} id="stats-wit">Wit</Sec>
<ul class="mb-4 list-disc pl-4"> <ul class="mb-4 list-disc pl-4">
<li><a href="#section-speed">Section speed</a>, log-linear scaling</li> <li><a href="#section-speed">Section speed</a>, log-linear scaling</li>
<li>Chance to enter <a href="#downhills">downhill accel mode</a>, linear scaling</li> <li>Chance to enter <a href="#downhills">downhill accel mode</a>, linear scaling</li>
@@ -1152,22 +1156,22 @@
</li> </li>
</ul> </ul>
<Sec h="3" id="stats-surface">Surface (Turf/Dirt) Aptitude</Sec> <Sec h={3} id="stats-surface">Surface (Turf/Dirt) Aptitude</Sec>
<p>Surface aptitude is a multiplier on acceleration. (Not the power stat, for the purposes of other mechanics using power.)</p> <p>Surface aptitude is a multiplier on acceleration. (Not the power stat, for the purposes of other mechanics using power.)</p>
<Sec h="3" id="stats-distance">Distance Aptitude</Sec> <Sec h={3} id="stats-distance">Distance Aptitude</Sec>
<p>Distance aptitude is a multiplier on spurt speed. At distance E and below, it is also a multiplier on acceleration.</p> <p>Distance aptitude is a multiplier on spurt speed. At distance E and below, it is also a multiplier on acceleration.</p>
<Sec h="3" id="stats-style">Style Aptitude</Sec> <Sec h={3} id="stats-style">Style Aptitude</Sec>
<p> <p>
Style aptitude directly multiplies wit in the computation of the wit stat, which means it affects everything in <a Style aptitude directly multiplies wit in the computation of the wit stat, which means it affects everything in <a
href="#stats-wit">the wit section</a href="#stats-wit">the wit section</a
> except for mechanics that use base wit. > except for mechanics that use base wit.
</p> </p>
<Sec h="2" id="cm">My CM Teams</Sec> <Sec h={2} id="cm">My CM Teams</Sec>
<Sec h="3" id="cm14">CM14 &ndash; Gemini Cup (Yasuda Kinen, NHK Mile Cup, Victoria Mile)</Sec> <Sec h={3} id="cm14">CM14 &ndash; Gemini Cup (Yasuda Kinen, NHK Mile Cup, Victoria Mile)</Sec>
<p> <p>
The ultimate lane combo map, and also the ultimate <a href="#no-zone">NO zone</a> map, and also the ultimate dueling map. Dueling The ultimate lane combo map, and also the ultimate <a href="#no-zone">NO zone</a> map, and also the ultimate dueling map. Dueling
is so good that everyone needs guts builds, not just front runners. Kinda hoping that message doesn't get out, because duels generally is so good that everyone needs guts builds, not just front runners. Kinda hoping that message doesn't get out, because duels generally
@@ -1190,7 +1194,7 @@
</li> </li>
</ol> </ol>
<Sec h="3" id="cm13">CM13 &ndash; Taurus Cup (Tokyo Derby)</Sec> <Sec h={3} id="cm13">CM13 &ndash; Taurus Cup (Tokyo Derby)</Sec>
<p> <p>
Maruzensky's unique, <Skill skill={900041} hint="redshift" mention />, is live for approximately everyone. Filling the ranks Maruzensky's unique, <Skill skill={900041} hint="redshift" mention />, is live for approximately everyone. Filling the ranks
with front runners should be a strong means to delay it for later positions, especially COC. with front runners should be a strong means to delay it for later positions, especially COC.
@@ -1226,7 +1230,7 @@
</p> </p>
<p>Finals saw two COCs both get perfect ults and Radiant during accel. You can always simply lose to better luck.</p> <p>Finals saw two COCs both get perfect ults and Radiant during accel. You can always simply lose to better luck.</p>
<Sec h="3" id="cm12">CM12 &ndash; Aries Cup (Satsuki Sho)</Sec> <Sec h={3} id="cm12">CM12 &ndash; Aries Cup (Satsuki Sho)</Sec>
<p> <p>
One of COC's best tracks, because U=ma2 is at worst only slightly less good than 777 as a trigger. If there is any other front One of COC's best tracks, because U=ma2 is at worst only slightly less good than 777 as a trigger. If there is any other front
runner, triple front pushes pace COC out of range for U=ma2, making her at best as reliable as the usual. runner, triple front pushes pace COC out of range for U=ma2, making her at best as reliable as the usual.
@@ -1259,7 +1263,7 @@
other fronts than to COC. "Most dominant racing horse for a year" continues to get trounced by the wacky triple front build. other fronts than to COC. "Most dominant racing horse for a year" continues to get trounced by the wacky triple front build.
</p> </p>
<Sec h="3" id="cm11">CM11 &ndash; Pisces Cup (Hanshin 3200 Heavy Rain)</Sec> <Sec h={3} id="cm11">CM11 &ndash; Pisces Cup (Hanshin 3200 Heavy Rain)</Sec>
<p>N.B. This CM was before I started writing this document, so henceforth, there is much less info.</p> <p>N.B. This CM was before I started writing this document, so henceforth, there is much less info.</p>
<p>Late race starts on the back stretch, which means the end closers are out to play.</p> <p>Late race starts on the back stretch, which means the end closers are out to play.</p>
<ol class="mb-4 list-decimal pl-4"> <ol class="mb-4 list-decimal pl-4">
@@ -1280,7 +1284,7 @@
<p>Win rates after 80: VBourbon 31.25%, Kitasan 21.25%, Suzuka 2.5%.</p> <p>Win rates after 80: VBourbon 31.25%, Kitasan 21.25%, Suzuka 2.5%.</p>
<p>Extremely unlucky finals gave me third place for the first time ever.</p> <p>Extremely unlucky finals gave me third place for the first time ever.</p>
<Sec h="3" id="cm10">CM10 &ndash; Aquarius Cup (February Stakes)</Sec> <Sec h={3} id="cm10">CM10 &ndash; Aquarius Cup (February Stakes)</Sec>
<p> <p>
Everyone is terrified of Taiki Shuttle, who has a 3-4 ult. Triple fronts would like to have a word. It's a dirt track, but Everyone is terrified of Taiki Shuttle, who has a 3-4 ult. Triple fronts would like to have a word. It's a dirt track, but
every horse can run dirt if you're brave enough. every horse can run dirt if you're brave enough.
@@ -1310,7 +1314,7 @@
over 50%. Insane luck with Unrestrained at the same time as Angling made Suzuka the champion of the Aquarius Cup. over 50%. Insane luck with Unrestrained at the same time as Angling made Suzuka the champion of the Aquarius Cup.
</p> </p>
<Sec h="3" id="cm9">CM9 &ndash; Capricorn Cup (Takamatsunomiya Kinen)</Sec> <Sec h={3} id="cm9">CM9 &ndash; Capricorn Cup (Takamatsunomiya Kinen)</Sec>
<p> <p>
A race with no Angling, and also with the largest proportion of downhill in any race. If you build wit, you literally cannot A race with no Angling, and also with the largest proportion of downhill in any race. If you build wit, you literally cannot
finish a career without enough stamina for a full spurt. finish a career without enough stamina for a full spurt.
@@ -1348,4 +1352,4 @@
my chat history that, as of round 2 day 1, I had a 78% top two rate with a 32% win rate. Lessons learned. Still managed to get my chat history that, as of round 2 day 1, I had a 78% top two rate with a 32% win rate. Lessons learned. Still managed to get
2nd in the finals, and also my first ever group A round 2 sweep. 2nd in the finals, and also my first ever group A round 2 sweep.
</p> </p>
</article> </Article>