Add escort-specific status labels to job board

- Introduce `escortActive` and `escortActivate` strings in sidequests.json so escort contracts display distinct copy instead of the generic patrol text.
- Update JobBoardWindow status and action buttons to branch on `category === 'escort'`, falling back to existing bounty/patrol labels.
This commit is contained in:
Brian Fertig 2026-09-27 11:24:03 -06:00
parent f49051be69
commit 335eccde70
2 changed files with 14 additions and 5 deletions

View File

@ -684,6 +684,8 @@
"activate": "SET PATROL ACTIVE",
"bountyActive": "HUNT ACTIVE",
"bountyActivate": "SET HUNT ACTIVE",
"escortActive": "ESCORT ACTIVE",
"escortActivate": "SET ESCORT ACTIVE",
"complete": "CONTRACT COMPLETE",
"claim": "CLAIM REWARD — {reward} CR",
"claimXp": "CLAIM REWARD — {reward} CR · +{xp} XP",

View File

@ -616,11 +616,14 @@ export class JobBoardWindow extends Phaser.GameObjects.Container {
rightTxt = String(ui.complete ?? 'CONTRACT COMPLETE');
rightColor = C.neon;
} else if (state === 'active') {
// A hunt flying reads as a HUNT, not a patrol (data → ui.bountyActive);
// every other contract keeps the standing copy.
// A hunt flying reads as a HUNT, an escort as an ESCORT, not a patrol
// (data → ui.bountyActive / ui.escortActive); every other contract
// keeps the standing copy.
rightTxt = p.category === 'bounty'
? String(ui.bountyActive ?? 'HUNT ACTIVE')
: String(ui.active ?? 'PATROL ACTIVE');
: p.category === 'escort'
? String(ui.escortActive ?? 'ESCORT ACTIVE')
: String(ui.active ?? 'PATROL ACTIVE');
rightColor = this._activeColor();
} else if (state === 'accepted') {
rightTxt = String(ui.accepted ?? 'CONTRACT ACCEPTED');
@ -931,13 +934,17 @@ export class JobBoardWindow extends Phaser.GameObjects.Container {
} else if (state === 'accepted') {
label = sel.category === 'bounty'
? String(ui.bountyActivate ?? 'SET HUNT ACTIVE')
: String(ui.activate ?? 'SET PATROL ACTIVE');
: sel.category === 'escort'
? String(ui.escortActivate ?? 'SET ESCORT ACTIVE')
: String(ui.activate ?? 'SET PATROL ACTIVE');
color = C.green;
action = 'activate';
} else if (state === 'active') {
label = sel.category === 'bounty'
? String(ui.bountyActive ?? 'HUNT ACTIVE')
: String(ui.active ?? 'PATROL ACTIVE');
: sel.category === 'escort'
? String(ui.escortActive ?? 'ESCORT ACTIVE')
: String(ui.active ?? 'PATROL ACTIVE');
color = this._activeColor();
} else if (state === 'complete') {
label =