From f8e7bfbec669567ac6fb97044a2110eab0615dbc Mon Sep 17 00:00:00 2001
From: Branden J Brown
Date: Sun, 14 Jun 2026 20:00:27 -0400
Subject: [PATCH] zenno/doc/race: skill activation chance is not integer
percent
---
zenno/src/lib/race.ts | 10 +++++-----
zenno/src/routes/doc/race/+page.svelte | 6 +-----
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/zenno/src/lib/race.ts b/zenno/src/lib/race.ts
index 601694a..874e340 100644
--- a/zenno/src/lib/race.ts
+++ b/zenno/src/lib/race.ts
@@ -472,7 +472,7 @@ export function moveLaneModifier(powerStat: number): number {
* @returns Probability of exactly n skills out of N passing wit checks
*/
export function skillWitCheck(baseWit: number, N?: number, n?: number): number {
- const p = Math.ceil(Math.max(20, 100 - 9000 / baseWit)) / 100;
+ const p = Math.max(0.2, 1 - 90 / baseWit);
return binomPMF(p, N ?? 1, n ?? 1);
}
@@ -519,7 +519,7 @@ export function speedGain(speedBonus: number, dur: number, accel: number | null,
* @returns Probability per candidate to accept
*/
export function reducedSpurtChance(witStat: number): number {
- return Math.ceil(15 + 0.05 * witStat) / 100;
+ return 0.15 + 0.0005 * witStat;
}
/**
@@ -528,7 +528,7 @@ export function reducedSpurtChance(witStat: number): number {
* @returns Probability each eligible tick to enter downhill accel mode
*/
export function downhillAccelEnterChance(witStat: number): number {
- return Math.ceil(witStat * 0.04) / 100;
+ return witStat * 0.0004;
}
/**
@@ -537,7 +537,7 @@ export function downhillAccelEnterChance(witStat: number): number {
* @returns Probability each eligible tick to enter speed-up or overtake mode
*/
export function frontModeEnterChance(witStat: number): number {
- return Math.ceil(20 * math.log10(witStat * 0.1)) / 100;
+ return 0.2 * math.log10(witStat * 0.1);
}
/**
@@ -546,7 +546,7 @@ export function frontModeEnterChance(witStat: number): number {
* @returns Probability each eligible tick to enter pace-up mode
*/
export function paceUpEnterChance(witStat: number): number {
- return Math.ceil(15 * math.log10(witStat * 0.1)) / 100;
+ return 0.15 * math.log10(witStat * 0.1);
}
/**
diff --git a/zenno/src/routes/doc/race/+page.svelte b/zenno/src/routes/doc/race/+page.svelte
index d4c6ebc..b4731f7 100644
--- a/zenno/src/routes/doc/race/+page.svelte
+++ b/zenno/src/routes/doc/race/+page.svelte
@@ -236,10 +236,6 @@
Only numeric mechanics that vary with stats and aptitudes are shown. Descriptions of concepts and conditions are left to the
original source.
-
- Given the recent discovery that rushed chance uses integer RNG, I am assuming that all wit check mechanics use integer RNG
- until shown otherwise.
-
{/snippet}
Speed
@@ -374,6 +370,6 @@
{@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.
+ 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])}