fix: 让家族徽章在解除隐匿后的首笔伤害触发

This commit is contained in:
Xinglan233 committed 2026-10-10 09:53:26 +08:00
1 parent 1db8e51023
commit a173a470b6
6 files changed
+210 -9

No files matched your search

+16
View File
@@ -479,3 +479,19 @@ imports and typecheck pass. This round changes no production UI and does not rer
the `roster`, `bonds`, `fields`, `matches`, `standins` families are unchanged.
- **Contracts updated:** design/engine.md, SIM.md (cabin), design/client.md, design/network.md, META.md and PLAYING.md
(local identity recovery and handshake).
### 28.28 Family Crest consumes on the first damage after stealth — `content/items/battle.js`
- Cause: the growth poll armed consumption only after observing 隐匿 end. Damage between that transition and the
next 0.25 s poll therefore missed the combo and kept the accumulated ATK through a later hit.
- Source: `data/items.json` 家族徽章 normal/advanced descriptions and combo blackboard: accumulated ATK lasts until
the first damage after 隐匿 ends (or leaving), and 叙拉古正装 adds `atk_scale` true damage on that first instance.
- Read effective stealth at the damage event; claim once before nested proc damage, use the boosted ATK for the
combo and then remove it. Growth rate/cap, bond requirement, deployment/death clearing and proc exclusions stay.
No new [ASSUMED] rule; the existing tagged-proc exclusion is preserved.
- Regression: `test/content/family-crest-timing.test.js` covers stealth removal and natural expiry, ordinary and
advanced item combinations, the immediate first hit and a later hit, stealth re-entry and recharging, zero/proc
damage and other sources, synchronous damage re-entry, leaving/redeployment, and a real Provence kit against a
synthetic enemy. `test/content/items.test.js` no longer waits after stealth ends. These are model tests; they do
not cover reveal, blocked damage or AOE.