Commit
0edb5ad634a0c78298b290bcb4eda8d599994920
by nossr50Keep denied spam-fishing catches from paying Fishing rewards
The exploit check split in #5313 gates rewards in the HIGHEST-priority
handler by re-reading the exploit verdicts, but only the overfishing
verdict could be re-read: isFishingTooOften() stamps the catch timestamp
on every call, so the reward gate could not call it again and spam
catches kept their skill XP, treasure rolls, and extra fish.
FishingManager now records the verdict of the most recent spam check,
exposed through wasFishingTooOften(), and the reward gate checks both
verdicts. Covered by a new listener test that dispatches PlayerFishEvents
through the real handler priority chain.
(commit: 0edb5ad)