Files
pirate-corsaire-server/Messages/GuildJoinRequestRevokeMessage.js
2026-08-24 22:20:36 +02:00

41 lines
1.5 KiB
JavaScript

const GuildSearchResultStateChanged = require("../Packets/GuildSearchResultStateChanged");
const GuildDataApplicantRemove = require("../Packets/GuildDataApplicantRemove");
const Game = require("../Game/Game");
const { players, guilds } = Game;
const QUERY_GUILD_REQUEST_REVOKE = "DELETE FROM guildrequests WHERE guildID = ? AND playerID = ?";
module.exports = async function (ws, message, player) {
const guildID = message.getUint16(1);
const guild = guildID ? guilds[guildID] : player.guild;
if (!guild || !guild.id) return;
if (guild.id === player.guild.id) return;
const playerID = message.getUint32(3);
const targetPlayer = playerID ? players[playerID] : player;
const guildJoinRequestRevokeQuery = await execute(QUERY_GUILD_REQUEST_REVOKE, [guild.id, targetPlayer.id]);
if (!guildJoinRequestRevokeQuery.data) return console.info("shit");
guild.removeRequest(targetPlayer.id);
const guildSearchResultStateChanged = {
id: guild.id,
hasApplied: false
};
const guildSearchResultStateChangedPacket = GuildSearchResultStateChanged(guildSearchResultStateChanged);
targetPlayer.map.registerIndividualNetworkPacket(targetPlayer.id, guildSearchResultStateChangedPacket);
const guildDataApplicantRemove = {
id: targetPlayer.id
};
const guildDataApplicantRemovePacket = GuildDataApplicantRemove(guildDataApplicantRemove);
const topic = Game.getTopic(guild.topic);
topic.push(guildDataApplicantRemovePacket);
};