reject and remove

This commit is contained in:
ScrawnyRonnie 2023-12-25 21:01:24 -05:00
parent 350f78f46a
commit 8d483ea63a
2 changed files with 7 additions and 4 deletions

View file

@ -426,14 +426,14 @@ class SquadInvitationManager(subs: SquadSubscriptionEntity, parent: ActorRef) {
Refused(rejectingPlayer, invitingPlayerCharId) Refused(rejectingPlayer, invitingPlayerCharId)
(Some(rejectingPlayer), Some(invitingPlayerCharId)) (Some(rejectingPlayer), Some(invitingPlayerCharId))
case Some(VacancyInvite(leader, _, features)) case Some(VacancyInvite(leader, _, _))
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 //rejectingPlayer is the would-be squad member; the squad leader sent the request and was rejected
Refused(rejectingPlayer, leader) Refused(rejectingPlayer, leader)
(Some(rejectingPlayer), Some(leader)) (Some(rejectingPlayer), Some(leader))
case Some(ProximityInvite(_, features, position)) 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 //rejectingPlayer is the would-be squad member; the squad leader sent the request and was rejected
ReloadProximityInvite( ReloadProximityInvite(
tplayer.Zone.Players, tplayer.Zone.Players,
@ -2028,7 +2028,8 @@ class SquadInvitationManager(subs: SquadSubscriptionEntity, parent: ActorRef) {
avatar.lookingForSquad && avatar.lookingForSquad &&
!deniedAndExcluded.contains(charId) && !deniedAndExcluded.contains(charId) &&
!refused(charId).contains(squadLeader) && !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 { } match {
case None => case None =>
None None

View file

@ -1009,6 +1009,8 @@ class SquadService extends Actor {
subs.Publish(charId, SquadResponse.Detail(PlanetSideGUID(0), completelyBlankSquadDetail)) subs.Publish(charId, SquadResponse.Detail(PlanetSideGUID(0), completelyBlankSquadDetail))
} }
UpdateSquadListWhenListed(features.Stop, None) 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)
} }
/** /**