Files
aetherbound-guild/docs/runtime/PHASE9_0R3_BATTLE_FEEDBACK_CONTRACT.md

44 lines
2.2 KiB
Markdown

# Phase 9.0R3 Battle Feedback Runtime Contract
## Authoritative Event Map
| Phase | Existing commit | Required pop | Target | Tier |
|---|---|---|---|---|
| 2 | front `100 -> 82` or `100 -> 88` | `-18 格挡` or `-12 闪避减伤` | front | medium |
| 3 ranged | enemy `100 -> 64` | `-36 后排命中` | enemy | medium |
| 3 heal | front `82/88 -> 94/100` | `+12 治疗` or exact capped delta | front | medium |
| 4 | enemy `64/100 -> 34` | exact negative delta + `连携` | enemy | medium |
| 5 | enemy `34 -> 0` | `-34 终结` | enemy | large |
The presentation payload is created inside the successful exactly-once commit.
It must never infer a result from phase entry, animation position or a button.
## Timing And Rest State
- Every phase declares a duration rather than sharing one fixed hold.
- The duration must exceed the longest required non-looping animation terminal
time plus a bounded recovery margin and must never preempt its impact.
- A pop is visible for at most 0.80 seconds. Normal mode uses a short scale pop,
upward travel and fade; reduced motion keeps position fixed and uses fade.
- Damage tint/recoil lasts at most 0.18 seconds. Healing tint lasts at most
0.24 seconds. Every modulation, scale and offset returns to its base value.
- At most one payload exists in this deterministic tutorial at a time. A new
payload replaces an expired payload; duplicate commits create nothing.
## Readability
- Use signed Arabic numerals as the primary message, with a short Simplified
Chinese or English qualifier.
- Damage uses a warm red/gold hierarchy; healing uses mint/white. Outline and
sign preserve meaning without color.
- Pop origin follows the affected actor's current play-space position and stays
below the event ribbon and health captions at landscape and portrait sizes.
## Evidence
- Focused tests inspect exact payload values, signs, targets, once-only counts,
duration bounds, rest cleanup and reduced-motion behavior.
- Normal-render evidence samples pre-impact, peak and recovery frames for front
damage, ranged damage, heal, coordinated damage and final damage.
- Strict logs remain free of script, parse/resource/import and cleanup errors.