public void MemberKick(GuildMember member, string kickedMemberName)
{
if (kickedMemberName != member.Name && !member.HasRight(GuildRightEnum.BAN))
{
member.SendHasNotEnoughRights();
return;
}
var kickedMember = m_members.Find(m => m.Name == kickedMemberName);
if (kickedMember == null)
{
member.Dispatch(WorldMessage.BASIC_NO_OPERATION());
return;
}
if (kickedMember.Rank == GuildRankEnum.BOSS)
{
if (kickedMemberName != member.Name)
{
member.Dispatch(WorldMessage.SERVER_ERROR_MESSAGE("The boss cannot be kicked by a pig."));
return;
}
}
member.Dispatch(WorldMessage.GUIL_KICK_SUCCESS(member.Name, kickedMemberName));
if (member.Name != kickedMemberName)
kickedMember.Dispatch(WorldMessage.GUIL_KICK_SUCCESS(member.Name, kickedMemberName));
RemoveMember(kickedMember);
kickedMember.GuildLeave();
base.Dispatch(WorldMessage.GUILD_MEMBER_REMOVE(kickedMember.Id));
CheckIntegrity();
}