zenno/doc/fans: margin is displayed margin
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
let skills = $state(0);
|
let skills = $state(0);
|
||||||
let glowsticks = $state(false);
|
let glowsticks = $state(false);
|
||||||
|
|
||||||
const marginFans = $derived(fans.marginFans(baseFans, finishOrder, margin / 1.18));
|
const marginFans = $derived(fans.marginFans(baseFans, finishOrder, margin));
|
||||||
const skillFans = $derived(fans.skillFans(baseFans, skills));
|
const skillFans = $derived(fans.skillFans(baseFans, skills));
|
||||||
const glowstickBonus = $derived(glowsticks ? 50 : 0);
|
const glowstickBonus = $derived(glowsticks ? 50 : 0);
|
||||||
const gainedFans = $derived(fans.gained(baseFans, marginFans, skillFans, fanBonus, glowstickBonus));
|
const gainedFans = $derived(fans.gained(baseFans, marginFans, skillFans, fanBonus, glowstickBonus));
|
||||||
@@ -41,11 +41,11 @@
|
|||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
const marginBonus = [
|
const marginBonus = [
|
||||||
['≤3/4 L', 0, 9],
|
['Nose – 3/4 L', 0, 9],
|
||||||
['3/4 L – 2.5 L', 2, 6],
|
['1 L – 2.5 L', 2, 6],
|
||||||
['2.5 L – 4 L', 4, 4],
|
['3 L – 4 L', 4, 4],
|
||||||
['4 L – 6 L', 6, 2],
|
['5 L – 6 L', 6, 2],
|
||||||
['>6L', 9, 0],
|
['7L – distance', 9, 0],
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
const skillBonus = [
|
const skillBonus = [
|
||||||
@@ -83,11 +83,7 @@
|
|||||||
{/snippet}
|
{/snippet}
|
||||||
|
|
||||||
<Sec h={2} id="calc-fans">Calculate Fans</Sec>
|
<Sec h={2} id="calc-fans">Calculate Fans</Sec>
|
||||||
<p>
|
<p>This tool will calculate your exact fan gain from a race.</p>
|
||||||
This tool will calculate your exact fan gain from a race. Due to some <a href="#margin">internal details</a>, the margin
|
|
||||||
displayed in game may differ by up to a length from the margin used to calculate fans. (This calculator takes displayed
|
|
||||||
margin, so its report can differ from actual gains in edge cases.)
|
|
||||||
</p>
|
|
||||||
<form class="mx-auto mb-4 grid grid-cols-1 gap-2 rounded-md p-4 text-center shadow-md ring md:max-w-2xl md:grid-cols-3">
|
<form class="mx-auto mb-4 grid grid-cols-1 gap-2 rounded-md p-4 text-center shadow-md ring md:max-w-2xl md:grid-cols-3">
|
||||||
<div>
|
<div>
|
||||||
<label for="calc-base-fans">Base Fans</label>
|
<label for="calc-base-fans">Base Fans</label>
|
||||||
@@ -148,20 +144,6 @@
|
|||||||
When the trainee places in the top three (top five?), she receives a bonus percentage of base fans according to the finish
|
When the trainee places in the top three (top five?), she receives a bonus percentage of base fans according to the finish
|
||||||
margin.
|
margin.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
For the purpose of this calculation, "margin" is defined as the distance covered moving at 15 m/s since the time the first
|
|
||||||
horse crossed the goal line. I.e., we observe the exact margin used to calculate fans from race replay data. The <i
|
|
||||||
>displayed</i
|
|
||||||
>
|
|
||||||
margin in the game is
|
|
||||||
<a
|
|
||||||
href="https://docs.google.com/document/d/15VzW9W2tXBBTibBRbZ8IVpW6HaMX8H0RP03kq6Az7Xg/edit?tab=t.0#heading=h.p0458fiye6y9"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer">scaled by a factor of 1.18</a
|
|
||||||
>
|
|
||||||
to derive the margin label (e.g. ½L instead of 0.7L). Because of this scaling and rounding, using the margin displayed in game
|
|
||||||
to calculate fans may underestimate the gain, particularly for displayed margins of 2½L, 5L, or 6L.
|
|
||||||
</p>
|
|
||||||
<p>
|
<p>
|
||||||
The bonus depends on whether the trainee won the race. If so, it is calculated by her margin versus second place. Otherwise,
|
The bonus depends on whether the trainee won the race. If so, it is calculated by her margin versus second place. Otherwise,
|
||||||
her total margin behind the winner is used. If she did not place in the top three (top five?), then she gains no fans from
|
her total margin behind the winner is used. If she did not place in the top three (top five?), then she gains no fans from
|
||||||
@@ -223,14 +205,16 @@
|
|||||||
rel="noopener noreferrer">Umadump</a
|
rel="noopener noreferrer">Umadump</a
|
||||||
>. The races come from sixteen careers run between 19 Aug and 11 Oct 2026. These careers include five different values of race
|
>. The races come from sixteen careers run between 19 Aug and 11 Oct 2026. These careers include five different values of race
|
||||||
bonus ranging from 55 to 105. The identified formula predicts the actual fan gain perfectly for all of the races. You can
|
bonus ranging from 55 to 105. The identified formula predicts the actual fan gain perfectly for all of the races. You can
|
||||||
<a href={asset('/career_fan_gain_summary_193.csv')} download>download a summary</a>.
|
<a
|
||||||
|
href="https://docs.google.com/spreadsheets/d/1_jtOv6qk9dP4jJTagJqG53Pvj48IVd6gl2zKpyT6Kvs/edit?gid=463816108#gid=463816108"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer">view the data</a
|
||||||
|
>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
There are some gaps in the data. Moxa's original data that was used to establish that the margin bonus uses actual rather than
|
There are some gaps in the data. No collected race had a finish placement of 4th or 5th, nor lower than 6th, so the exact
|
||||||
displayed margin was lost, so that conclusion is based on past discussion rather than available data. No collected race had a
|
details of the win margin fan bonus remain open. Similarly, no race featured a trainee who activated more than ten skills, so
|
||||||
finish placement of 4th or 5th, nor lower than 6th, so the exact details of the win margin fan bonus remain open. Similarly,
|
it is unknown whether there are further tiers of skill activation count fan bonus.
|
||||||
no race featured a trainee who activated more than ten skills, so it is unknown whether there are further tiers of skill
|
|
||||||
activation count fan bonus.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Once these edge cases are covered, this article will be updated. If you'd like to contribute, please contact me
|
Once these edge cases are covered, this article will be updated. If you'd like to contribute, please contact me
|
||||||
|
|||||||
Reference in New Issue
Block a user