Allowed for start command and nicer error messages

master
j 2024-04-05 01:55:34 -04:00
parent b3a0a026cb
commit a8e823f593
1 changed files with 26 additions and 1 deletions

View File

@ -114,12 +114,13 @@ class GameFlow {
}
private async handleSetupPhase(userInput?: string): Promise<void> {
userInput = userInput?.toLowerCase()
let responseMessage = "";
// Logic to handle initial setup
switch (this.gameState.subPhase) {
case 0:
// Weapons Purchase Subphase
if (!userInput) {
if (!userInput || userInput === 'start') {
// Send instructions to the user for the current subphase
responseMessage = `${MessageService.getRandomMessage(
MessageFileName.Oregon_WeaponPurchase,
@ -136,6 +137,10 @@ class GameFlow {
} else {
// If there was an error, include the error message in responseMessage
responseMessage = `${purchaseResult.errorMessage}`;
responseMessage += `\n\n${MessageService.getRandomMessage(
MessageFileName.Oregon_WeaponPurchase,
{}
)}`
// Do not advance subphase; possibly prompt the same instructions with an error message
}
}
@ -154,6 +159,10 @@ class GameFlow {
return this.handleSetupPhase(); // Call setup phase again for next subphase
} else {
responseMessage = purchaseResult.errorMessage || '';
responseMessage += `\n\n${MessageService.getRandomMessage(
MessageFileName.Oregon_OxenPurchase,
{}
)}`
}
}
break;
@ -171,6 +180,10 @@ class GameFlow {
return this.handleSetupPhase(); // Call setup phase again for next subphase
} else {
responseMessage = purchaseResult.errorMessage || '';
responseMessage += `\n\n${MessageService.getRandomMessage(
MessageFileName.Oregon_FoodPurchase,
{}
)}`
}
}
break;
@ -188,6 +201,10 @@ class GameFlow {
return this.handleSetupPhase(); // Call setup phase again for next subphase
} else {
responseMessage = purchaseResult.errorMessage || '';
responseMessage += `\n\n${MessageService.getRandomMessage(
MessageFileName.Oregon_AmmoPurchase,
{}
)}`
}
}
break;
@ -205,6 +222,10 @@ class GameFlow {
return this.handleSetupPhase(); // Call setup phase again for next subphase
} else {
responseMessage = purchaseResult.errorMessage || '';
responseMessage += `\n\n${MessageService.getRandomMessage(
MessageFileName.Oregon_ClothingPurchase,
{}
)}`
}
}
break;
@ -222,6 +243,10 @@ class GameFlow {
return this.handleSetupPhase(); // Call setup phase again for next subphase
} else {
responseMessage = purchaseResult.errorMessage || '';
responseMessage += `\n\n${MessageService.getRandomMessage(
MessageFileName.Oregon_MiscSuppliesPurchase,
{}
)}`
}
}
break;