The three denominations are move tokens, not stored buckets — there is one integer, so change-making never arises. The deserter is down to 47c: under a silver, so he cannot cover a bed and the player sees it on turn one. A parity test guards the code-side ratios against the content-side ids. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
26 lines
887 B
JSON
26 lines
887 B
JSON
{
|
|
"schema_version": 1,
|
|
"id": "deserter",
|
|
"display_name": "The Deserter",
|
|
"description": "You walked away from a company that doesn't allow walking away. Greywater was just far enough. You hoped.",
|
|
"start_location_id": "greywater_docks",
|
|
"situation": [
|
|
"Arrived at Greywater by barge before dawn, hood up",
|
|
"Down to your last coin and owed a favour you can't repay"
|
|
],
|
|
"opening_facts": [
|
|
"the player deserted the Iron Kettle mercenary company",
|
|
"a bounty notice for the player circulates in the northern towns"
|
|
],
|
|
"disposition_overrides": { "brannoc_thane": 40, "cadwyn_vell": 15 },
|
|
"inventory_grants": [
|
|
{ "item_id": "worn_shortsword", "qty": 1 },
|
|
{ "item_id": "copper", "qty": 47 }
|
|
],
|
|
"start_quest_id": "find_the_ledger",
|
|
"build_constraints": {
|
|
"allowed_classes": ["sellsword", "assassin", "priest"],
|
|
"luck_modifier": 0
|
|
}
|
|
}
|