[priority: 3] SteadyStream has identical behavior to EternalFlow — latent bug #82

Closed
opened 2026-05-19 09:11:19 +02:00 by Anexim · 2 comments
Owner

Severity: 3 — Medium
File: src/lib/game/effects/dynamic-compute.ts, lines 79-86

Description:
Both EternalFlow and SteadyStream return the same value:

if (hasSpecial(effects, SPECIAL_EFFECTS.ETERNAL_FLOW)) {
  return regen * effects.regenMultiplier;
}
if (hasSpecial(effects, SPECIAL_EFFECTS.STEADY_STREAM)) {
  return regen * effects.regenMultiplier;
}

SteadyStream should only block incursion, not other penalties. But there are no other penalties in the current code, so this is a latent bug — if other penalties are added, SteadyStream will incorrectly block them too.

Fix: SteadyStream should apply incursion immunity but still allow other penalties.

**Severity:** 3 — Medium **File:** `src/lib/game/effects/dynamic-compute.ts`, lines 79-86 **Description:** Both `EternalFlow` and `SteadyStream` return the same value: ```ts if (hasSpecial(effects, SPECIAL_EFFECTS.ETERNAL_FLOW)) { return regen * effects.regenMultiplier; } if (hasSpecial(effects, SPECIAL_EFFECTS.STEADY_STREAM)) { return regen * effects.regenMultiplier; } ``` `SteadyStream` should only block incursion, not other penalties. But there are no other penalties in the current code, so this is a **latent bug** — if other penalties are added, `SteadyStream` will incorrectly block them too. **Fix:** `SteadyStream` should apply incursion immunity but still allow other penalties.
Anexim added the ai:todo label 2026-05-19 09:11:19 +02:00
n8n-gitea was assigned by Anexim 2026-05-19 09:11:19 +02:00
Author
Owner

Starting work on SteadyStream latent bug fix.

Starting work on SteadyStream latent bug fix.
Author
Owner

Fixed. SteadyStream no longer returns early like EternalFlow. Now only skips the incursion penalty while still applying regenMultiplier at the end. This prevents future bugs if other penalties are added between the SteadyStream check and the final return. Regression tests added.

✅ Fixed. SteadyStream no longer returns early like EternalFlow. Now only skips the incursion penalty while still applying regenMultiplier at the end. This prevents future bugs if other penalties are added between the SteadyStream check and the final return. Regression tests added.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#82