neon-sprawl/docs/manual-qa/NEO-41.md

56 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Manual QA — NEO-41 (gather → skill XP via interact)
Reference: [implementation plan](../plans/NEO-41-implementation-plan.md), [NEO-38](./NEO-38.md) (skill progression grant), [NEO-9 README — Interaction](../../server/README.md#interaction-neo-9).
## Preconditions
- Run `NeonSprawl.Server` from `server/NeonSprawl.Server` (`dotnet run`; default `http://localhost:5253`).
- Player **`dev-local-1`** (default seed).
```bash
BASE=http://localhost:5253
ID=dev-local-1
```
## Move in range of the prototype resource node
Anchor **(12, 6)** on X/Z, radius **3** m. Example stand at **(10, 6)**:
```bash
curl -sS -i -X POST "${BASE}/game/players/${ID}/move" \
-H "Content-Type: application/json" \
-d '{"schemaVersion":1,"target":{"x":10,"y":0.9,"z":-6}}'
```
Expect **HTTP 200**.
## Baseline skill progression (optional)
```bash
curl -sS "${BASE}/game/players/${ID}/skill-progression"
```
Note **`salvage`** **`xp`** (often **0** on a fresh store).
## Gather interact (prototype)
```bash
curl -sS -i -X POST "${BASE}/game/players/${ID}/interact" \
-H "Content-Type: application/json" \
-d '{"schemaVersion":1,"interactableId":"prototype_resource_node_alpha"}'
```
Expect **HTTP 200**, **`allowed`:** **true**.
## Verify XP
```bash
curl -sS "${BASE}/game/players/${ID}/skill-progression"
```
**`salvage`** **`xp`** should increase by **10** per successful gather interact (repeat interact to see cumulative XP).
## Control — terminal does not grant gather XP
Move near **`prototype_terminal`** (e.g. target **`0.5`, `0.9`, `0.5`**), **`POST …/interact`** with **`prototype_terminal`**, then GET progression: **`salvage`** XP should match whatever you had before this control (no +10 from terminal alone).