prosolis
5ef10e35dc
Phase 5b: player power floor + Phase-3 winners shipped to live
...
Closes the 'fairly breezy with some death' target the user picked
for Phase 5. Five-piece ship; Phase 1 matrix lands T1 88%, T2 74%,
T4 72%, T5 ~57% in or above band. T3 remains the design hump at
~45% (manor 39, underforge 47) — Wraith promotion to elite was
already done in Phase 4-B, the remaining standard-pool deaths are
the irreducible part of T3.
Pieces:
1. computeMaxHP × 1.5 (phase5BHPMult in dnd.go). Uniform across
class/level so the class-balance harness's in-tier parity
assertion stays green. Bootstrap (bootstrap_phase5b_hp.go)
refreshes hp_max for existing characters at startup;
idempotent via db.JobCompleted. hp_current is bumped by the
same delta so a full-HP character stays at full.
2. applyPhase5BPlayerFloor (dnd_combat.go): +3 AC, +3 AttackBonus,
+3 weapon.MagicBonus (damage). Applied at the END of
applyDnDEquipmentLayer (after computeArmorAC's AC override)
and inside buildHarnessPlayer so live and harness measurement
match.
3. Elite bracket 19 → 23 (resolveCombatInterrupt). Case order
puts Elite (≥23) before Patrol (≥22) so a 23+ total prefers
the single dangerous fight. Elite is now effectively a
high-threat event reachable only via the +1-per-20-threat-
above-40 mod — Phase 4-B's elite-pool monsters still appear,
just less often.
4. dailyThreatDrift base 3 → 1. Slows the threat clock so
players have the days they need before threat tips zones
into the new 23+ elite band.
5. applyDailyBurn default → 50% (phase5BDailyBurnRatePct). Also
applied in the temporal-override branch in
dnd_expedition_cycle.go so tidal / unraveling days scale by
the same 0.5× — otherwise those days would be
disproportionately harsh against the new baseline.
The harness's expedition_balance.go reads phase5BDailyBurnRatePct
as the default-burn fallback when the override knob is zero, so
Phase 1 matrix measurements now reflect what live players
experience.
Test debt: 13 pinned-numbers unit tests across combat_stats_test,
dnd_test, dnd_xp_test, dnd_equipment_profiles_test,
dnd_expedition_supplies_test, dnd_expedition_cycle_test,
dnd_expedition_extract_test, dnd_expedition_region_cmd_test,
dnd_expedition_combat_test, dnd_expedition_threat_test,
dnd_expedition_temporal_test, expedition_balance_test were
pinning pre-Phase-5-B baselines; updated with comments noting
the cause. Class-balance suite stayed green (uniform buff
preserves spread).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 12:11:27 -07:00
..
2026-05-13 23:00:35 -07:00
2026-05-09 14:25:23 -07:00
2026-05-15 11:29:03 -07:00
2026-05-09 14:25:22 -07:00
2026-05-13 22:53:58 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 08:03:42 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:23 -07:00
2026-04-26 07:57:31 -07:00
2026-05-09 14:25:23 -07:00
2026-04-08 15:50:28 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 18:38:57 -07:00
2026-05-14 08:01:10 -07:00
2026-05-09 14:25:21 -07:00
2026-04-05 17:04:03 -07:00
2026-04-05 17:04:03 -07:00
2026-03-27 21:26:19 -07:00
2026-04-28 22:37:04 -07:00
2026-04-10 16:50:49 -07:00
2026-05-09 21:32:47 -07:00
2026-04-24 22:23:58 -07:00
2026-04-08 23:01:39 -07:00
2026-04-10 16:50:49 -07:00
2026-04-05 17:04:03 -07:00
2026-04-05 17:04:03 -07:00
2026-04-05 17:04:03 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-03-27 21:26:19 -07:00
2026-05-09 21:32:47 -07:00
2026-04-10 16:50:49 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:22 -07:00
2026-05-13 22:53:58 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 08:01:10 -07:00
2026-05-14 21:19:31 -07:00
2026-04-08 15:50:28 -07:00
2026-05-14 22:37:47 -07:00
2026-04-08 22:41:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 12:11:27 -07:00
2026-04-08 17:04:40 -07:00
2026-03-31 18:47:49 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 15:28:42 -07:00
2026-05-14 08:59:51 -07:00
2026-05-14 07:44:01 -07:00
2026-05-14 22:06:31 -07:00
2026-05-14 18:00:29 -07:00
2026-05-14 18:00:29 -07:00
2026-03-27 21:26:19 -07:00
2026-03-26 09:22:02 -07:00
2026-04-18 01:07:25 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 14:25:23 -07:00
2026-05-12 21:54:40 -07:00
2026-04-18 01:07:25 -07:00
2026-05-09 17:23:08 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 08:03:42 -07:00
2026-05-14 07:53:17 -07:00
2026-05-14 22:37:47 -07:00
2026-05-12 21:59:19 -07:00
2026-05-13 23:00:35 -07:00
2026-04-18 01:05:22 -07:00
2026-05-14 23:17:12 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 08:59:51 -07:00
2026-05-13 23:05:33 -07:00
2026-05-14 06:30:52 -07:00
2026-05-14 18:38:57 -07:00
2026-05-14 08:08:26 -07:00
2026-05-14 08:59:51 -07:00
2026-05-15 12:11:27 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 08:59:51 -07:00
2026-04-08 17:04:40 -07:00
2026-03-26 09:22:02 -07:00
2026-04-08 17:04:40 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 14:25:22 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 22:06:31 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 22:17:03 -07:00
2026-05-14 20:32:41 -07:00
2026-05-15 12:11:27 -07:00
2026-05-12 21:59:19 -07:00
2026-05-15 12:11:27 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 12:11:27 -07:00
2026-05-13 22:53:06 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 23:13:01 -07:00
2026-05-14 23:13:01 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 17:21:33 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 23:02:53 -07:00
2026-05-14 23:13:01 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 14:25:22 -07:00
2026-05-13 22:53:58 -07:00
2026-05-13 22:53:58 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 17:17:19 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 15:17:30 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 11:29:03 -07:00
2026-05-09 14:25:21 -07:00
2026-05-14 22:17:03 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 21:30:15 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 19:47:01 -07:00
2026-05-09 14:25:22 -07:00
2026-05-12 21:59:19 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 22:06:31 -07:00
2026-05-14 22:17:03 -07:00
2026-05-14 22:37:47 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-14 07:12:37 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 07:18:16 -07:00
2026-05-14 21:30:15 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 07:18:16 -07:00
2026-05-14 21:53:06 -07:00
2026-05-14 15:18:18 -07:00
2026-05-14 22:17:03 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 22:17:03 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 18:38:57 -07:00
2026-05-14 15:18:29 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-05-12 21:59:19 -07:00
2026-05-14 06:16:45 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 10:01:07 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 22:06:31 -07:00
2026-05-09 15:17:30 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 15:17:30 -07:00
2026-05-09 14:25:22 -07:00
2026-05-14 22:37:47 -07:00
2026-05-12 21:59:19 -07:00
2026-05-12 21:59:19 -07:00
2026-05-12 21:59:19 -07:00
2026-05-09 17:21:33 -07:00
2026-05-09 14:25:22 -07:00
2026-05-09 14:25:22 -07:00
2026-05-15 11:23:07 -07:00
2026-05-15 12:11:27 -07:00
2026-04-08 17:04:40 -07:00
2026-05-09 21:37:29 -07:00
2026-05-14 23:28:54 -07:00
2026-05-14 23:28:54 -07:00
2026-05-15 12:11:27 -07:00
2026-05-15 12:11:27 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 23:38:06 -07:00
2026-03-26 23:38:06 -07:00
2026-03-26 23:38:06 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-03-26 09:22:02 -07:00
2026-05-09 14:25:21 -07:00
2026-03-26 09:22:02 -07:00
2026-04-08 17:04:40 -07:00
2026-04-18 01:07:25 -07:00
2026-04-08 17:04:40 -07:00
2026-03-26 09:22:02 -07:00
2026-03-22 10:09:57 -07:00
2026-04-18 01:06:50 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 09:22:02 -07:00
2026-05-09 14:25:21 -07:00
2026-03-26 09:22:02 -07:00
2026-03-26 09:22:02 -07:00
2026-04-18 14:11:59 -07:00
2026-04-18 01:06:50 -07:00
2026-04-18 14:11:59 -07:00
2026-04-18 14:11:59 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-03-10 16:58:15 -07:00
2026-04-26 10:09:32 -07:00
2026-04-08 17:04:40 -07:00
2026-04-08 17:04:40 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-09 14:25:21 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 22:37:47 -07:00
2026-05-14 18:00:29 -07:00
2026-05-14 18:00:29 -07:00
2026-03-27 21:26:19 -07:00
2026-03-27 11:55:47 -07:00
2026-03-30 17:11:45 -07:00
2026-04-08 17:04:40 -07:00
2026-03-26 09:22:02 -07:00
2026-04-08 17:04:40 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:21 -07:00
2026-05-15 08:03:42 -07:00
2026-05-09 14:25:23 -07:00
2026-05-09 14:25:23 -07:00
2026-03-11 00:45:25 -07:00
2026-03-08 18:25:18 -07:00
2026-03-27 11:55:47 -07:00
2026-03-26 09:22:02 -07:00
2026-03-10 18:08:05 -07:00
2026-04-08 17:04:40 -07:00
2026-03-08 18:25:18 -07:00
2026-05-09 20:20:56 -07:00
2026-05-12 21:59:19 -07:00
2026-04-08 17:04:40 -07:00
2026-03-26 09:22:02 -07:00
2026-03-11 00:45:25 -07:00
2026-04-10 16:50:49 -07:00
2026-03-08 18:25:18 -07:00
2026-04-08 17:04:40 -07:00
2026-04-18 01:07:25 -07:00
2026-03-29 20:51:28 -07:00
2026-03-29 09:27:00 -07:00
2026-04-18 01:07:25 -07:00
2026-04-08 17:04:40 -07:00
2026-04-08 17:04:40 -07:00
2026-04-26 10:09:32 -07:00
2026-03-11 00:45:25 -07:00
2026-03-29 16:24:59 -07:00
2026-03-26 09:22:02 -07:00
2026-04-01 18:58:33 -07:00
2026-04-10 16:50:49 -07:00
2026-03-29 16:24:59 -07:00
2026-04-18 01:07:25 -07:00
2026-04-08 17:04:40 -07:00
2026-04-08 15:24:49 -07:00
2026-05-09 17:00:57 -07:00
2026-05-09 17:00:57 -07:00
2026-05-09 17:17:19 -07:00
2026-05-09 17:17:19 -07:00
2026-05-09 16:59:32 -07:00
2026-05-09 16:59:32 -07:00
2026-05-09 16:57:48 -07:00
2026-05-09 16:57:48 -07:00
2026-05-09 16:51:19 -07:00
2026-05-09 16:51:19 -07:00
2026-05-09 16:48:48 -07:00
2026-05-09 16:48:48 -07:00
2026-05-09 16:54:45 -07:00
2026-05-09 16:54:45 -07:00
2026-05-09 16:41:46 -07:00
2026-05-09 17:17:19 -07:00
2026-05-09 17:17:19 -07:00
2026-05-09 17:21:33 -07:00
2026-05-09 16:52:52 -07:00
2026-05-09 16:52:52 -07:00
2026-05-09 14:34:05 -07:00
2026-05-09 17:03:21 -07:00
2026-05-09 17:03:21 -07:00
2026-05-09 16:56:07 -07:00
2026-05-09 16:56:07 -07:00
2026-05-09 14:34:05 -07:00