Mercurial > irccd
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 } |