Files
gen1recomp/tests
Shane McGovern deca93582c Port FireRed encounter rate test and banked failure rate
Completes the pret/pokefirered parity for wild encounter rate gating,
on top of the cooldown port in b84c2c15.

Ports DoWildEncounterRateTest as Encounters.encounterRate(): *16, bike
*80/100, banked failure rate +buff*16/200, flute, Cleanse Tag *2/3,
ability (Stench /2, Illuminate *2), then the 1600 clamp last -- pret's
exact order, which the modifier-order tests pin down.

Ports AddToWildEncounterRateBuff: a failed rate test (or a rate test
that passes but picks no slot) banks the area rate; an active Repel
zeroes the bank. Without this, encounters were still flat-rate rather
than ramping after near-misses.

Also ports the Mach/Acro bike *80/100 modifier.

End-to-end goldens on Route 1 (rate 21, 4000 steps) shift 397->401
with the cooldown and 843->858 without. That matches pret's steady
state analytically: a 6-step cooldown followed by p~0.112 as the bank
ramps gives a cycle of (1-0.94^6)/0.112+6 ~ 10.3 steps, ~10%/step.
The observed 401/4000 = 10.03% confirms it.

tests/game3_rng_test.lua now resets rate modifiers per replay, since
the banked rate makes sequences history-dependent; a map load resets
in-game.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-09-19 09:50:08 +01:00
..
2026-07-19 16:18:18 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 15:42:32 -04:00
2026-07-17 20:30:02 -04:00
2026-07-19 16:18:18 -04:00
2026-08-15 06:04:04 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 15:42:32 -04:00
2026-09-18 13:11:33 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-18 13:11:33 -04:00
2026-09-13 01:06:04 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 13:11:33 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-13 01:06:04 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 03:34:39 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 16:49:48 -04:00
2026-09-18 16:49:48 -04:00
2026-09-13 01:06:04 -04:00
2026-09-13 03:34:39 -04:00
2026-09-18 16:49:48 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-18 10:49:04 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-18 15:37:27 -05:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-24 07:52:05 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-08-11 11:53:30 -04:00
2026-07-19 16:18:18 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-08-28 10:14:44 -04:00
2026-07-19 16:18:18 -04:00
2026-08-13 06:05:27 -04:00
2026-08-12 09:22:30 -04:00
2026-08-12 09:22:30 -04:00
2026-07-24 09:06:29 -04:00
2026-09-04 09:56:35 -04:00
2026-08-28 14:15:51 -04:00
2026-08-28 10:14:44 -04:00
2026-09-04 09:56:35 -04:00
2026-08-28 10:14:44 -04:00
2026-08-04 10:32:51 -04:00
2026-07-21 05:50:40 -04:00
2026-08-04 09:41:44 -04:00
2026-08-04 09:41:44 -04:00
2026-07-24 09:06:29 -04:00
2026-07-19 16:18:18 -04:00
2026-08-04 09:41:44 -04:00
2026-07-24 09:06:29 -04:00
2026-08-18 11:43:23 -04:00
2026-07-19 16:18:18 -04:00
2026-07-26 13:38:52 -04:00
2026-07-19 16:18:18 -04:00
2026-07-24 09:06:29 -04:00
2026-08-27 07:11:43 -04:00
2026-07-23 16:55:03 -04:00
2026-07-21 05:50:40 -04:00
2026-07-24 09:06:29 -04:00
2026-07-21 05:50:40 -04:00
2026-07-19 16:18:18 -04:00
2026-08-24 07:52:05 -04:00
2026-08-13 06:05:27 -04:00
2026-07-30 10:17:30 -04:00
2026-08-11 11:53:30 -04:00
2026-07-19 16:18:18 -04:00
2026-07-19 16:18:18 -04:00
2026-07-27 08:37:11 -04:00
2026-09-13 03:34:39 -04:00