Compare commits
2 Commits
eb26b42543
...
3e879f3687
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e879f3687 | |||
| 0eb932dc3c |
@@ -18,9 +18,6 @@
|
||||
</span>
|
||||
<span class="flex-1 text-center">
|
||||
<a href={resolve('/')} class="mx-8 my-1 block font-semibold md:hidden">Zenno Rob Roy</a>
|
||||
<a href={resolve('/inherit')} class="mx-8 my-1 inline-block">Inheritance Chance</a>
|
||||
<a href={resolve('/spark')} class="mx-8 my-1 inline-block">Spark Chance</a>
|
||||
<a href={resolve('/vet')} class="mx-8 my-1 inline-block">My Veterans</a>
|
||||
<a href={resolve('/spurt')} class="mx-8 my-1 inline-block">Spurt Speed</a>
|
||||
<a href={resolve('/convo')} class="mx-8 my-1 inline-block">Lobby Conversations</a>
|
||||
</span>
|
||||
|
||||
@@ -6,18 +6,6 @@
|
||||
<p>She's read all about Umamusume, and she's always happy to share her knowledge and give recommendations!</p>
|
||||
<h2 class="mt-8 mb-4 text-4xl">Tools</h2>
|
||||
<ul class="list-disc pl-4">
|
||||
<li>
|
||||
<a href={resolve('/inherit')}>Inheritance Chance</a> — <i>Not yet implemented</i> — Given a legacy, calculate the probability distribution
|
||||
of activation counts for each spark.
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/spark')}>Spark Chance</a> — <i>Not yet implemented</i> — Given a legacy, calculate the chance of generating each
|
||||
spark if you fulfill the conditions to do so, and the distribution of total spark counts.
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/vet')}>My Veterans</a> — <i>Not yet implemented</i> — Set up and track your veterans for Zenno Rob Roy's inspiration
|
||||
and spark calculators.
|
||||
</li>
|
||||
<li>
|
||||
<a href={resolve('/spurt')}>Spurt Speed</a> — Calculate a horse's target speed in the last spurt and compare to other distance aptitudes
|
||||
and running styles.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { AptitudeLevel, inverseSpurtSpeed, RunningStyle, spurtSpeed } from '$lib/race';
|
||||
|
||||
const aptsList = Object.entries(AptitudeLevel).filter(([_name, val]) => typeof val === 'number');
|
||||
const aptsList = Object.entries(AptitudeLevel).filter(([, val]) => typeof val === 'number');
|
||||
const stylesList = [
|
||||
['Front Runner', RunningStyle.FrontRunner],
|
||||
['Pace Chaser', RunningStyle.PaceChaser],
|
||||
@@ -38,7 +38,9 @@
|
||||
inverseSpurtSpeed(speed, gutsStat, RunningStyle.EndCloser, AptitudeLevel.A, raceLen) - careerMod,
|
||||
inverseSpurtSpeed(speed, gutsStat, RunningStyle.GreatEscape, AptitudeLevel.A, raceLen) - careerMod,
|
||||
]);
|
||||
const skillProf = $derived(skillSpeeds.map((v) => [v, inverseSpurtSpeed(speed + v, gutsStat, opponentStyle, AptitudeLevel.S, raceLen) - careerMod]));
|
||||
const skillProf = $derived(
|
||||
skillSpeeds.map((v) => [v, inverseSpurtSpeed(speed + v, gutsStat, opponentStyle, AptitudeLevel.S, raceLen) - careerMod]),
|
||||
);
|
||||
</script>
|
||||
|
||||
<h1 class="text-4xl">Spurt Speed Calculator</h1>
|
||||
@@ -54,7 +56,7 @@
|
||||
<div class="m-4">
|
||||
<label for="style">Style</label>
|
||||
<select id="style" required bind:value={style} class="w-full">
|
||||
{#each stylesList as [name, style]}
|
||||
{#each stylesList as [name, style] (style)}
|
||||
<option value={style}>{style === RunningStyle.GreatEscape ? 'Great Escape (Runaway)' : name}</option>
|
||||
{/each}
|
||||
</select>
|
||||
@@ -102,7 +104,7 @@
|
||||
<span class="mt-8 block w-full">
|
||||
While a speed skill is active, the equivalent speed for a distance S
|
||||
<select id="opponentStyle" required bind:value={opponentStyle}>
|
||||
{#each stylesList as [name, style]}
|
||||
{#each stylesList as [name, style] (style)}
|
||||
<option value={style}>{style === RunningStyle.GreatEscape ? 'Great Escape (Runaway)' : name}</option>
|
||||
{/each}
|
||||
</select>
|
||||
|
||||
Reference in New Issue
Block a user