public override bool CanInvite(Character character, out PartyJoinErrorEnum error, Character inviter = null, bool send = true) { if (Members.Any()) { var lower = Members.Min(x => x.Level); var upper = Members.Max(x => x.Level); if (Math.Max(character.Level, upper) - Math.Min(character.Level, lower) > ArenaManager.ArenaMaxLevelDifference) { if (inviter != null && send) { // Impossible d'inviter %1 : l'écart maximal entre le plus haut et le plus bas niveau d'une équipe Kolizéum ne peut dépasser 50 niveaux. inviter.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 359, character.Name); } error = PartyJoinErrorEnum.PARTY_JOIN_ERROR_UNMET_CRITERION; return(false); } } if (character.ArenaPenality > DateTime.Now) { if (inviter != null && send) { // %1 est interdit de Kolizéum pour un certain temps car il a abandonné un match de Kolizéum. inviter.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 328, character.Name); } error = PartyJoinErrorEnum.PARTY_JOIN_ERROR_UNMET_CRITERION; return(false); } if (character.Level >= ArenaManager.ArenaMinLevel) { return(base.CanInvite(character, out error, inviter, send)); } if (send) { if (inviter != null) { // %1 doit être au moins niveau 50 pour faire des combats en Kolizéum. inviter.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 327, character.Name); } else { // Vous devez être au moins niveau 50 pour faire des combats en Kolizéum. character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 326); } } error = PartyJoinErrorEnum.PARTY_JOIN_ERROR_UNMET_CRITERION; return(false); }
public virtual bool CanInvite(Character character, out PartyJoinErrorEnum error, Character inviter = null, bool send = true) { if (IsMember(character) || IsGuest(character)) { error = PartyJoinErrorEnum.PARTY_JOIN_ERROR_PLAYER_ALREADY_INVITED; return(false); } if (IsFull) { error = PartyJoinErrorEnum.PARTY_JOIN_ERROR_PARTY_FULL; return(false); } error = PartyJoinErrorEnum.PARTY_JOIN_ERROR_UNKNOWN; return(true); }
public static void SendPartyCannotJoinErrorMessage(IPacketReceiver client, PartyJoinErrorEnum reason) { client.Send(new PartyCannotJoinErrorMessage(0, (sbyte)reason)); }
public static void SendPartyCannotJoinErrorMessage(IPacketReceiver client, Game.Parties.Party party, PartyJoinErrorEnum reason) { client.Send(new PartyCannotJoinErrorMessage(party.Id, (sbyte)reason)); }