Update KickPlayer to RemovePlayer
This commit is contained in:
parent
5888f5e2a9
commit
c2e670c5f8
5 changed files with 27 additions and 20 deletions
|
|
@ -79,7 +79,8 @@
|
|||
Fail: Origin
|
||||
</td>
|
||||
<td colspan="2">
|
||||
This is just to get the list of players, there's nothing else to it.
|
||||
This is just to get the list of players, there's nothing
|
||||
else to it.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -123,31 +124,37 @@
|
|||
Fail: Not Sent
|
||||
</td>
|
||||
<td colspan="2">
|
||||
Alerts players already in the game of the newly joined player.
|
||||
Alerts players already in the game of the newly joined
|
||||
player.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code><a href="#">KickPlayer</a></code></td>
|
||||
<td><code><a href="#">PlayerKicked</a></code></td>
|
||||
<td><code><a href="#">RemovePlayer</a></code></td>
|
||||
<td><code><a href="#">PlayerRemoved</a></code></td>
|
||||
<td>
|
||||
Success: Room
|
||||
<br>
|
||||
Fail: Origin
|
||||
</td>
|
||||
<td colspan="2">
|
||||
When the host kicks a player from the lobby this event is sent out to alert all the players of the player's removal so the UI can be updated as needed.
|
||||
When the host kicks a player from the lobby this event is
|
||||
sent out to alert all the players of the player's removal
|
||||
so the UI can be updated as needed.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><code><a href="#">KillGame</a></code></td>
|
||||
<td><code><a href="#"></a></code></td>
|
||||
<td><code><a href="#">GameKilled</a></code></td>
|
||||
<td>
|
||||
Success:
|
||||
Success: Room
|
||||
<br>
|
||||
Fail:
|
||||
Fail: Origin
|
||||
</td>
|
||||
<td colspan="2">
|
||||
This event is sent out to everyone in the room when the host
|
||||
leaves the game.
|
||||
</td>
|
||||
<td colspan="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code><a href="#">NextPresident</a></code></td>
|
||||
|
|
|
|||
|
|
@ -4,19 +4,19 @@ kicked, as well as can prevent them from re-joining the game again if the ban
|
|||
property was set to true.
|
||||
|
||||
Emissions:
|
||||
PlayerKicked->All - This event is sent to everyone to indicate that the
|
||||
PlayerRemoved->All - This event is sent to everyone to indicate that the
|
||||
player was removed from the game. If the client recognizes the player
|
||||
name to be itself, it kicks the player back to he main page. Otherwise
|
||||
it just removes the player from the display list.
|
||||
*/
|
||||
import { Server, Socket } from 'socket.io';
|
||||
import { active_games, log } from '../main';
|
||||
export const KickPlayer = (io: Server, socket: Socket, data: KickPlayer) => {
|
||||
export const RemovePlayer = (io: Server, socket: Socket, data: RemovePlayer) => {
|
||||
try {
|
||||
// Check if it's an active game
|
||||
if (active_games[data.game_code] == null) {
|
||||
log.debug(`Can't find an active game with code: ${data.game_code}`);
|
||||
socket.emit(`PlayerKicked`, {
|
||||
socket.emit(`PlayerRemoved`, {
|
||||
success: false,
|
||||
message: `Error: The supplied game code could not be found.`
|
||||
});
|
||||
|
|
@ -28,7 +28,7 @@ export const KickPlayer = (io: Server, socket: Socket, data: KickPlayer) => {
|
|||
// Ensure it's the host kicking the player
|
||||
if (game.host !== data.user && data.user !== data.target) {
|
||||
log.info(`${data.user} attempted to kick ${data.target} from the game`);
|
||||
socket.emit(`PlayerKicked`, {
|
||||
socket.emit(`PlayerRemoved`, {
|
||||
success: false,
|
||||
message: `Cannot kick players when you are not the host.`,
|
||||
});
|
||||
|
|
@ -38,7 +38,7 @@ export const KickPlayer = (io: Server, socket: Socket, data: KickPlayer) => {
|
|||
// Ensure the user can be kicked during the state
|
||||
if (game.status !== `lobby`) {
|
||||
log.warn(`Cannot kick a player from the game when not in the lobby. (state=${game.status})`);
|
||||
socket.emit(`PlayerKicked`, {
|
||||
socket.emit(`PlayerRemoved`, {
|
||||
success: false,
|
||||
message: `Cannot kick a player when the game is in progress.`,
|
||||
});
|
||||
|
|
@ -52,13 +52,13 @@ export const KickPlayer = (io: Server, socket: Socket, data: KickPlayer) => {
|
|||
game.remove_player(data.target, data.ban);
|
||||
log.info(`${data.user} removed ${data.target} from ${data.game_code}`);
|
||||
|
||||
io.to(game.code).to(target_socket).emit(`PlayerKicked`, {
|
||||
io.to(game.code).to(target_socket).emit(`PlayerRemoved`, {
|
||||
success: true,
|
||||
player: data.target,
|
||||
});
|
||||
} catch (err) {
|
||||
log.prettyError(err);
|
||||
socket.emit(`PlayerKicked`, {
|
||||
socket.emit(`PlayerRemoved`, {
|
||||
success: false,
|
||||
message: `${err.name}: ${err.message}`,
|
||||
});
|
||||
|
|
@ -7,9 +7,9 @@ import { KillGame } from "./events/KillGame";
|
|||
import { JoinGame } from "./events/JoinGame";
|
||||
import { HostGame } from "./events/HostGame";
|
||||
import { StartGame } from "./events/StartGame";
|
||||
import { KickPlayer } from "./events/KickPlayer";
|
||||
import { VetoConfirm } from "./events/VetoConfirm";
|
||||
import { VetoRequest } from "./events/VetoRequest";
|
||||
import { RemovePlayer } from "./events/RemovePlayer";
|
||||
import { ExecutePlayer } from "./events/ExecutePlayer";
|
||||
import { GetPlayerList } from "./events/GetPlayerList";
|
||||
import { NextPresident } from "./events/NextPresident";
|
||||
|
|
@ -61,7 +61,7 @@ io.on(`connection`, (socket: sio.Socket) => {
|
|||
socket.on(`HostGame`, (data: HostGame) => HostGame(io, socket, data));
|
||||
socket.on(`JoinGame`, (data: JoinGame) => JoinGame(io, socket, data));
|
||||
socket.on(`KillGame`, (data: KillGame) => KillGame(io, socket, data));
|
||||
socket.on(`KickPlayer`, (data: KickPlayer) => KickPlayer(io, socket, data));
|
||||
socket.on(`RemovePlayer`, (data: RemovePlayer) => RemovePlayer(io, socket, data));
|
||||
|
||||
|
||||
// Join a game
|
||||
|
|
|
|||
2
src/types/client_data.d.ts
vendored
2
src/types/client_data.d.ts
vendored
|
|
@ -25,7 +25,7 @@ interface PlayerList extends response {
|
|||
players?: string[]
|
||||
}
|
||||
|
||||
interface PlayerKicked extends response {
|
||||
interface PlayerRemoved extends response {
|
||||
// properties depend on `success` being `true`
|
||||
player?: string;
|
||||
}
|
||||
|
|
|
|||
2
src/types/data.d.ts
vendored
2
src/types/data.d.ts
vendored
|
|
@ -39,7 +39,7 @@ interface JoinGame {
|
|||
username: string;
|
||||
}
|
||||
|
||||
interface KickPlayer extends request {
|
||||
interface RemovePlayer extends request {
|
||||
target: string;
|
||||
ban: boolean;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue