Skip to content

Commit 9f12842

Browse files
SnoopLawgclaude
andcommitted
cb: document hp_burn force-tick mechanism (#35) — coexistence balloons, fix is per-skill force-tick count
Investigated the hp_burn -32% gap (real Ninja 83 ticks vs sim 55). Allowing HP Burns to coexist (remove from SINGULAR_BY_TYPE) BALLOONS to +77.6% (sim 13.05M vs real 7.35M) — same trap as the 2026-06-28 revert — because it treats every placed burn as a sustained 2-turn DoT. Reverted. Game-truth mechanism (skills_all 62002 + tick log 20260629_090946): Ninja A2 has THREE ApplyDebuff(HP Burn)+ForceStatusEffectTick pairs (one per hit). Real Ninja = 83 ticks from ~21 A2 casts x3 ~= 1.3 ticks/burn -> burns are FORCE-TICK- DOMINATED and short-lived, NOT sustained stacks. The activate_hp_burns handler (cb_sim ~2973) dedups to ONCE per cast (_burns_activated_this_cast) — correct for Venom A1 (its 2 force-ticks are redundant) but WRONG for Ninja A2 (3 distinct burns = 3 real ticks/cast). The correct fix is a per-skill force-tick COUNT that doesn't re-break the Venom dedup, with short burn duration — not a singular/ coexist toggle. Deferred (intricate + coupled with Geo deflect-over +26%); burn -32% currently partly compensates deflect-over for a healthy ~-3% total. No functional change (hp_burn stays singular) — documents the mechanism + the ruled-out coexistence approach so it isn't re-attempted blind. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SCKiWFsFcWRBkL4kWf1q6b
1 parent 996a50b commit 9f12842

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

tools/cb_sim.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,18 @@ def __init__(self):
289289
# artifact). Reverted as over-fit/uncertain. The real Ninja-over/Geo-under
290290
# split (ownership alternation vs the sim's most-recent-placer) is still
291291
# open — needs finer-resolution telemetry or more fixtures to settle.
292+
# hp_burn KEPT singular. The real burn under (-32%) is NOT solved by allowing
293+
# coexistence: tried 2026-06-29, it BALLOONED hp_burn to +77.6% (sim 13.05M vs
294+
# real 7.35M) because it treats every placed burn as a sustained 2-turn DoT.
295+
# Game-truth mechanism (skills_all 62002 + tick log 20260629_090946): Ninja A2
296+
# has THREE ApplyDebuff(HP Burn)+ForceStatusEffectTick pairs (one per hit), so
297+
# each A2 cast deals ~3 INSTANT force-ticks; real Ninja = 83 ticks from ~21 A2
298+
# casts x3 ~= 1.3 ticks/burn -> burns are FORCE-TICK-DOMINATED, short-lived,
299+
# NOT sustained stacks. The correct fix is to model the per-hit force-tick
300+
# COUNT (sim force-ticks once/skill, real does 3) with short duration, not a
301+
# singular/coexist toggle. Until then singular (burn -32%) is healthier than
302+
# coexist (+78%), and burn-under partly compensates Geo deflect-over (+26%) for
303+
# a healthy ~-3% total. See memory project_cb_per_skill_fitting_20260629.
292304
SINGULAR_BY_TYPE = {"def_down", "def_down_30", "weaken", "weaken_15",
293305
"dec_atk", "dec_atk_25", "poison_sensitivity",
294306
"poison_sensitivity_50", "heal_reduction",

0 commit comments

Comments
 (0)