Add toggle turns opcode
This commit is contained in:
@@ -36,6 +36,8 @@ export default class WSServer {
|
|||||||
private voteTimeout : number;
|
private voteTimeout : number;
|
||||||
// Interval to keep track
|
// Interval to keep track
|
||||||
private voteTimeoutInterval? : NodeJS.Timer;
|
private voteTimeoutInterval? : NodeJS.Timer;
|
||||||
|
// Completely disable turns
|
||||||
|
private turnsAllowed : boolean;
|
||||||
private ModPerms : number;
|
private ModPerms : number;
|
||||||
private VM : QEMUVM;
|
private VM : QEMUVM;
|
||||||
constructor(config : IConfig, vm : QEMUVM) {
|
constructor(config : IConfig, vm : QEMUVM) {
|
||||||
@@ -48,6 +50,7 @@ export default class WSServer {
|
|||||||
this.voteInProgress = false;
|
this.voteInProgress = false;
|
||||||
this.voteTime = 0;
|
this.voteTime = 0;
|
||||||
this.voteTimeout = 0;
|
this.voteTimeout = 0;
|
||||||
|
this.turnsAllowed = true;
|
||||||
this.ModPerms = Utilities.MakeModPerms(this.Config.collabvm.moderatorPermissions);
|
this.ModPerms = Utilities.MakeModPerms(this.Config.collabvm.moderatorPermissions);
|
||||||
this.server = http.createServer();
|
this.server = http.createServer();
|
||||||
this.socket = new WebSocketServer({noServer: true});
|
this.socket = new WebSocketServer({noServer: true});
|
||||||
@@ -195,6 +198,7 @@ export default class WSServer {
|
|||||||
client.onMsgSent();
|
client.onMsgSent();
|
||||||
break;
|
break;
|
||||||
case "turn":
|
case "turn":
|
||||||
|
if (!this.turnsAllowed && client.rank !== Rank.Admin && client.rank !== Rank.Moderator) return;
|
||||||
if (!client.TurnRateLimit.request()) return;
|
if (!client.TurnRateLimit.request()) return;
|
||||||
if (!client.connectedToNode) return;
|
if (!client.connectedToNode) return;
|
||||||
if (msgArr.length > 2) return;
|
if (msgArr.length > 2) return;
|
||||||
@@ -413,6 +417,19 @@ export default class WSServer {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "22":
|
||||||
|
if (client.rank !== Rank.Admin) return;
|
||||||
|
if (msgArr.length !== 3) return;
|
||||||
|
switch (msgArr[2]) {
|
||||||
|
case "0":
|
||||||
|
this.clearTurns();
|
||||||
|
this.turnsAllowed = false;
|
||||||
|
break;
|
||||||
|
case "1":
|
||||||
|
this.turnsAllowed = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user