@ai-rpg-engine/starter-weird-west 2.1.1 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/dist/ruleset.js +2 -2
- package/dist/ruleset.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +9 -30
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
|
-
</p>
|
|
4
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
5
|
# @ai-rpg-engine/starter-weird-west
|
|
6
6
|
|
|
7
|
+
> **Composition Example** — This starter demonstrates how to wire the engine for weird western. It is an example to learn from, not a template to copy. See the [Composition Guide](../../docs/handbook/57-composition-guide.md) to build your own game.
|
|
8
|
+
|
|
7
9
|
**Dust Devil's Bargain** — A frontier town hides a cult summoning something from the red mesa.
|
|
8
10
|
|
|
9
11
|
Part of the [AI RPG Engine](https://github.com/mcp-tool-shop-org/ai-rpg-engine) starter pack catalog.
|
|
@@ -51,6 +53,10 @@ engine.start();
|
|
|
51
53
|
| Resolve | 0–20 | Mental fortitude, regens 1/tick |
|
|
52
54
|
| Dust | 0–100 | **Inverse pressure** — accumulates, 100 = death |
|
|
53
55
|
|
|
56
|
+
## What to Borrow
|
|
57
|
+
|
|
58
|
+
`buildCombatStack` usage and dual resource profile (dust + resolve). Study how two resources with opposite polarity create tension — dust accumulates toward a death threshold while resolve is spent for powerful actions, forcing players to balance aggression against survival.
|
|
59
|
+
|
|
54
60
|
## License
|
|
55
61
|
|
|
56
62
|
MIT
|
package/dist/ruleset.js
CHANGED
|
@@ -45,14 +45,14 @@ export const weirdWestMinimalRuleset = {
|
|
|
45
45
|
id: 'guard-reduction',
|
|
46
46
|
name: 'Guard Reduction',
|
|
47
47
|
description: 'Fraction of damage absorbed when guarded (default 0.5)',
|
|
48
|
-
inputs: ['defender.
|
|
48
|
+
inputs: ['defender.grit'],
|
|
49
49
|
output: 'number (0-1)',
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
id: 'disengage-chance',
|
|
53
53
|
name: 'Disengage Chance',
|
|
54
54
|
description: 'Success chance: 40 + instinct*5 + will*2, clamped 15-90',
|
|
55
|
-
inputs: ['actor.
|
|
55
|
+
inputs: ['actor.draw-speed', 'actor.lore'],
|
|
56
56
|
output: 'number (0-100)',
|
|
57
57
|
},
|
|
58
58
|
{
|
package/dist/ruleset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../src/ruleset.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../src/ruleset.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA0F7C,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAqJhD"}
|
package/dist/setup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Game setup — wire content into engine
|
|
2
2
|
import { Engine } from '@ai-rpg-engine/core';
|
|
3
|
-
import { traversalCore, statusCore,
|
|
3
|
+
import { traversalCore, statusCore, createInventoryCore, createDialogueCore, createCognitionCore, createPerceptionFilter, createProgressionCore, createEnvironmentCore, createFactionCognition, createRumorPropagation, createSimulationInspector, createDistrictCore, createBeliefProvenance, createObserverPresentation, giveItem, createDefeatFallout, createBossPhaseListener, createAbilityCore, createAbilityEffects, createAbilityReview, registerStatusDefinitions, buildCombatStack, COMBAT_STATES, } from '@ai-rpg-engine/modules';
|
|
4
4
|
import { manifest, player, bartender, sheriff, revenant, crawler, banditRider, mesaCrawlerBoss, zones, districts, bartenderDialogue, sageBundleEffect, gunslingerTree, weirdWestAbilities, weirdWestStatusDefinitions, } from './content.js';
|
|
5
5
|
import { weirdWestMinimalRuleset } from './ruleset.js';
|
|
6
6
|
// Spirits perceive the living as echoes of the future
|
|
@@ -19,26 +19,6 @@ const spiritPerception = {
|
|
|
19
19
|
},
|
|
20
20
|
}),
|
|
21
21
|
};
|
|
22
|
-
// Weird West combat formulas — grit for damage + guard, draw-speed for hit/dodge
|
|
23
|
-
const weirdWestFormulas = {
|
|
24
|
-
statMapping: { attack: 'grit', precision: 'draw-speed', resolve: 'grit' },
|
|
25
|
-
hitChance: (attacker, target) => {
|
|
26
|
-
const atkSpeed = attacker.stats['draw-speed'] ?? 5;
|
|
27
|
-
const tgtSpeed = target.stats['draw-speed'] ?? 5;
|
|
28
|
-
return Math.min(95, Math.max(5, 50 + atkSpeed * 5 - tgtSpeed * 3));
|
|
29
|
-
},
|
|
30
|
-
damage: (attacker) => Math.max(1, attacker.stats.grit ?? 3),
|
|
31
|
-
guardReduction: (defender) => {
|
|
32
|
-
const grit = defender.stats.grit ?? 3;
|
|
33
|
-
const bonus = Math.max(0, (grit - 3) * 0.03);
|
|
34
|
-
return Math.min(0.75, 0.5 + bonus);
|
|
35
|
-
},
|
|
36
|
-
disengageChance: (actor) => {
|
|
37
|
-
const speed = actor.stats['draw-speed'] ?? 5;
|
|
38
|
-
const grit = actor.stats.grit ?? 3;
|
|
39
|
-
return Math.min(90, Math.max(15, 40 + speed * 5 + grit * 2));
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
22
|
// Weird West combat resource profile — corruption and iron will
|
|
43
23
|
const weirdWestCombatProfile = {
|
|
44
24
|
packId: 'weird-west',
|
|
@@ -67,8 +47,13 @@ const weirdWestCombatProfile = {
|
|
|
67
47
|
};
|
|
68
48
|
export function createGame(seed) {
|
|
69
49
|
registerStatusDefinitions(weirdWestStatusDefinitions);
|
|
70
|
-
|
|
71
|
-
const
|
|
50
|
+
// Combat stack: grit for damage, draw-speed for hit/dodge, lore for resolve
|
|
51
|
+
const combat = buildCombatStack({
|
|
52
|
+
statMapping: { attack: 'grit', precision: 'draw-speed', resolve: 'lore' },
|
|
53
|
+
playerId: 'drifter',
|
|
54
|
+
resourceProfile: weirdWestCombatProfile,
|
|
55
|
+
biasTags: ['undead', 'spirit', 'beast'],
|
|
56
|
+
});
|
|
72
57
|
const engine = new Engine({
|
|
73
58
|
manifest,
|
|
74
59
|
seed: seed ?? 42,
|
|
@@ -76,9 +61,7 @@ export function createGame(seed) {
|
|
|
76
61
|
modules: [
|
|
77
62
|
traversalCore,
|
|
78
63
|
statusCore,
|
|
79
|
-
|
|
80
|
-
review.module,
|
|
81
|
-
createCombatCore(review.explain(wrappedFormulas)),
|
|
64
|
+
...combat.modules,
|
|
82
65
|
createInventoryCore([sageBundleEffect]),
|
|
83
66
|
createDialogueCore([bartenderDialogue]),
|
|
84
67
|
createCognitionCore({ decay: { baseRate: 0.02, pruneThreshold: 0.05, instabilityFactor: 0.5 } }),
|
|
@@ -141,10 +124,6 @@ export function createGame(seed) {
|
|
|
141
124
|
],
|
|
142
125
|
playerId: 'drifter',
|
|
143
126
|
}),
|
|
144
|
-
createCombatTactics({ hooks: buildTacticalHooks(weirdWestCombatProfile) }),
|
|
145
|
-
createCombatResources(weirdWestCombatProfile),
|
|
146
|
-
createCombatIntent({ packBiases: BUILTIN_PACK_BIASES.filter(b => ['undead', 'spirit', 'beast'].includes(b.tag)), resourceProfile: weirdWestCombatProfile }),
|
|
147
|
-
createCombatRecovery(),
|
|
148
127
|
createBossPhaseListener(mesaCrawlerBoss),
|
|
149
128
|
createAbilityCore({ abilities: weirdWestAbilities, statMapping: { power: 'grit', precision: 'draw-speed', focus: 'lore' } }),
|
|
150
129
|
createAbilityEffects(),
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|