Ejemplo n.º 1
0
        public void GuildKickRequestMessageFrame(WorldClient client, GuildKickRequestMessage guildKickRequestMessage)
        {
            if (client.ActiveCharacter == null || client.ActiveCharacter.Guild == null)
            {
                return;
            }

            var target = client.ActiveCharacter.Guild.GuildMembers.Find(x => x.CharacterId == guildKickRequestMessage.kickedId);

            if (target == null)
            {
                return;
            }


            var activeCharacterMember = client.ActiveCharacter.Guild.GuildMembers.Find(x => x.Character.Id == client.ActiveCharacter.Id);

            //si j'ai les droit de kick un membre de la guilde et que se membre n'est pas moi
            if (activeCharacterMember != null && target.Id != activeCharacterMember.Id && activeCharacterMember.GuildRightsItemCriterion[GuildRightsBitEnum.GUILD_RIGHT_BAN_MEMBERS])
            {
                //delete le member
                WorldManager.Instance.GetClientFromCharacter(target.Character).SendPacket(new GuildInformationsGeneralMessage());

                client.SendPacket(new GuildInformationsMembersMessage(GuildManager.Instance.GetGuildMembers(activeCharacterMember.Guild)));
                DatabaseManager.Instance.Delete <GuildMember>(GuildMemberRepository.Instance.Collection, target);
            }
            else if (activeCharacterMember != null && target.Id == activeCharacterMember.Id && client.ActiveCharacter.Id != client.ActiveCharacter.Guild.OwnerCharacterId) //si je m'auto kick
            {
                //delete le member
                DatabaseManager.Instance.Delete <GuildMember>(GuildMemberRepository.Instance.Collection, activeCharacterMember);
                //GuildMemberRepository.
                //client.SendPacket(new GuildR()); besoin de bibiche pour la suite
            }
        }
Ejemplo n.º 2
0
 public static void HandleGuildKickRequestMessage(WorldClient client, GuildKickRequestMessage message)
 {
     if (client.Character.Guild != null)
     {
         Stump.Server.WorldServer.Game.Guilds.GuildMember guildMember = client.Character.Guild.TryGetMember((int)message.kickedId);
         if (guildMember != null)
         {
             guildMember.Guild.KickMember(client.Character, guildMember);
         }
     }
 }
Ejemplo n.º 3
0
        public static void HandleGuildKickRequestMessage(GuildKickRequestMessage message, WorldClient client)
        {
            if (!client.Character.HasGuild)
            {
                return;
            }

            var target = client.Character.Guild.GetMember((long)message.kickedId);

            if (client.Character.Guild == target.Guild)
            {
                bool kicked = target.Id != client.Character.Id;
                target.Guild.Leave(target, kicked);
            }
        }
Ejemplo n.º 4
0
        public static void HandleGuildKickRequestMessage(WorldClient client, GuildKickRequestMessage message)
        {
            if (client.Character.Guild == null)
            {
                return;
            }

            var target = client.Character.Guild.TryGetMember((int)message.kickedId);

            if (target == null)
            {
                return;
            }

            target.Guild.KickMember(client.Character.GuildMember, target);
        }
Ejemplo n.º 5
0
 public static void HandleGuildKickRequestMessage(GuildKickRequestMessage message, WorldClient client)
 {
     GuildProvider.Instance.LeaveGuild(WorldServer.Instance.GetOnlineClient((int)message.kickedId).Character);
 }
Ejemplo n.º 6
0
 public static void HandleGuildKickRequestMessage(GuildKickRequestMessage message, WorldClient client)
 {
     GuildProvider.Instance.LeaveGuild(WorldServer.Instance.GetOnlineClient((int)message.kickedId).Character);
 }