{#snippet statChart( stat: race.Stat, y: Array, yLabel: string, range?: [number, number], pick?: { len?: boolean; style?: boolean; dist?: boolean; surf?: boolean }, )} {#if !pick?.len && !pick?.style && !pick?.dist && !pick?.surf}
{:else}
{#if pick?.len} {raceLen}m {/if} {#if pick?.style} {/if} {#if pick?.dist} {/if} {#if pick?.surf} {/if}
{/if} {/snippet}
{#snippet head()} Race Mechanics Charts

This article is an interactive version of KuromiAK's race mechanics documentation to give a better sense of how mechanics scale with stats and aptitudes.

Mechanics are organized in this article according to the stats that determine them. Those that vary with multiple stats, e.g. spurt speed, appear in all relevant sections with differing horizontal axes. Mechanics that vary with race distance, distance aptitudes, and surface aptitudes have controls to change each by their charts.

Only numeric mechanics that vary with stats and aptitudes are shown. Descriptions of concepts and conditions are left to the original source.

{/snippet} Speed Spurt Speed

Target speed during the Uma's last spurt. See also the effect of Guts.

{@render statChart(race.Stat.Speed, spurtSpeed, 'Spurt Speed (m/s)', [20, 26], { len: true, style: true, dist: true })} Late Race Speed

Base target speed during late race when the Uma is not spurting (but not dead yet).

{@render statChart(race.Stat.Speed, nonSpurtSpeed, 'Base Target Speed (m/s)', [18, 23], { len: true, style: true, dist: true })} Stamina HP

Max HP, i.e. starting HP.

{@render statChart(race.Stat.Stamina, hp, 'HP', [1000, 5000], {len: true})} Power Move Lane Modifier

Target speed bonus when changing lanes while under the effect of a lane change speed skill. See lane combo.

{@render statChart(race.Stat.Power, moveLane, 'Target Speed Modifier (m/s)', [0.2, 0.5])} Uphill Target Speed Loss

Target speed modifier while running uphill.

{@render statChart(race.Stat.Power, uphill, 'Target Speed Modifier (m/s)', [-2, 0])} Acceleration

Acceleration.

{@render statChart(race.Stat.Power, accel, 'Acceleration (m/s²)', [0.1, 0.5], {style: true})} Lane Change Target Speed

Horizontal (rather than forward) target speed of changing lanes.

Guts Spurt Speed

Target speed during the Uma's last spurt. See also the effect of Speed.

{@render statChart(race.Stat.Guts, gutsSpurt, 'Spurt Speed (m/s)', [20, 26], { len: true, style: true, dist: true })} Minimum Speed

Forced minimum speed, as well as target speed when out of HP.

{@render statChart(race.Stat.Guts, minSpeed, 'Target Speed (m/s)', [15.8, 18.4], { len: true })} Late Race HP Consumption Rate Modifier

Multiplier on HP consumption rate during late race and last spurt phase.

{@render statChart(race.Stat.Guts, gutsHPRate, 'HP Consumption Multiplier', [1.2, 1.6])} Spot Struggle

Speed boost and duration of spot struggle.

Dueling

Speed boost and acceleration boost of dueling.

Wit Section Speed

Random variance in target speed per race section.

{raceLen}m
Downhill Accel Mode Chance

Chance each second to enter downhill accel mode when eligible.

{@render statChart(race.Stat.Wit, downhill, 'Entry Chance (% each second)', [0, 60])} Reduced Spurt Accept Chance

Chance to accept each checked spurt delay and speed when not full spurting.

{@render statChart(race.Stat.Wit, reducedSpurt, 'Accept Chance (% each candidate)', [0, 100])} Skill Activation Chance

Chance that each skill that has a wit check will be eligible to activate. This uses base wit, so style aptitude and passive wit skills do not affect the chance, although mood does.

TODO(zeph): Why is the 3 of 4 series getting values over 100%? Is it not just binom(3, 4, p) + binom(4, 4, p)?

{@render statChart(race.Stat.Wit, skillChance, 'Skill Activation Chance (%)', [0, 100])} Position Keep Mode Chance

Chance for front runners to enter speed-up or overtake mode, or for non-front runners to enter pace-up mode (but no effect on pace-down mode), each 2 seconds when eligible.

{@render statChart(race.Stat.Wit, poskeep, 'Mode Entry Chance (%)', [0, 50])} Rushed Chance

Chance for runners to become rushed at some point during the race. Rushed chance is bracketed to integer percentages.

{@render statChart(race.Stat.Wit, rushed, 'Rushed Chance (%)', [0, 30])}