Fix repayments that overcharged, and act on the first Frontier playtest
A debt repayment took its whole instalment even when less was owed: four dollars owed at the store cost twenty. Content could not express "pay what is owed", so an add effect's amount may now be read from state, with a cap. Five repayments across both packs use it, and a conformance test holds every pack to it. The turn record now says which options were hidden, so the analyser stops counting doors nobody saw, and it reads only feedback logs. From the same session: wages are labelled as wages, a clamped change says where it stopped, two unreadable option labels are rewritten, the sale barn no longer offers what the player already owns, Ward hints at what the promotion waits for, and the office has five more events. DECISIONS #38-40. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C6UDQ9o6L6Ey173U7XVou6
This commit is contained in:
co-authored by
Claude Opus 5
parent
d84ae495f4
commit
112e558dbb
@@ -10,6 +10,58 @@
|
||||
// than a mistake.
|
||||
|
||||
export const promotion = [
|
||||
{
|
||||
// The first real player asked, thirty turns in, how they would know they
|
||||
// were getting close. Nothing said. This does, in the town's own terms: it
|
||||
// names what the offer is waiting for without printing a threshold. It
|
||||
// comes once, somewhat before the offer can, and only to a hand already
|
||||
// heading that way. See DECISIONS #40.
|
||||
id: 'ward_takes_notice',
|
||||
stage: 'hand',
|
||||
weight: 300,
|
||||
once: true,
|
||||
requires: [
|
||||
{ path: 'turn', op: '>=', value: 24 },
|
||||
{ path: 'standing', op: '>=', value: 55 },
|
||||
],
|
||||
description:
|
||||
'Ward stops at the yard gate on his way past and says, to nobody in ' +
|
||||
'particular, that the county will want a second man by winter. The man ' +
|
||||
'will need a name the street says for the right reasons, and he will ' +
|
||||
'need to be one Ward can take at his word — or one who has already ' +
|
||||
'walked into trouble on the Ridge road and walked back out of it.',
|
||||
options: [
|
||||
{
|
||||
id: 'ask_what_it_takes',
|
||||
label: 'Ask him how long a man would have to wait.',
|
||||
result:
|
||||
'He says not before the fortieth day of anybody’s employment, and ' +
|
||||
'that he is not talking about anybody in particular, and goes on up ' +
|
||||
'the street.',
|
||||
effects: [
|
||||
{ path: 'relationships.ward.trusts_you', op: 'add', value: 3 },
|
||||
{ path: 'notable', op: 'push', value: 'Heard from Ward that the county would want a second man.' },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'happy_in_the_yard',
|
||||
label: 'Say you are happy in the yard.',
|
||||
result: 'Vane, in the office doorway, hears you say it.',
|
||||
effects: [
|
||||
{ path: 'relationships.hollis.trusts_you', op: 'add', value: 3 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'remember_it',
|
||||
label: 'Say nothing, and remember it.',
|
||||
result: 'He did not expect an answer, and seems to like not getting one.',
|
||||
effects: [
|
||||
{ path: 'skills.nerve', op: 'add', value: 1 },
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'deputy_offer',
|
||||
stage: 'hand',
|
||||
|
||||
Reference in New Issue
Block a user