comparison plugins/hangman/hangman.js @ 272:8fb6bd57878c

Plugin hangman: allow usage in query, closes #424
author David Demelier <markand@malikania.fr>
date Wed, 28 Sep 2016 13:00:38 +0200
parents 6635b9187d71
children c6fbb6e0e06d
comparison
equal deleted inserted replaced
271:3d37e1afec54 272:8fb6bd57878c
232 Hangman.prototype.propose = function (ch, nickname) 232 Hangman.prototype.propose = function (ch, nickname)
233 { 233 {
234 var status = "found"; 234 var status = "found";
235 235
236 // Check for collaborative mode. 236 // Check for collaborative mode.
237 if (Plugin.config["collaborative"] === "true") { 237 if (Plugin.config["collaborative"] === "true" && !this.query) {
238 if (this.last !== undefined && this.last === nickname) 238 if (this.last !== undefined && this.last === nickname)
239 return "wrong-player"; 239 return "wrong-player";
240 240
241 this.last = nickname; 241 this.last = nickname;
242 } 242 }
353 } else { 353 } else {
354 game = Hangman.create(server, channel); 354 game = Hangman.create(server, channel);
355 kw.word = game.formatWord(); 355 kw.word = game.formatWord();
356 server.message(channel, Util.format(Plugin.format["start"], kw)); 356 server.message(channel, Util.format(Plugin.format["start"], kw));
357 } 357 }
358
359 return game;
358 } 360 }
359 361
360 function onMessage(server, origin, channel, message) 362 function onMessage(server, origin, channel, message)
361 { 363 {
362 var game = Hangman.find(server, channel); 364 var game = Hangman.find(server, channel);
365 return; 367 return;
366 368
367 if (message.length === 1 && Unicode.isLetter(message.charCodeAt(0))) 369 if (message.length === 1 && Unicode.isLetter(message.charCodeAt(0)))
368 propose(server, channel, origin, game, message.charCodeAt(0)); 370 propose(server, channel, origin, game, message.charCodeAt(0));
369 } 371 }
372
373 function onQueryCommand(server, origin, message)
374 {
375 onCommand(server, origin, Util.splituser(origin), message).query = true;
376 }
377
378 function onQuery(server, origin, message)
379 {
380 onMessage(server, origin, Util.splituser(origin), message);
381 }