diff --git a/src/main/scala/net/psforever/services/teamwork/SquadInvitationManager.scala b/src/main/scala/net/psforever/services/teamwork/SquadInvitationManager.scala index 3e9fb8a38..9e58d2fa2 100644 --- a/src/main/scala/net/psforever/services/teamwork/SquadInvitationManager.scala +++ b/src/main/scala/net/psforever/services/teamwork/SquadInvitationManager.scala @@ -426,14 +426,14 @@ class SquadInvitationManager(subs: SquadSubscriptionEntity, parent: ActorRef) { Refused(rejectingPlayer, invitingPlayerCharId) (Some(rejectingPlayer), Some(invitingPlayerCharId)) - case Some(VacancyInvite(leader, _, features)) - if notLeaderOfThisSquad(squadsToLeaders, features.Squad.GUID, rejectingPlayer) => + case Some(VacancyInvite(leader, _, _)) + /*if notLeaderOfThisSquad(squadsToLeaders, features.Squad.GUID, rejectingPlayer)*/ => //rejectingPlayer is the would-be squad member; the squad leader sent the request and was rejected Refused(rejectingPlayer, leader) (Some(rejectingPlayer), Some(leader)) case Some(ProximityInvite(_, features, position)) - if notLeaderOfThisSquad(squadsToLeaders, features.Squad.GUID, rejectingPlayer) => + /*if notLeaderOfThisSquad(squadsToLeaders, features.Squad.GUID, rejectingPlayer)*/ => //rejectingPlayer is the would-be squad member; the squad leader sent the request and was rejected ReloadProximityInvite( tplayer.Zone.Players, @@ -2028,7 +2028,8 @@ class SquadInvitationManager(subs: SquadSubscriptionEntity, parent: ActorRef) { avatar.lookingForSquad && !deniedAndExcluded.contains(charId) && !refused(charId).contains(squadLeader) && - requirementsToMeet.intersect(avatar.certifications) == requirementsToMeet + requirementsToMeet.intersect(avatar.certifications) == requirementsToMeet && + charId != invitingPlayerCharId //don't send invite to yourself. can cause issues if rejected } match { case None => None diff --git a/src/main/scala/net/psforever/services/teamwork/SquadService.scala b/src/main/scala/net/psforever/services/teamwork/SquadService.scala index c54b51937..714bc8ac8 100644 --- a/src/main/scala/net/psforever/services/teamwork/SquadService.scala +++ b/src/main/scala/net/psforever/services/teamwork/SquadService.scala @@ -1009,6 +1009,8 @@ class SquadService extends Actor { subs.Publish(charId, SquadResponse.Detail(PlanetSideGUID(0), completelyBlankSquadDetail)) } UpdateSquadListWhenListed(features.Stop, None) + //I think this is right, otherwise squadFeatures will never be empty and TryResetSquadId will not reset to 1 + squadFeatures.remove(guid) } /**