20 lines
998 B
Markdown
20 lines
998 B
Markdown
# /client — Godot 4.7 game client
|
|
|
|
GDScript. **Holds ALL game state and ALL game rules** (charter §2, §4). The AI never mutates state; the client validates and applies everything.
|
|
|
|
**Open:** Godot 4.7, import this folder as the project (`project.godot`).
|
|
|
|
## Responsibilities
|
|
|
|
- All state: stats, HP/MP, inventory, quest flags, Luck, disposition/approval (§8, §9)
|
|
- All rules: deterministic combat, Luck branch-selection, move validation (§6, §7, §10)
|
|
- The **canon log** — compact structured fact list, code-maintained, injected into every call (§11)
|
|
- Talks to `/api` over HTTP. **No API key, ever.** Knows one base URL + role endpoints (§4)
|
|
- Degrades to authored fallback text (from [`/content/fallback`](../content/fallback)) when the API is down (§13)
|
|
|
|
## Key rule — never do this (charter §2)
|
|
|
|
If an AI response directly sets a variable that persists, stop. Parse → validate → apply or discard.
|
|
|
|
See [`docs/`](docs/) for scene structure, input model, and combat wiring.
|