Resolves issue where muted player would be unmuted when flag penalty was removed (#303)
* resolves issue where muted player would be unmuted when flag penalty was removed * Revert accidental code format
This commit is contained in:
parent
108dddb5cc
commit
cdf9485903
@ -540,7 +540,7 @@ namespace IW4MAdmin
|
|||||||
|
|
||||||
E.Target.SetLevel(Permission.User, E.Origin);
|
E.Target.SetLevel(Permission.User, E.Origin);
|
||||||
await Manager.GetPenaltyService().RemoveActivePenalties(E.Target.AliasLinkId, E.Target.NetworkId,
|
await Manager.GetPenaltyService().RemoveActivePenalties(E.Target.AliasLinkId, E.Target.NetworkId,
|
||||||
E.Target.GameName, E.Target.CurrentAlias?.IPAddress);
|
E.Target.GameName, E.Target.CurrentAlias?.IPAddress, new[] {EFPenalty.PenaltyType.Flag});
|
||||||
await Manager.GetPenaltyService().Create(unflagPenalty);
|
await Manager.GetPenaltyService().Create(unflagPenalty);
|
||||||
|
|
||||||
Manager.QueueEvent(new ClientPenaltyRevokeEvent
|
Manager.QueueEvent(new ClientPenaltyRevokeEvent
|
||||||
|
@ -215,7 +215,8 @@ namespace SharedLibraryCore.Services
|
|||||||
return await activePenaltiesIds.Select(ids => ids.Penalty).ToListAsync();
|
return await activePenaltiesIds.Select(ids => ids.Penalty).ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual async Task RemoveActivePenalties(int aliasLinkId, long networkId, Reference.Game game, int? ipAddress = null)
|
public virtual async Task RemoveActivePenalties(int aliasLinkId, long networkId, Reference.Game game, int? ipAddress = null,
|
||||||
|
EFPenalty.PenaltyType[] penaltyTypes = null)
|
||||||
{
|
{
|
||||||
await using var context = _contextFactory.CreateContext();
|
await using var context = _contextFactory.CreateContext();
|
||||||
var now = DateTime.UtcNow;
|
var now = DateTime.UtcNow;
|
||||||
@ -226,6 +227,7 @@ namespace SharedLibraryCore.Services
|
|||||||
{
|
{
|
||||||
var ids = activePenalties.Select(penalty => penalty.PenaltyId);
|
var ids = activePenalties.Select(penalty => penalty.PenaltyId);
|
||||||
await context.Penalties.Where(penalty => ids.Contains(penalty.PenaltyId))
|
await context.Penalties.Where(penalty => ids.Contains(penalty.PenaltyId))
|
||||||
|
.Where(pen => penaltyTypes == null || penaltyTypes.Contains(pen.Type))
|
||||||
.ForEachAsync(penalty =>
|
.ForEachAsync(penalty =>
|
||||||
{
|
{
|
||||||
penalty.Active = false;
|
penalty.Active = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user