Initial commit

This commit is contained in:
2026-08-24 22:20:36 +02:00
commit 62f7b1278a
251 changed files with 16670 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
const GuildMemberNewPacket = require("../Packets/GuildMemberNew");
const GuildDataMemberPacket = require("../Packets/GuildDataMember");
const GuildLeaveConfirmationPacket = require("../Packets/GuildLeaveConfirmation");
const GuildDataApplicantRemovePacket = require("../Packets/GuildDataApplicantRemove");
const LEVELS = require("../Data/levels");
const queries = require("../Data/queries");
const { QUERY_FETCH_GUILD_OFFLINE_MEMBERS } = queries;
const Game = require("../Game/Game");
const { players } = Game;
module.exports = async function (ws, message, player) {
if (!player.guild.id) return
const playerID = message.getUint32(1);
const guild = player.guild;
const isRequested = guild.hasRequested(playerID);
if (!isRequested) return
const acceptedMember = {
id: playerID
};
const isAcceptSuccessful = guild.addMember(acceptedMember);
if (!isAcceptSuccessful) return;
const topic = Game.getTopic(guild.topic);
const onlinePlayer = players[playerID];
if (onlinePlayer) {
onlinePlayer.guild = guild;
const guildMemberNew = {
playerID: onlinePlayer.id,
tag: player.guild.tag
};
const guildMemberStateConfirmation = GuildLeaveConfirmationPacket(true);
onlinePlayer.map.registerIndividualNetworkPacket(playerID, guildMemberStateConfirmation);
const packet = GuildMemberNewPacket(guildMemberNew);
onlinePlayer.map.registerNetworkPacket(onlinePlayer.id, packet);
const guildDataMember = {
id: onlinePlayer.id,
permission: 0,
isOnline: true,
pirateLevel: onlinePlayer.pirateLevel,
name: onlinePlayer.name
};
const guildMemberPacket = GuildDataMemberPacket(guildDataMember);
topic.push(guildMemberPacket);
const guildDataApplicantRemove = {
id: playerID
};
const guildDataApplicantRemovePacket = GuildDataApplicantRemovePacket(guildDataApplicantRemove);
topic.push(guildDataApplicantRemovePacket);
} else {
const offlinePlayerQuery = await execute(QUERY_FETCH_GUILD_OFFLINE_MEMBERS, [playerID]);
if (!offlinePlayerQuery.data) return;
const { username, amount } = offlinePlayerQuery.data[0];
const guildDataMember = {
id: playerID,
permission: 0,
isOnline: false,
pirateLevel: LEVELS.pirateLevel(amount),
name: username
};
const guildMemberPacket = GuildDataMemberPacket(guildDataMember);
topic.push(guildMemberPacket);
const guildDataApplicantRemove = {
id: playerID
};
const guildDataApplicantRemovePacket = GuildDataApplicantRemovePacket(guildDataApplicantRemove);
topic.push(guildDataApplicantRemovePacket);
};
await execute("INSERT INTO guildmembers (playerID, guildID) VALUES (?, ?)", [playerID, guild.id]);
await execute("DELETE FROM guildrequests WHERE playerID = ?", [playerID]);
};