public static void CreateAllianceCommand(string value, WorldClient client) { if (!client.Character.HasGuild) { client.Send(new AllianceCreationResultMessage((sbyte)GuildCreationResultEnum.GUILD_CREATE_ERROR_REQUIREMENT_UNMET)); } if (!client.Character.HasAlliance) { client.Send(new AllianceCreationStartedMessage()); } else if (GuildProvider.GetLeader(client.Character.GuildId).CharacterId != client.Character.Id) { client.Send(new AllianceCreationResultMessage((sbyte)GuildCreationResultEnum.GUILD_CREATE_ERROR_REQUIREMENT_UNMET)); } else if (client.Character.HasAlliance) { client.Send(new AllianceCreationResultMessage((sbyte)GuildCreationResultEnum.GUILD_CREATE_ERROR_ALREADY_IN_GUILD)); } }
public static void HandleGetGuildInFactRequest(GuildFactsRequestMessage message, WorldClient client) { GuildRecord guild = GuildRecord.GetGuild((int)message.guildId); if (guild == null) { return; } AllianceRecord alliance = AllianceProvider.GetAllianceFromGuild(guild.Id); List <CharacterMinimalInformations> membersMinimalInfos = new List <CharacterMinimalInformations>(); foreach (GuildMember member in CharacterGuildRecord.GetMembers(guild.Id)) { membersMinimalInfos.Add(new CharacterMinimalInformations(member.id, member.level, member.name)); } if (alliance == null) { client.Send(new GuildFactsMessage(new GuildFactSheetInformations((uint)guild.Id, guild.Name, guild.GetEmblemObject(), (uint)GuildProvider.GetLeader(guild.Id).CharacterId, (byte)guild.Level, (ushort)CharacterGuildRecord.GetMembers(guild.Id).Count()), 0, 0, true, (IEnumerable <CharacterMinimalInformations>)membersMinimalInfos)); } else { client.Send(new GuildInAllianceFactsMessage(new GuildFactSheetInformations((uint)guild.Id, guild.Name, guild.GetEmblemObject(), (uint)GuildProvider.GetLeader(guild.Id).CharacterId, (byte)guild.Level, (ushort)CharacterGuildRecord.GetMembers(guild.Id).Count()), 0, 0, true, (IEnumerable <CharacterMinimalInformations>)membersMinimalInfos, new BasicNamedAllianceInformations((uint)alliance.Id, alliance.Tag, alliance.Name))); } }
public static void HandleAllianceKickRequest(AllianceKickRequestMessage message, WorldClient client) { if (client.Character.HasAlliance && AllianceProvider.GetLeader(client.Character.AllianceId).Id == client.Character.GuildId && GuildProvider.GetLeader(client.Character.GuildId).CharacterId == client.Character.Id) { AllianceRecord.GetAlliance(client.Character.AllianceId).KickFromAlliance((int)message.kickedId, client); } }
public static IEnumerable <GuildInsiderFactSheetInformations> GetGuildsInsiderFactSheetInformations(int AllianceId) { List <GuildInsiderFactSheetInformations> guilds = new List <GuildInsiderFactSheetInformations>(); List <GuildAllianceRecord> records = GuildAllianceRecord.GuildsAlliances.FindAll(x => x.AllianceId == AllianceId); foreach (GuildAllianceRecord record in records) { GuildRecord guild = GuildRecord.GetGuild(record.GuildId); GuildInsiderFactSheetInformations a = new GuildInsiderFactSheetInformations((uint)guild.Id, guild.Name, guild.GetEmblemObject(), (uint)guild.GetLeader().CharacterId, (byte)guild.Level, (ushort)GuildProvider.GetMembers(guild.Id).Length, CharacterRecord.GetCharacterRecordById(guild.GetLeader().CharacterId).Name, (ushort)GuildProvider.Instance.ConnectedMembersCount(guild.Id), 0, 0, true); guilds.Add(a); } return((IEnumerable <GuildInsiderFactSheetInformations>)guilds); }