More bug fixes. Show the timetable, and stop the arrival message contradicting itself. Fixed division point in labels. And highlighted discard as targets.
This commit is contained in:
+14
-1
@@ -239,9 +239,19 @@ export function narrate(e: GameEvent, ctx: NarrateContext = {}): Narration {
|
||||
text: `Train ${e.trainNumber} HIGHBALLED — departed ${e.from} onto ${e.to}`,
|
||||
};
|
||||
case 'trainArrived':
|
||||
/**
|
||||
* AN EXPEDITED TRAIN IS NOT COMING BACK ROUND.
|
||||
*
|
||||
* This said "it will highball again next Mainline Phase, so any work must happen now" to every
|
||||
* arrival. For an expedited train that is exactly backwards — Q3 departs it in the SAME Stage
|
||||
* it arrived, so there is no turn in which to work it — and the log then contradicted itself
|
||||
* two lines later when the train left. Reported after Train 4, the Express, did precisely that.
|
||||
*/
|
||||
return {
|
||||
tone: 'plain',
|
||||
text: `Train ${e.trainNumber} ARRIVED at the ${e.office} carrying ${carsLabel(e.consist)} — it will highball again next Mainline Phase, so any work must happen now`,
|
||||
text: e.expedited
|
||||
? `Train ${e.trainNumber} ARRIVED at the ${e.office} carrying ${carsLabel(e.consist)} — and EXPEDITES, so it leaves again this same Mainline Phase; there is no turn in which to work it`
|
||||
: `Train ${e.trainNumber} ARRIVED at the ${e.office} carrying ${carsLabel(e.consist)} — it stands until the next Mainline Phase, so any work must happen before then`,
|
||||
};
|
||||
case 'trainDiverted':
|
||||
return {
|
||||
@@ -551,6 +561,9 @@ export function cuesFor(events: readonly GameEvent[]): string[] {
|
||||
// board with only a line of history to say where it went is the thing that most needs a noise.
|
||||
if (e.type === 'carsCoupled') out.push('couple');
|
||||
if (e.type === 'carsDropped' || e.type === 'flyingSwitch') out.push('drop');
|
||||
// The 1D12 that sets a train's departure Stage. It is the one roll a player makes and it landed
|
||||
// silently, so the card was gone and the answer to "when does it run?" was a line of history.
|
||||
if (e.type === 'trainScheduled') out.push('schedule');
|
||||
if (e.type === 'stageBegan') {
|
||||
// A Stage BEGINNING is the previous one ending — except the first, which is the game opening
|
||||
// and has nothing behind it. A Day boundary rings the bell only: sounding both would collide,
|
||||
|
||||
Reference in New Issue
Block a user