286 lines
6.5 KiB
Markdown
286 lines
6.5 KiB
Markdown
# Ashen Realms – Playable Slice 0.7 V2
|
||
|
||
## Complete Burned Road
|
||
|
||
**Status:** Implementation Specification
|
||
**Depends on:** Slice 0.6.6
|
||
**Purpose:** Turn the Burned Road into the first complete repeatable hunt location using the new no-XP/no-direct-money progression model.
|
||
|
||
---
|
||
|
||
## 1. Goal
|
||
|
||
The Burned Road becomes the first place where Ashen Realms feels like a repeatable RPG activity rather than a combat test screen.
|
||
|
||
The player should be able to:
|
||
|
||
**Travel → Hunt → compare encounters → choose an enemy → fight → receive trade goods/equipment → hunt again.**
|
||
|
||
This slice replaces the previous reward assumption of direct XP and Silver from kills.
|
||
|
||
> Normal monster kills must not directly grant XP, Silver, regional reputation or World Renown.
|
||
|
||
---
|
||
|
||
## 2. Player Experience
|
||
|
||
When the player starts a hunt on the Burned Road, 2–3 encounter cards appear.
|
||
|
||
Possible enemies:
|
||
|
||
- Ash Rat
|
||
- Feral Road Hound
|
||
- Road Bandit
|
||
- rare: Charred Raider
|
||
|
||
Each enemy must feel mechanically and economically different.
|
||
|
||
The player can deliberately choose an easy target, a useful target, or a risky rare target.
|
||
|
||
---
|
||
|
||
## 3. Encounter Pool
|
||
|
||
Suggested initial weights:
|
||
|
||
| Monster | Weight | Role |
|
||
|---|---:|---|
|
||
| Ash Rat | 50 | basic safe target |
|
||
| Feral Road Hound | 30 | first status-effect enemy |
|
||
| Road Bandit | 18 | stronger humanoid with telegraph |
|
||
| Charred Raider | 2 | rare dangerous encounter |
|
||
|
||
Weights are balancing data and must not be hardcoded into the Angular UI.
|
||
|
||
The hunt should return 2–3 distinct encounter records where possible.
|
||
|
||
---
|
||
|
||
## 4. Monster Mechanics
|
||
|
||
### Ash Rat
|
||
|
||
Purpose: pure baseline combat.
|
||
|
||
- no special combat mechanic
|
||
- low danger
|
||
- short fight
|
||
- guaranteed basic trade good
|
||
|
||
### Feral Road Hound
|
||
|
||
Purpose: introduce Bleeding as a simple ongoing effect.
|
||
|
||
- normal bite
|
||
- occasional Bleeding application
|
||
- Bleeding has clear icon/status feedback
|
||
- Bleeding duration and damage are server-authoritative
|
||
|
||
### Road Bandit
|
||
|
||
Purpose: reinforce Telegraphing.
|
||
|
||
- normal attack
|
||
- Heavy Strike is announced before execution
|
||
- Shield Bash can interrupt the prepared attack
|
||
- Defend is a valid response if the player does not interrupt
|
||
|
||
### Charred Raider
|
||
|
||
Purpose: first rare encounter and visible future farming target.
|
||
|
||
- noticeably stronger than normal Burned Road enemies
|
||
- combines higher base stats with one known mechanic
|
||
- no entirely new subsystem
|
||
- visually marked as Rare / Strong
|
||
|
||
---
|
||
|
||
## 5. Trade Goods
|
||
|
||
Every normal enemy should provide a thematic trade good instead of money.
|
||
|
||
Initial content:
|
||
|
||
| Monster | Guaranteed Trade Good |
|
||
|---|---|
|
||
| Ash Rat | Ashen Pelt ×1 |
|
||
| Feral Road Hound | Tough Hide ×1 |
|
||
| Road Bandit | Raider Insignia ×1 |
|
||
| Charred Raider | Charred Raider Insignia ×1 |
|
||
|
||
These items represent loot that can later be exchanged with a merchant.
|
||
|
||
The trade goods must be persisted as actual player-owned loot.
|
||
|
||
Slice 0.7.5 will add category-specific carrying capacity and loot bags. Until then, existing inventory storage may temporarily hold these goods.
|
||
|
||
---
|
||
|
||
## 6. Equipment Drops
|
||
|
||
Trade goods are guaranteed; equipment remains an exciting additional roll.
|
||
|
||
Suggested initial drops:
|
||
|
||
### Ash Rat
|
||
|
||
- small chance for simple starter-slot equipment
|
||
|
||
### Feral Road Hound
|
||
|
||
- chance for Ashen Boots
|
||
- chance for a Small Healing Potion if potions are already lootable
|
||
|
||
### Road Bandit
|
||
|
||
- Bandit Blade
|
||
- Bandit Hood
|
||
- Plunderer Gloves
|
||
|
||
### Charred Raider
|
||
|
||
- Reinforced Leather Jacket
|
||
- Ashen Boots
|
||
- Mark of the Border Watch
|
||
- optional prestige drop later
|
||
|
||
Exact drop rates should remain data-driven and can initially follow existing Tier-1 balancing values where already implemented.
|
||
|
||
---
|
||
|
||
## 7. Reward Rules
|
||
|
||
After a normal victory, the server may grant:
|
||
|
||
- trade goods
|
||
- equipment
|
||
- consumables
|
||
- hunt/combat state progression
|
||
|
||
The server must **not** grant:
|
||
|
||
- XP
|
||
- Silver
|
||
- regional reputation
|
||
- World Renown
|
||
|
||
These economy/progression rewards are deliberately deferred to merchant exchange and milestone systems.
|
||
|
||
---
|
||
|
||
## 8. Backend Requirements
|
||
|
||
The existing content model must support:
|
||
|
||
- multiple monsters for one location
|
||
- weighted encounter generation
|
||
- rare encounter weighting
|
||
- guaranteed loot entries
|
||
- probabilistic equipment entries
|
||
- status-effect combat events
|
||
- telegraphed actions
|
||
|
||
Recommended behavior:
|
||
|
||
```text
|
||
POST /api/hunts
|
||
→ server validates current location
|
||
→ server selects encounter definitions from Burned Road pool
|
||
→ persisted HuntEncounter records are returned
|
||
```
|
||
|
||
Combat must still start only from a valid generated encounter.
|
||
|
||
---
|
||
|
||
## 9. Frontend Requirements
|
||
|
||
The Hunt screen must show for each encounter:
|
||
|
||
- monster artwork
|
||
- English name
|
||
- danger rating
|
||
- optional short flavor text
|
||
- clear Attack action
|
||
|
||
The player should immediately recognize the rare Charred Raider.
|
||
|
||
After victory, the loot summary should clearly separate:
|
||
|
||
- Trade Goods
|
||
- Equipment
|
||
- Consumables
|
||
|
||
Do not show old XP or Silver reward rows.
|
||
|
||
---
|
||
|
||
## 10. Hunt Refresh
|
||
|
||
The player can choose **Search Again**.
|
||
|
||
Rules:
|
||
|
||
- generates a new persisted hunt result
|
||
- old encounter IDs cannot be attacked indefinitely after being invalidated
|
||
- avoid client-side randomization
|
||
- no resource cost in this slice
|
||
|
||
---
|
||
|
||
## 11. Tests
|
||
|
||
At minimum:
|
||
|
||
### Hunting
|
||
|
||
- Burned Road produces only configured monsters
|
||
- rare encounter is selectable through deterministic injected random values
|
||
- encounter generation is server-authoritative
|
||
- invalid/stale encounter cannot start combat
|
||
|
||
### Combat
|
||
|
||
- Feral Road Hound can apply Bleeding
|
||
- Bleeding ticks correctly
|
||
- Road Bandit Heavy Strike is telegraphed
|
||
- Shield Bash can interrupt the telegraphed action
|
||
|
||
### Loot
|
||
|
||
- Ash Rat grants Ashen Pelt
|
||
- Road Bandit grants Raider Insignia
|
||
- normal kill grants no XP
|
||
- normal kill grants no Silver
|
||
- normal kill grants no reputation
|
||
- equipment drop roll remains independent from guaranteed trade good
|
||
|
||
---
|
||
|
||
## 12. Acceptance Criteria
|
||
|
||
- [ ] Burned Road offers 2–3 encounter choices per hunt.
|
||
- [ ] Four enemy definitions are available, including rare Charred Raider.
|
||
- [ ] Feral Road Hound demonstrates Bleeding.
|
||
- [ ] Road Bandit demonstrates Telegraphing / interrupt interaction.
|
||
- [ ] Every enemy grants a thematic trade good.
|
||
- [ ] Equipment can drop in addition to trade goods.
|
||
- [ ] Normal kills grant no XP, Silver, regional reputation or World Renown.
|
||
- [ ] Loot is persisted server-side.
|
||
- [ ] The player can repeatedly hunt without manual database changes.
|
||
- [ ] Existing travel and combat flows continue to work.
|
||
|
||
---
|
||
|
||
## 13. Out of Scope
|
||
|
||
Do not add yet:
|
||
|
||
- loot bag capacity
|
||
- merchant exchange
|
||
- reputation-gated shop offers
|
||
- first quest tutorial
|
||
- Abandoned Watchpost content
|
||
- area boss
|