109 lines
4.5 KiB
Markdown
109 lines
4.5 KiB
Markdown
# Phase 9.0R7 Individual Growth Runtime Contract
|
|
|
|
## Authority And Boundary
|
|
|
|
This contract owns only the continuation from the accepted P9.0R6
|
|
second-cycle result through one individual level choice, one fifth battle and
|
|
one third-cycle result. It previews the product authority that levels belong to
|
|
individual generated Recruits, but does not implement the authoritative XP,
|
|
promotion, Market, save or content systems.
|
|
|
|
## Stable State
|
|
|
|
```text
|
|
member_slots = [front, rear] + [added when present]
|
|
member_level(slot) = 2 only when slot == trained_member; otherwise 1
|
|
veteran_mark_available = route_reward_committed and not training_committed
|
|
training_choice = empty | one current member slot
|
|
training_committed = false -> true exactly once
|
|
fifth_reward_committed = false -> true exactly once
|
|
```
|
|
|
|
Slots bind to the current runtime member identity and profession. An absent
|
|
`added` slot never renders and is illegal at selection, review and commit.
|
|
|
|
## Training Transaction
|
|
|
|
- `open_training` requires the R6 result and committed route reward, clears
|
|
only the uncommitted training selection and opens the training scene.
|
|
- `choose_training` accepts one current member slot and mutates selection only.
|
|
- `open_training_review` requires one legal selection and mutates nothing.
|
|
- `cancel_training_review` returns to the same selected training scene.
|
|
- `commit_training` revalidates the selected slot, consumes the mark, makes
|
|
exactly that slot `Lv.2`, locks the transaction and starts the fifth battle.
|
|
- Duplicate or out-of-page commit is inert.
|
|
|
|
## Fifth Battle
|
|
|
|
The fifth encounter uses existing accepted actors and Riftblade-family assets.
|
|
It is a bounded presentation fixture, not an authoritative combat engine or a
|
|
new catalog identity.
|
|
|
|
Base state:
|
|
|
|
```text
|
|
front_hp = 100
|
|
rear_hp = 100
|
|
enemy_hp = 140
|
|
base_time = 7.40s
|
|
Farstring Lv.2 time = 6.40s
|
|
reward = +8 Coin at verified result
|
|
```
|
|
|
|
Ordered consequences:
|
|
|
|
1. A trained Farstring moves its one normal shot before enemy pressure; it
|
|
does not gain a second attack.
|
|
2. Front crush deals `-45`; retained `EQ-002` reduces it to `-30`; trained
|
|
front reduces the already-derived damage by another `20`.
|
|
3. Split pressure hits the original rear for `-40`.
|
|
4. Original rear acts once here unless its trained Farstring shot already
|
|
moved to step 1.
|
|
5. Added rear acts once here when present unless its trained Farstring shot
|
|
already moved to step 1; otherwise the retained build follows up.
|
|
6. Route guard reaches `0` and reward commits once.
|
|
|
|
Kindhand healing targets the damaged original rear. A normal Kindhand restores
|
|
`+12` to rear HP `72`; a trained Kindhand restores `+25` to rear HP `85`.
|
|
Farstring training changes timing only. Front training changes front HP only.
|
|
Both rear professions act once in a full line.
|
|
|
|
## Result Matrix
|
|
|
|
| Trained role | Frontpin retained | Front HP | Rear HP with Kindhand | Time |
|
|
|---|---|---:|---:|---:|
|
|
| front | yes | `90` | `72` | `7.40` |
|
|
| front | no | `75` | `72` | `7.40` |
|
|
| Farstring | yes | `70` | `72` when Kindhand present | `6.40` |
|
|
| Farstring | no | `55` | `72` when Kindhand present | `6.40` |
|
|
| Kindhand | yes | `70` | `85` | `7.40` |
|
|
| Kindhand | no | `55` | `85` | `7.40` |
|
|
|
|
When a two-person Company has no Kindhand, rear HP remains `60`. When Kindhand
|
|
is present but not trained, rear HP becomes `72`. Route selection changes the
|
|
inherited Coin only; it does not secretly change this fixed fifth encounter.
|
|
|
|
## Presentation
|
|
|
|
- Training is a scene with the actual Company standing in the world and one
|
|
selectable level crest above or beside each member, not a generic settings
|
|
list or spreadsheet.
|
|
- Every member shows position, profession, current level and the exact next
|
|
event change before selection.
|
|
- Review names the member and single counterfactual, then offers Back and Train.
|
|
- Fifth battle visibly distinguishes early shot, reduced front damage and
|
|
stronger rear recovery using existing number/VFX feedback.
|
|
- Result names the causal level effect before Coin/HP/time totals.
|
|
- Primary `844x390` has no scrolling and every action is at least 44px.
|
|
|
|
## Evidence
|
|
|
|
- Focused tests cover legal member sets, training transaction, member levels,
|
|
all role outcomes, exact times, reward and cleanup.
|
|
- Real parsed ScreenTouch covers open, revise, review, cancel, commit, battle
|
|
and result with no fallback or direct callback path.
|
|
- Normal-render captures cover two- and three-person training, review, the
|
|
three role effects and representative results.
|
|
- Fast preview evidence cannot become formal candidate, human, device or
|
|
release evidence.
|