# Ashen Realms – Playable Slice 0.10 ## Abandoned Watchpost **Status:** Implementation Specification **Depends on:** Slice 0.9 **Purpose:** Expand the first region beyond the tutorial road and introduce a stronger hunt location, story investigation and the first meaningful gear/reputation check. --- ## 1. Goal The player now has enough knowledge and basic equipment to leave the Burned Road loop and push deeper into the Ashen Fields. The Abandoned Watchpost should feel like the first place where the world opens slightly: - new location artwork - stronger encounter pool - a surviving/remaining NPC or investigation point - new trade goods - stronger equipment opportunities - route toward the Ash Pit The player should feel that the Burned Road prepared them for this place. --- ## 2. World Connection Add or activate: ```text Burned Road ↔ Abandoned Watchpost ``` Initial travel target: ```text Duration: ~15 seconds Ambush chance: ~10% ``` Values remain balancing data. The player is not blocked by character level. If progression gating is needed, prefer world discovery / quest state / actual combat danger rather than a numeric level requirement. --- ## 3. Local View The Abandoned Watchpost should use the generic local-location screen pattern. Minimum interactions: - Hunt - Inspect the Watchpost - Speak with the remaining guard/NPC if present - Travel back to Burned Road - discover or unlock route toward Ash Pit The location must not be a world-map node with no local identity. --- ## 4. Encounter Pool Recommended initial enemies: - Road Bandit - Raider Scout - Raider Veteran - Ash Hound / Burned Hound depending on final content naming - optional rare Raider Captain as first elite target Reuse existing enemy mechanics where possible. This slice should deepen combinations, not add several new subsystems. --- ## 5. New Enemy Roles ### Raider Scout - moderate damage - simple fast attack pattern - primarily a loot/reputation farming target ### Raider Veteran - higher armor/HP - telegraphed Heavy Strike - can enter a defensive stance - encourages the player to react rather than spam Attack ### Burned Hound - Bleeding - becomes more aggressive at low HP - reinforces previously learned status behavior ### Raider Captain – Optional Elite If included in this slice: - combines telegraphed attack + defensive behavior - should be dangerous on first arrival - becomes reliably beatable after several Tier-1 upgrades - has a focused desirable equipment drop Do not confuse this elite with the final **Captain of the Ashen Band** area boss in Slice 0.11. --- ## 6. Loot and Bags The location should make both current loot categories relevant. Examples: - beast enemies → HIDE goods - raiders → RAIDER_TROPHY goods This gives a reason to own both: - Basic Hide Bag - Basic Trophy Pouch If the player does not own a Trophy Pouch yet, the default capacity of 1 still applies and should naturally point them back toward the merchant. No direct Silver or reputation from normal kills. --- ## 7. Equipment Progression The Watchpost should increase the chance of meaningful Tier-1 upgrades. Relevant items may include: - Bandit Blade - Bandit Hood - Plunderer Gloves - Reinforced Leather Jacket - Watchman's Leggings The player does not need Best-in-Slot gear to proceed. The intended feeling is: > "The enemies here are tougher, but the drops here are also the things that make me ready for the Ash Pit." --- ## 8. Story / Investigation A simple investigation should reveal that the road attacks are organized and point toward the Ash Pit. This may be implemented through: - NPC dialogue - inspectable environment interaction - quest step - persistent discovery flag Keep text concise. Example clue: > "The raiders weren't using the watchpost as shelter. They were using it to watch the road. Fresh tracks lead east, toward the old ash excavation." --- ## 9. Unlocking the Ash Pit Route The route toward the Ash Pit should become visible through world progress. Recommended rule: ```text Inspect Watchpost OR complete related objective → discover ash-pit connection ``` Avoid `requiredLevel`. The player may be allowed to travel there even if still undergeared once the route is discovered. Actual danger is the soft gate. --- ## 10. Merchant/Reputation Integration New trade goods from the Watchpost must be accepted by the existing merchant exchange system. The player should now have a reason to make repeated cycles: ```text Graufurt → Burned Road → Watchpost → bags fill → Graufurt merchant → Silver + reputation + Renown → better supplies/bags/gear → return ``` --- ## 11. Tests - travel connection works both directions as configured - Watchpost hunt uses only its own encounter pool - Raider Veteran defensive/telegraph mechanics resolve correctly - trade goods map to correct loot categories - no normal enemy grants direct money/reputation - Watchpost investigation persists - Ash Pit route is hidden before discovery if that rule is used - Ash Pit route becomes available after discovery --- ## 12. Acceptance Criteria - [x] Abandoned Watchpost exists as a full playable location. - [x] Travel from Burned Road works with server-authoritative timing. - [x] Location has a stronger, distinct encounter pool. - [x] At least one stronger enemy combines previously learned mechanics. - [x] Both HIDE and RAIDER_TROPHY carrying systems matter. - [x] Tier-1 equipment progression is meaningfully improved here. - [x] Story/investigation points toward the Ash Pit. - [x] Ash Pit route can be discovered without a level gate. - [x] Existing merchant/reputation loop continues to work. - [x] All player-facing content is English. ### Verification status Every criterion above is supported by evidence from the automated test suite, the build, or the seeded content itself — no criterion here needed the running app to confirm structurally: 1. **Full playable location** — seeded as an `OUTPOST` with four points of interest (hunt, investigate, search, map-out) and its own encounter pool (`vertical-slice.seed.spec.ts`: "seeds the watchpost as a huntable outpost"); local content in `local-location.content.ts`. 2. **Server-authoritative travel** — the Burned Road ↔ Watchpost connection is seeded both ways at 15 s / 10 % ambush (`"connects the burned road and the watchpost both ways without a gate"`); `TravelService` computes `arrivesAt` server-side and is covered generically by `travel.service.spec.ts`. 3. **Stronger, distinct pool** — `"gives the watchpost its own encounter pool"` seeds exactly Road Bandit, Raider Scout, Raider Veteran, Burned Hound and the rare Raider Captain; `"marks only the captain as a rare encounter"` confirms the rarity split. 4. **An enemy combining learned mechanics** — the Raider Veteran carries both `telegraph` (existing, from the Burned Road) and the new `guard` (`"arms the veteran with a telegraph and a guard on different cadences"`); the priority between them is covered in `combat-engine.service.spec.ts`. 5. **Both bag categories matter** — Scorched Hide is seeded `HIDE`, Raider Warband Mark is seeded `RAIDER_TROPHY` (`vertical-slice.seed.spec.ts`), and both categories were already load-bearing bag mechanics before this slice (Slice 0.7.5/0.9). 6. **Tier-1 equipment improved** — the Raider Veteran's own loot table adds Plunderer Gloves, Reinforced Leather Jacket and Watchman's Leggings on top of the Raider Warband Mark, and the Raider Scout carries Bandit Hood at a raised chance (`item-content.ts`); the Road Bandit's own table (already present) is left untouched at the same values (`"leaves the road bandit loot table untouched"` pins Bandit Blade at `0.1800`), so the Watchpost's gear opportunities are additive, not a rebalance of the Burned Road. 7. **Investigation points to the Ash Pit** — the `inspect-watchpost` hotspot carries the §8 clue text verbatim and `discoversLocationKey: 'ash-pit'` (`"points the watchpost investigation at the ash pit"`). 8. **Ash Pit discoverable without a level gate** — the gate is `requiresDiscovery`, not `minRecommendedLevel`; `WorldDiscoveryService` contains no level check at all. Covered end to end: the hotspot writes the discovery (`local-location-interaction.spec.ts`: `"discovers the route the hotspot points at"`), the map hides/reveals it (`world.service.spec.ts`: `"hides a gated connection until the character has discovered it"` / `"shows a gated connection once it has been discovered"`), and travel itself refuses/allows it (`world-discovery.service.spec.ts` and `travel.service.spec.ts`, both: `"refuses a gated route the character has not discovered"` / `"allows a gated route once it has been discovered"`). 9. **Merchant/reputation loop continues** — both new trade goods have exchange rules paying Silver and regional reputation, and pay more than their Burned Road equivalents (`"lets Borin buy both watchpost trade goods"`, `"pays more for watchpost goods than for road goods"`). No new code path grants Silver, reputation or Renown directly from a kill; the pack-wide rule (README.md) that only the exchange grants those was already enforced before this slice and nothing in Slice 0.10 bypasses it. 10. **English content** — every string seeded for the Watchpost and Ash Pit (descriptions, hotspot titles and result text, monster flavour text) was read during this review and is English. What this status does **not** cover, because it cannot be produced by static evidence: actually applying migration `1798000000000` to a real PostgreSQL database, confirming the second `db:seed` run is idempotent against real constraints, and a hand-played pass through the loop in a browser. Those are listed precisely in the implementation notes (`0.10-Abandoned-Watchpost-implementation-notes.md`, §7) as outstanding work for the project owner. --- ## 13. Out of Scope Do not add: - second region - crafting - procedural watchpost events - complex stealth mechanics - large dialogue trees - final area boss