{"_id":"@ai-rpg-engine/starter-bounty-hunter","_rev":"7-ffd30a82ad9b5d564106fefbad1e3f37","name":"@ai-rpg-engine/starter-bounty-hunter","dist-tags":{"latest":"3.12.0"},"versions":{"0.0.0":{"name":"@ai-rpg-engine/starter-bounty-hunter","version":"0.0.0","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","content-pack"],"author":{"name":"mcp-tool-shop","email":"64996768+mcp-tool-shop@users.noreply.github.com"},"license":"MIT","_id":"@ai-rpg-engine/starter-bounty-hunter@0.0.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"2f3039269e25741fde5f6eb075447acf055aac56","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-0.0.0.tgz","fileCount":2,"integrity":"sha512-p4sFU3sOPlZgP9H74jMmtUrVKk0mWXD+pDFAgwh/QrGZ0q7e2OQXSWrf14i1nCvmtp3zd750ExrxVjVPEr3Oyw==","signatures":[{"sig":"MEUCIDAOw8MM+UMvtbIzvsWc5FetxbCtvjox6SPCaSEubPgRAiEAr6BCb0/R1LY6MDi0PBm5aZ0cEZi2UBovnjKhptndgcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1111},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"10.9.8","description":"Placeholder — real release v3.8.0 coming soon. AI RPG Engine thief-taker starter: Hue and Cry. See https://github.com/mcp-tool-shop-org/ai-rpg-engine","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/starter-bounty-hunter_0.0.0_1785277554948_0.773665191315728","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"@ai-rpg-engine/starter-bounty-hunter","version":"3.8.0","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/starter-bounty-hunter@3.8.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"8ecd860c6651a1067070648874e2e7716c23d8cc","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-3.8.0.tgz","fileCount":30,"integrity":"sha512-lw/ASJEL5jz20vROL2Vj39iRREfYjFIdutasHRh3UcoTkJ3UXsy8w5jamsT/ZLMCH0u6vgaezrw3EA4+3+oMPw==","signatures":[{"sig":"MEUCIE4gNLh7AqVDBN3Fl7g6SW+BiyG+FpjYNYm8rNXxRdYCAiEAjhZh+hAD8y+J7yU/b1NKn4jcpJNttDxtjnejFuCqPVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fstarter-bounty-hunter@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242693},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c00cd16ffcd88ec615eb788f6ce82dec3cd247f7","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1c6ad7a-daf4-4603-9766-4354aaf3e975"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"12.0.1","description":"AI RPG Engine thief-taker starter: Hue and Cry","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@ai-rpg-engine/core":"*","@ai-rpg-engine/modules":"*","@ai-rpg-engine/equipment":"*","@ai-rpg-engine/content-schema":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/starter-bounty-hunter_3.8.0_1785280368800_0.6043729423725215","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"@ai-rpg-engine/starter-bounty-hunter","version":"3.8.1","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/starter-bounty-hunter@3.8.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"58aacee0b1c27a27d71147082b2461873851f52f","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-3.8.1.tgz","fileCount":30,"integrity":"sha512-IyKL1yYancMJu/wVDhG5UeMw/NKMf49gQjpet/nYqQJtAW3MwIGTuP1lGf0cHfOQjclHOJXpl6yfXEKIf1PBTw==","signatures":[{"sig":"MEUCIF+JVo1lZEvNZnv67PnVikW8g3zCrlFiku3yf66l58HYAiEArPELeHeBMgSUTfMiCWiVlz95/wFH89Ja8xzS7zYOuq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fstarter-bounty-hunter@3.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246053},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"49c63c5d7df474979c1b775c40988ac46714eb03","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1c6ad7a-daf4-4603-9766-4354aaf3e975"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"11.19.1","description":"AI RPG Engine thief-taker starter: Hue and Cry","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@ai-rpg-engine/core":"*","@ai-rpg-engine/modules":"*","@ai-rpg-engine/equipment":"*","@ai-rpg-engine/content-schema":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/starter-bounty-hunter_3.8.1_1788156906553_0.32776432053453153","host":"s3://npm-registry-packages-npm-production"}},"3.9.0":{"name":"@ai-rpg-engine/starter-bounty-hunter","version":"3.9.0","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/starter-bounty-hunter@3.9.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"fd0fa3a16e4e1a7f38a76b9daac11cc1d0b76a50","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-3.9.0.tgz","fileCount":30,"integrity":"sha512-Kz8sXdgJHBpUAD8FWRSI3+0tn5OPPwucO1SqYAbW3la/ysryxXoeq6O2ciwu0SWOyOBAARDz8KYsVcLJsz6F4A==","signatures":[{"sig":"MEUCIDuBmtrBKMnnOmjCsoqf58GpCde1HJiYEP7gSNx56YEEAiEA9Br8idiVVDWHKnNDfwR8sFy7nLhEs4Kylree+NvNbKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fstarter-bounty-hunter@3.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246053},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"281a7e5a42951dd2a76b39cb713f13b8768d3098","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1c6ad7a-daf4-4603-9766-4354aaf3e975"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"11.19.1","description":"AI RPG Engine thief-taker starter: Hue and Cry","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@ai-rpg-engine/core":"*","@ai-rpg-engine/modules":"*","@ai-rpg-engine/equipment":"*","@ai-rpg-engine/content-schema":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/starter-bounty-hunter_3.9.0_1788171469256_0.38772207519573465","host":"s3://npm-registry-packages-npm-production"}},"3.10.0":{"name":"@ai-rpg-engine/starter-bounty-hunter","version":"3.10.0","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/starter-bounty-hunter@3.10.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"44f03743426fe3ccb65ab1dc7449c54af4d7704b","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-3.10.0.tgz","fileCount":30,"integrity":"sha512-Owg73MqzTfRXWAJcejGuiP1BCsY4UO1AWb1D3L+JfuikQwnzC9IO1hQC9pCppu8Lw+7omFVKTsuiftxyjjAqFA==","signatures":[{"sig":"MEQCIDN0AE8sSv9OKc/l4ODL8w3N9ItEXE5a8c7fpn/erPa8AiAmikEmJ3zKUSxJBhN7V1XthCU8vJXOmsc0lQZz6lVd3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fstarter-bounty-hunter@3.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246056},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b84e470eccb8320f5fdb46f1ee8d8d9d42ac9b20","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1c6ad7a-daf4-4603-9766-4354aaf3e975"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"11.19.1","description":"AI RPG Engine thief-taker starter: Hue and Cry","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@ai-rpg-engine/core":"*","@ai-rpg-engine/modules":"*","@ai-rpg-engine/equipment":"*","@ai-rpg-engine/content-schema":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/starter-bounty-hunter_3.10.0_1788204700104_0.8903321348185362","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@ai-rpg-engine/starter-bounty-hunter","version":"3.11.0","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@ai-rpg-engine/starter-bounty-hunter@3.11.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"5ebf95ab3a67c77848da48d52437cebc9a1e1f46","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-3.11.0.tgz","fileCount":30,"integrity":"sha512-AZSar5mK6n7DSTNe/24DYiq/iOjMavjVcOU20mEENyKI197f4zeMM2tVcBTzf07kR50lGYsAbI1NOj04SQKUUg==","signatures":[{"sig":"MEYCIQD7Aip0eqRwAeN6aKQspI9mr/iT8LCH+IuJS7gmrlXl0AIhAI/9FDHcOKZy21HUug1oGU6FrEF4rwgnibPEQMR1UXDE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fstarter-bounty-hunter@3.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246280},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"acbc2d1d3453d7af4bec321c3f6f4fba7f383aed","scripts":{"test":"vitest run","build":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1c6ad7a-daf4-4603-9766-4354aaf3e975"}},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"11.19.1","description":"AI RPG Engine thief-taker starter: Hue and Cry","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@ai-rpg-engine/core":"*","@ai-rpg-engine/modules":"*","@ai-rpg-engine/equipment":"*","@ai-rpg-engine/content-schema":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/starter-bounty-hunter_3.11.0_1788246532559_0.11188716893269968","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"_id":"@ai-rpg-engine/starter-bounty-hunter@3.12.0","bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"dist":{"shasum":"0c48bdde08867419b3b287e403b843d0bd9f4cf6","tarball":"https://registry.npmjs.org/@ai-rpg-engine/starter-bounty-hunter/-/starter-bounty-hunter-3.12.0.tgz","fileCount":30,"integrity":"sha512-7BgPh/9oikClcd/RKBtX9OeGasI2gH4yh7q+IRwiX2OlnVvdVw5U2Dmg+iZzs6x2HUjNsO8zF5Sl5DQVbS/ieA==","signatures":[{"sig":"MEQCIDgLhJke6M19SjUkCKv/4UvqmZ6svjUTucz0JRyoRcJLAiBOZVVz0QiiE7OXf6/sWnmq9IQ0d+zzhj/WezUtqElzOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD81lbGhsrSxTqh9IDUUV5T8PInJpJE1DyJuWkdUPdVzQIhAM5+BUsCoOwbnUUs3wNP4oKvZr/1wTzFBhIls5vYZFXR"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-rpg-engine%2fstarter-bounty-hunter@3.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246280},"main":"./dist/index.js","name":"@ai-rpg-engine/starter-bounty-hunter","type":"module","types":"./dist/index.d.ts","author":{"name":"mcp-tool-shop"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bf74871b46a02b5fb1bb333cec68d305c5fe7d7c","license":"MIT","scripts":{"test":"vitest run","build":"tsc"},"version":"3.12.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1c6ad7a-daf4-4603-9766-4354aaf3e975"}},"homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"_npmVersion":"11.19.1","description":"AI RPG Engine thief-taker starter: Hue and Cry","directories":{},"maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"@ai-rpg-engine/core":"*","@ai-rpg-engine/modules":"*","@ai-rpg-engine/equipment":"*","@ai-rpg-engine/content-schema":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/starter-bounty-hunter_3.12.0_1789973395113_0.07190663948515486"}}},"time":{"created":"2026-07-28T22:25:54.591Z","modified":"2026-09-21T06:49:55.559Z","0.0.0":"2026-07-28T22:25:55.171Z","3.8.0":"2026-07-28T23:12:48.996Z","3.8.1":"2026-08-31T06:15:06.694Z","3.9.0":"2026-08-31T10:17:49.385Z","3.10.0":"2026-08-31T19:31:40.255Z","3.11.0":"2026-09-01T07:08:52.731Z","3.12.0":"2026-09-21T06:49:55.212Z"},"bugs":{"url":"https://github.com/mcp-tool-shop-org/ai-rpg-engine/issues"},"author":{"name":"mcp-tool-shop"},"license":"MIT","homepage":"https://mcp-tool-shop-org.github.io/ai-rpg-engine/","keywords":["rpg","bounty-hunter","thief-taker","pursuit","game-engine","starter","worldbuilding","content-pack"],"repository":{"url":"git+https://github.com/mcp-tool-shop-org/ai-rpg-engine.git","type":"git","directory":"packages/starter-bounty-hunter"},"description":"AI RPG Engine thief-taker starter: Hue and Cry","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"README.ja.md\">日本語</a> | <a href=\"README.md\">English</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>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/ai-rpg-engine/readme.png\" width=\"400\" alt=\"AI RPG Engine\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/mcp-tool-shop-org/ai-rpg-engine/actions/workflows/ci.yml\"><img src=\"https://github.com/mcp-tool-shop-org/ai-rpg-engine/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://github.com/mcp-tool-shop-org/ai-rpg-engine/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"></a>\n  <a href=\"https://mcp-tool-shop-org.github.io/ai-rpg-engine/\"><img src=\"https://img.shields.io/badge/Landing_Page-live-blue\" alt=\"Landing Page\"></a>\n</p>\n\n# @ai-rpg-engine/starter-bounty-hunter\n\n> **示例构成**——本入门包演示了如何构建一个游戏，其核心循环是追捕，而真正的货币则是这座城市中哪一半会继续向你敞开大门。这是一个可以学习的例子，而不是一个可以直接复制的模板。请参阅[构成指南](../../docs/handbook/57-composition-guide.md)，以构建您自己的游戏。\n\n**声势浩大的追捕**——你是一个赏金猎人，在一个没有警察且也不需要警察的城市里活动。这里没有法律。只有价格，以及你。\n\n[AI RPG 引擎](https://github.com/mcp-tool-shop-org/ai-rpg-engine)入门包目录的一部分。\n\n## 主题\n\n*声势浩大的追捕*是真正的制度：每个旁观者都有法律义务加入追捕行动，一旦该行动开始。它也是本引擎在特定语境下的核心原则——**热度决定了世界是否正在关注；立场决定了它之后是否会记住。** 本包的设计基于这一原则，而不是围绕它进行设计。它没有添加第二个追捕时钟。\n\n这座城市有两个部分，它们都为名声买单。赏金办公室按人头支付报酬，并为你提供合法的行动依据。地下世界则为沉默、被盗物品以及一个不作证的人支付报酬。乔纳森·奎尔——自称“赏金猎人总管”——发现你可以同时进行这两项活动。他是这个包的核心人物，他不是怪物；他就是你，只是在同一条道路上走了四年。\n\n## 快速上手\n\n```typescript\nimport { createGame, pursuitState, formatPursuitForNarrator } from '@ai-rpg-engine/starter-bounty-hunter';\n\nconst engine = createGame(71);\n\n// Sign for a ticket — the office now owns what you do next\nengine.submitAction('speak', { targetIds: ['clerk-hesper'] });\nengine.submitAction('choose', { parameters: { choiceId: 'sign' } });\n\n// Buy a word, walk it down, take him breathing\nengine.submitAction('informant', { targetIds: ['nightman'] });\nengine.submitAction('move', { targetIds: ['shambles'] });\nengine.submitAction('move', { targetIds: ['rookery'] });\nengine.submitAction('collar', { targetIds: ['rookery-runner'] });\n\n// Then choose a side, for today\nengine.submitAction('impeach', { targetIds: ['rookery-runner'] });  // the office\n// ...or take the other road entirely\nengine.submitAction('fence', { toolId: 'stolen-plate' });           // the ward\n\nconsole.log(formatPursuitForNarrator(engine.world));\n// [SEARCHED] Somebody raised the cry. Faces turn when you pass. (heat 12 — 10+ and the cry is up)\n```\n\n## 演示的模式\n\n- **一个没有第二个时钟的追捕循环**——`pursuitState`是对引擎自身`player_heat`和派系警报的一种纯粹的衍生。`HUNTED_HEAT`*就是*世界时钟的`HEAT_ESCALATION_THRESHOLD`，因此玩家永远不会有两个数字对他们是否被追捕产生不同的结果。\n- **双重声誉作为包的核心压力**——`warrant`是合法的行动依据；`infamy`是地下世界对你的看法。加强一项会削弱另一项。两者都不是“失败计量器”；没有失去价值，只有你正在偏离的方向。\n- **拒绝作为一种机制**——`collar`需要合法的行动依据*以及*一个已经被击倒的目标，并且会说明为什么拒绝。一次无法验证的追捕是一种带有收益的伤害判定。\n- **原则作为玩家行为**——`lay-low`将引擎已经奖励的安静状态转化为你可以选择的行为，并在没有人关注时拒绝，因为一种始终有效的行为并不能教会你任何东西。\n- **内容从生成规则向后设计**——书记员赫斯珀是盟友和贪婪者，因为这是引擎的`contract`规则所能提供的唯一NPC形式。贫民窟被设计成贫穷且不受控制，因为这就是区域规则所反映的内容。\n- **一个包本地模块**——`pursuit-core`存在于入门包中，而不是在`@ai-rpg-engine/modules`中，因为它只有一个消费者。在第二个包中使用。\n\n## 独特机制\n\n| 行为 | 它所做的事情 |\n|------|--------------|\n| `collar` | 以合法授权的形式**活捉**目标。需要合法的行动依据和一个已经被削弱的目标；否则会拒绝，并说明原因。产生记录，而不是支付报酬。 |\n| `impeach` | 对你抓捕的目标作证。将追捕转化为定罪：增加授权，减少恶名。办公室信任一个能够完成任务的赏金猎人。 |\n| `informant` | 购买目标的下落。价格是根据你与街头关系的印刷函数——陌生人支付双倍的价格——并且询问本身就是一个信号，因此恶名会增加。 |\n| `post-bounty` | 为目标设定自己的价格，并花费办公室的信用额度来做到这一点。你的不满变成了其他人要做的事情。 |\n| `fence` | 通过黑市转移回收的物品。需要一个**人**，而不是菜单。故意支付较少的报酬：你不是为了钱而来。 |\n| `lay-low` | 花一天时间躲起来，让追捕声息渐止。当没有人关注时会拒绝。 |\n\n**追捕状态**是`COLD`/`SEARCHED`/`HUNTED`，并且每个状态都携带导致它的数字。一个派系在警报达到60或以上时会追捕你，即使是在安静的一周里，因为警报是记忆，而热度是关注——这就是本包的原则，用包自身的词汇表达。\n\n## 内容\n\n- **7个区域**分布在3个街区：行政区（办公室和法庭）、杂乱区（市场和死墙）以及贫民窟——贫穷、不受控制，并且更难获得明确的答案。\n- **4个NPC**——书记员赫斯珀、母亲斯拉克、警长派克（可招募）、抄写员。\n- **3个敌对角色+1个Boss**——乔纳森·奎尔在失去力量时不会变得更强。他会变得更加坦诚。\n- **3个任务**——第一张票、血钱、赏金猎人总管。\n- **6件物品**，包括泰伯恩票：一张真实的、可转让的证书，历史上其价值高于它所提供的奖励。\n\n## 属性和资源\n\n| 属性 | 作用 |\n|------|------|\n| `grip` | 你可以对一个不想被抓捕的人做什么 |\n| `nose` | 阅读房间、账簿、谎言——赏金猎人的真正技能。 |\n| `authority` | 房间是否认为你有权这样做 |\n\n| 资源 | 行为 |\n|----------|-----------|\n| `hp` | 最大值为32——你靠抓捕人生存。 |\n| `stamina` | 追捕的成本。战斗会消耗它；`lay-low`会恢复它。 |\n| `coin` | 线人想要的东西。 |\n| `warrant` | 合法的行动依据。由`collar`和`post-bounty`消耗，由`impeach`恢复。 |\n| `infamy` | 城市另一半对你的看法。**不是**失败计量器。 |\n\n战斗地图`attack → grip`、`precision → nose`、`resolve → authority`。暴力在这里并不被禁止——它只是**嘈杂**，并且会消耗你用于下一次抓捕的体力。\n\n## 可以借鉴的内容\n\n如果你的游戏中有追逐机制，那么“状态转移”应该遵循以下原则：三个关键词——确定性、每个状态转移都应明确其触发条件，并且所有状态都应该是引擎已经存在的。如果你的游戏中存在不同派系，且这些派系对同一人物有不同的诉求，则需要考虑“双向声誉”。还有 `anti-inert.test.ts` ——每一种游戏内置的动词都需要有一行代码来证明它会改变某些东西，以及另一行代码来证明其拒绝是一种结构化的否定，而不是简单的沉默。\n\n## 许可协议\n\nMIT\n","readmeFilename":"README.zh.md"}