You've already forked Arcturus-Morningstar-Extended
mirror of
https://github.com/duckietm/Arcturus-Morningstar-Extended.git
synced 2026-06-19 15:06:19 +00:00
+47
-37
@@ -25,45 +25,55 @@ public class GuildAcceptMembershipEvent extends MessageHandler {
|
|||||||
int userId = this.packet.readInt();
|
int userId = this.packet.readInt();
|
||||||
|
|
||||||
Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId);
|
Guild guild = Emulator.getGameEnvironment().getGuildManager().getGuild(guildId);
|
||||||
|
|
||||||
|
if (guild == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GuildMember actorMember = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, this.client.getHabbo());
|
||||||
|
boolean canAccept = guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId()
|
||||||
|
|| this.client.getHabbo().hasPermission(Permission.ACC_GUILD_ADMIN)
|
||||||
|
|| (actorMember != null && (actorMember.getRank().equals(GuildRank.ADMIN) || actorMember.getRank().equals(GuildRank.OWNER)));
|
||||||
|
|
||||||
|
if (!canAccept) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
GuildMember targetMember = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, userId);
|
||||||
|
|
||||||
|
if (targetMember == null) {
|
||||||
|
this.client.sendResponse(new GuildAcceptMemberErrorComposer(guild.getId(), GuildAcceptMemberErrorComposer.NO_LONGER_MEMBER));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetMember.getRank().type != GuildRank.REQUESTED.type) {
|
||||||
|
this.client.sendResponse(new GuildAcceptMemberErrorComposer(guild.getId(), GuildAcceptMemberErrorComposer.ALREADY_ACCEPTED));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId);
|
Habbo habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(userId);
|
||||||
|
|
||||||
if (guild != null) {
|
GuildAcceptedMembershipEvent event = new GuildAcceptedMembershipEvent(guild, userId, habbo);
|
||||||
GuildMember groupMember = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, this.client.getHabbo());
|
Emulator.getPluginManager().fireEvent(event);
|
||||||
if (guild.getOwnerId() == this.client.getHabbo().getHabboInfo().getId()
|
|
||||||
|| this.client.getHabbo().hasPermission(Permission.ACC_GUILD_ADMIN)
|
if (event.isCancelled()) {
|
||||||
|| (groupMember != null && (groupMember.getRank().equals(GuildRank.ADMIN) || groupMember.getRank().equals(GuildRank.OWNER)))) {
|
return;
|
||||||
if (habbo != null) {
|
}
|
||||||
if (habbo.getHabboStats().hasGuild(guild.getId())) {
|
|
||||||
this.client.sendResponse(new GuildAcceptMemberErrorComposer(guild.getId(), GuildAcceptMemberErrorComposer.ALREADY_ACCEPTED));
|
if (habbo != null) {
|
||||||
return;
|
habbo.getHabboStats().addGuild(guild.getId());
|
||||||
} else {
|
}
|
||||||
//Check the user has requested
|
|
||||||
GuildMember member = Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, habbo);
|
Emulator.getGameEnvironment().getGuildManager().joinGuild(guild, this.client, userId, true);
|
||||||
if (member == null || member.getRank().type != GuildRank.REQUESTED.type) {
|
guild.decreaseRequestCount();
|
||||||
this.client.sendResponse(new GuildAcceptMemberErrorComposer(guild.getId(), GuildAcceptMemberErrorComposer.NO_LONGER_MEMBER));
|
guild.increaseMemberCount();
|
||||||
return;
|
this.client.sendResponse(new GuildRefreshMembersListComposer(guild));
|
||||||
} else {
|
|
||||||
GuildAcceptedMembershipEvent event = new GuildAcceptedMembershipEvent(guild, userId, habbo);
|
if (habbo != null) {
|
||||||
Emulator.getPluginManager().fireEvent(event);
|
Room room = habbo.getHabboInfo().getCurrentRoom();
|
||||||
if (!event.isCancelled()) {
|
if (room != null && room.getGuildId() == guildId) {
|
||||||
habbo.getHabboStats().addGuild(guild.getId());
|
habbo.getClient().sendResponse(new GuildInfoComposer(guild, habbo.getClient(), false, Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, userId)));
|
||||||
Emulator.getGameEnvironment().getGuildManager().joinGuild(guild, this.client, habbo.getHabboInfo().getId(), true);
|
room.refreshRightsForHabbo(habbo);
|
||||||
guild.decreaseRequestCount();
|
|
||||||
guild.increaseMemberCount();
|
|
||||||
this.client.sendResponse(new GuildRefreshMembersListComposer(guild));
|
|
||||||
Room room = habbo.getHabboInfo().getCurrentRoom();
|
|
||||||
if (room != null) {
|
|
||||||
if (room.getGuildId() == guildId) {
|
|
||||||
habbo.getClient().sendResponse(new GuildInfoComposer(guild, habbo.getClient(), false, Emulator.getGameEnvironment().getGuildManager().getGuildMember(guildId, userId)));
|
|
||||||
room.refreshRightsForHabbo(habbo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Emulator.getGameEnvironment().getGuildManager().joinGuild(guild, this.client, userId, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user