Compare commits
2 commits
47547c2ec4
...
bcf698074b
Author | SHA1 | Date | |
---|---|---|---|
bcf698074b | |||
5c70dc6b87 |
2 changed files with 25 additions and 0 deletions
18
index.js
18
index.js
|
@ -324,6 +324,19 @@ wss.on('connection', ws => {
|
|||
break;
|
||||
}
|
||||
|
||||
// Verificar termo via expressão regular.
|
||||
let palavraRegexIlegal = new RegExp(vars["palavra.regex.caracteresIlegais"], 'g');
|
||||
if (palavraRegexIlegal.test(resposta.extra.termo)){
|
||||
ws.send(JSON.stringify(new Resposta("PEDIDO_CANCELADO", "SERVIDOR", "PALAVRA_OU_LETRA_PROIBIDO", { erroDescrição: "TERMO_CARACTERES_ILEGAIS" })));
|
||||
break;
|
||||
}
|
||||
|
||||
// Verificar se o termo enviado possui termos filtrados CASO a sala tinha o filtro habilitado
|
||||
if (salaObj.opções["filtro.temasAdultos.habilitado"] && Util.filtrarMensagem(resposta.extra.termo, filtros) !== resposta.extra.termo){
|
||||
ws.send(JSON.stringify(new Resposta("PEDIDO_CANCELADO", "SERVIDOR", "PALAVRA_OU_LETRA_PROIBIDO", { erroDescrição: "TERMO_IMPRÓPRIO" })));
|
||||
break;
|
||||
}
|
||||
|
||||
// Verificar o tipo do termo enviado.
|
||||
let letra = resposta.extra.termo.length === 1;
|
||||
let salaClientes = salaObj.clientes;
|
||||
|
@ -370,6 +383,11 @@ wss.on('connection', ws => {
|
|||
tentarNovamente = true;
|
||||
break;
|
||||
}
|
||||
case "PALAVRA_JÁ_ESCOLHIDA":{
|
||||
alertarClientesEvento("EVENTO_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r });
|
||||
tentarNovamente = true;
|
||||
break;
|
||||
}
|
||||
case "LETRAS_PREENCHIDAS":{
|
||||
alertarClientesEvento("EVENTO_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r, ldc: salaObj.ldc });
|
||||
|
||||
|
|
7
sala.js
7
sala.js
|
@ -86,6 +86,7 @@ class Sala {
|
|||
novaRodada(){
|
||||
this.lei = []; // Letras escolhidas inexistentes
|
||||
this.lee = []; // Letras escolhidas existentes
|
||||
this.pei = []; // Palavras escolhidas inexistentes
|
||||
this.ldc = []; // Letras descobertas
|
||||
this.jpa = null; // Jogador que escolheu a palavra atual (Jogador Palavra Atual)
|
||||
this.palavra = null;
|
||||
|
@ -185,6 +186,12 @@ class Sala {
|
|||
}
|
||||
return resultadoTermo;
|
||||
} else {
|
||||
// Esta palavra já foi enviada?
|
||||
if (this.pei.indexOf(termo) !== -1){
|
||||
resultadoTermo.resultado = "PALAVRA_JÁ_ESCOLHIDA";
|
||||
return resultadoTermo;
|
||||
}
|
||||
this.pei.push(termo);
|
||||
let palavraCorreta = this.palavra === termo;
|
||||
resultadoTermo.resultado = palavraCorreta ? "PALAVRA_CORRETA" : "PALAVRA_INCORRETA";
|
||||
if (palavraCorreta){
|
||||
|
|
Reference in a new issue