diff --git a/ProjectLighthouse.Servers.GameServer/Extensions/ControllerExtensions.cs b/ProjectLighthouse.Servers.GameServer/Extensions/ControllerExtensions.cs index 7c654a6f2..5cd52ff58 100644 --- a/ProjectLighthouse.Servers.GameServer/Extensions/ControllerExtensions.cs +++ b/ProjectLighthouse.Servers.GameServer/Extensions/ControllerExtensions.cs @@ -175,6 +175,9 @@ void ParseLbp3Query(string key, Action allMust, Action noneCan, Action dontCare) if (!queryBuilder.GetFilters(typeof(CrossControlFilter)).Any()) queryBuilder.AddFilter(new ExcludeCrossControlFilter()); + + if (controller.Request.Path.Value.EndsWith("lbp2luckydip")) + queryBuilder.AddFilter(new LockedSlotFilter()); queryBuilder.AddFilter(new SubLevelFilter(token.UserId)); queryBuilder.AddFilter(new HiddenSlotFilter()); diff --git a/ProjectLighthouse/Filter/Filters/LockedSlotFilter.cs b/ProjectLighthouse/Filter/Filters/LockedSlotFilter.cs new file mode 100644 index 000000000..185b45658 --- /dev/null +++ b/ProjectLighthouse/Filter/Filters/LockedSlotFilter.cs @@ -0,0 +1,11 @@ +using System; +using System.Linq.Expressions; +using LBPUnion.ProjectLighthouse.Types.Entities.Level; +using LBPUnion.ProjectLighthouse.Types.Filter; + +namespace LBPUnion.ProjectLighthouse.Filter.Filters; + +public class LockedSlotFilter : ISlotFilter +{ + public Expression> GetPredicate() => s => !s.InitiallyLocked; +} \ No newline at end of file