Refactor API and enhance Angular integration
- Removed `ciTargetName` from `nx.json`. - Updated `package.json` to include new dependencies: `@types/seedrandom`, `fast-check`, `happy-dom`, and `@nestjs/schedule`. - Modified `pnpm-lock.yaml` to reflect the addition of new packages and their versions. - Improved project documentation in `PROJECT_CONTEXT.md` to clarify the use of Zod schemas and Angular framework decisions. - Introduced new Angular components and patterns in the `.agents/skills/frontend-angular` directory, including examples and reference materials for Angular 21+ features.
This commit is contained in:
165
libs/encounter-library/src/lib/encounters.json
Normal file
165
libs/encounter-library/src/lib/encounters.json
Normal file
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"encounters": [
|
||||
{
|
||||
"key": "generator_repair",
|
||||
"baseProbability": 0.55,
|
||||
"tags": ["generator", "objectives"],
|
||||
"tier": 1,
|
||||
"flavorSuccess": [
|
||||
"The generator sputters to life. Light floods the area.",
|
||||
"Sparks fly, then hum — the generator catches.",
|
||||
"Wires connected. The machine breathes again."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The generator kicks back. Too many watchers in the dark.",
|
||||
"The mechanism jams. Footsteps echo nearby.",
|
||||
"A noise betrays the position. The generator goes cold."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "totem_cleanse",
|
||||
"baseProbability": 0.50,
|
||||
"tags": ["totem", "altruistic", "objectives"],
|
||||
"tier": 1,
|
||||
"flavorSuccess": [
|
||||
"The totem crumbles. Its curse lifts from the fog.",
|
||||
"Bones scatter. The hex dissolves into smoke.",
|
||||
"The ritual unravels. Something distant screams."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The totem resists. Its pull is stronger than expected.",
|
||||
"A presence drives the survivor back before the cleanse completes.",
|
||||
"The hex holds. Dread thickens the air."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "chest_search",
|
||||
"baseProbability": 0.45,
|
||||
"tags": ["chest", "item"],
|
||||
"tier": 1,
|
||||
"flavorSuccess": [
|
||||
"The chest yields a worn medkit. Small mercies.",
|
||||
"A flashlight, still charged. The fog recedes slightly.",
|
||||
"A useful tool among the debris."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The chest is empty. Only rust and regret.",
|
||||
"The lid splinters — nothing useful inside.",
|
||||
"A noise nearby cuts the search short."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "hook_escape",
|
||||
"baseProbability": 0.40,
|
||||
"tags": ["hook", "survival"],
|
||||
"tier": 2,
|
||||
"flavorSuccess": [
|
||||
"With grim determination, the survivor slips free.",
|
||||
"Arms aching, the hook releases. Freedom, for now.",
|
||||
"A desperate push — the chains give way."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The struggle exhausts. The hook holds.",
|
||||
"Every movement drives the barb deeper. Stay still.",
|
||||
"The fog presses in. The hook remains."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "exit_gate",
|
||||
"baseProbability": 0.50,
|
||||
"tags": ["exit", "objectives"],
|
||||
"tier": 2,
|
||||
"flavorSuccess": [
|
||||
"The gate grinds open. Cold air rushes in.",
|
||||
"Generators humming, the lock gives. Almost there.",
|
||||
"The exit yields. Light from outside cuts the fog."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The gate mechanism is jammed. Precious seconds lost.",
|
||||
"A shadow falls across the panel. The attempt abandoned.",
|
||||
"The switch is stuck. The gate stays shut."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "patrol_avoid",
|
||||
"baseProbability": 0.60,
|
||||
"tags": ["stealth", "survival"],
|
||||
"tier": 1,
|
||||
"flavorSuccess": [
|
||||
"Still as stone. The threat passes without noticing.",
|
||||
"A breath held long — then silence. Safe.",
|
||||
"The fog swallows the survivor whole. Unseen."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"A twig snaps. Eye contact — then the chase begins.",
|
||||
"The survivor misjudges the angle. Spotted.",
|
||||
"Heartbeat too loud. Presence too close."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "medkit_use",
|
||||
"baseProbability": 0.65,
|
||||
"tags": ["healing", "altruistic", "survival"],
|
||||
"tier": 1,
|
||||
"flavorSuccess": [
|
||||
"Bandages tight, the wound closes. Pain recedes.",
|
||||
"The medkit does its job. The survivor steadies.",
|
||||
"A few tense minutes — injuries tended."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"Supplies exhausted before the job is done.",
|
||||
"Shaking hands fumble the medkit. Time runs out.",
|
||||
"The wound is worse than it looked. Supplies fall short."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "pallet_drop",
|
||||
"baseProbability": 0.55,
|
||||
"tags": ["survival", "escape"],
|
||||
"tier": 2,
|
||||
"flavorSuccess": [
|
||||
"The pallet crashes down. A moment bought.",
|
||||
"Timber splinters between them. Distance gained.",
|
||||
"The drop lands true. The chase falters."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The pallet drops wide. No gap created.",
|
||||
"Too slow — the obstacle proves useless.",
|
||||
"The throw miscalculated. The pursuit continues."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "basement_search",
|
||||
"baseProbability": 0.35,
|
||||
"tags": ["chest", "item", "high-risk"],
|
||||
"tier": 3,
|
||||
"flavorSuccess": [
|
||||
"The basement yields rare supplies. Worth the risk.",
|
||||
"A pristine toolbox — almost worth dying for.",
|
||||
"The gamble paid off. The survivor emerges with something valuable."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The basement was a trap. Retreat costs dearly.",
|
||||
"The stairwell offers no escape. A mistake made clear.",
|
||||
"The risk was not worth the reward found — nothing."
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "hatch_find",
|
||||
"baseProbability": 0.30,
|
||||
"tags": ["exit", "survival", "high-risk"],
|
||||
"tier": 3,
|
||||
"flavorSuccess": [
|
||||
"The hatch sighs open. One last mercy from the fog.",
|
||||
"A sound — familiar, haunting. The hatch, just ahead.",
|
||||
"Against all odds, the escape route reveals itself."
|
||||
],
|
||||
"flavorFailure": [
|
||||
"The hatch is nowhere. Only fog and silence.",
|
||||
"Close — so close. Then it closes.",
|
||||
"The sound was something else entirely."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user