Hunt only listeners for closely matching words, fixed completion not awarding points, added help.

This commit is contained in:
Niels Simenon 2022-10-30 04:59:14 +01:00
parent d257f93f3e
commit c3f1b59416
1 changed files with 9 additions and 4 deletions

View File

@ -74,7 +74,9 @@ function playLetter(playedLetter, context) {
renderBoard(context); renderBoard(context);
if (game.partial.every((letter) => letter !== null)) { if (game.partial.every((letter) => letter !== null)) {
context.sendMessage(style.bold('The word was completed!'), context.room.id); context.sendMessage(`${style.bold('The word was completed.')} ${context.user.prefixedUsername} gets a point!`, context.room.id);
context.setPoints(context.user);
games.delete(context.room.id); games.delete(context.room.id);
} }
} }
@ -91,8 +93,10 @@ function playWord(word, context) {
return; return;
} }
context.sendMessage('That\'s not it', context.room.id); if (Math.abs(game.word.length - word.length) <= 1 && word.split('').some((letter, index) => game.word[index] === letter)) {
progress(context); context.sendMessage(`That's not it, ${context.user.prefixedUsername}.`, context.room.id);
progress(context);
}
} }
function stop(context) { function stop(context) {
@ -124,7 +128,7 @@ function onCommand(args, context) {
return; return;
} }
context.logger.info(`Hangman played ${word.word} with ${getGuesses(word)} guesses`); context.logger.info(`Hangman played '${word.word}' with ${getGuesses(word)} guesses`);
games.set(context.room.id, { games.set(context.room.id, {
word: word.word, word: word.word,
@ -160,4 +164,5 @@ module.exports = {
onCommand, onCommand,
onMessage, onMessage,
commands: ['hangman'], commands: ['hangman'],
help: `Guess the word before the predator reaches its prey! Essentially, horizontal Hangman. Try ${config.prefix}hunt [length] for a specific word length.`,
}; };