From f317b9cb1f3abe82a9d189f9ececf65303ba1464 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Mon, 21 Feb 2022 21:40:44 +0200 Subject: [PATCH] Reshow ranked team MMR's --- app/core/mmr/utils.ts | 13 +++++++++++++ app/routes/play/looking.tsx | 7 ++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/core/mmr/utils.ts b/app/core/mmr/utils.ts index cac8fa3eb..30cbac885 100644 --- a/app/core/mmr/utils.ts +++ b/app/core/mmr/utils.ts @@ -47,6 +47,19 @@ function toTwoDecimals(value: number) { return Number(value.toFixed(2)); } +export function teamHasSkill(teamSkills: TeamSkill[]) { + let hasSkill = false; + + for (const { user } of teamSkills) { + if (user.skill.length > 0) { + hasSkill = true; + break; + } + } + + return hasSkill; +} + interface AdjustSkill { mu: number; sigma: number; diff --git a/app/routes/play/looking.tsx b/app/routes/play/looking.tsx index 372308d99..154db4bf1 100644 --- a/app/routes/play/looking.tsx +++ b/app/routes/play/looking.tsx @@ -17,6 +17,7 @@ import { Tab } from "~/components/Tab"; import { LFG_GROUP_FULL_SIZE } from "~/constants"; import { skillToMMR, + teamHasSkill, teamSkillToApproximateMMR, teamSkillToExactMMR, } from "~/core/mmr/utils"; @@ -223,7 +224,7 @@ export const loader: LoaderFunction = async ({ context }) => { new Set() ); - const isRanked = groupsOfType.every((g) => g.ranked); + const isRanked = groupsOfType.some((g) => g.ranked); const ownGroupWithMembers = groupsOfType.find((g) => g.id === ownGroup.id); invariant(ownGroupWithMembers, "ownGroupWithMembers is undefined"); const ownGroupForResponse: LookingLoaderDataGroup = { @@ -238,7 +239,7 @@ export const loader: LoaderFunction = async ({ context }) => { }), ranked: ownGroup.ranked ?? undefined, teamMMR: - lookingForMatch && isRanked + lookingForMatch && isRanked && teamHasSkill(ownGroupWithMembers.members) ? { exact: true, value: teamSkillToExactMMR(ownGroupWithMembers.members), @@ -289,7 +290,7 @@ export const loader: LoaderFunction = async ({ context }) => { }), ranked: ranked(), teamMMR: - lookingForMatch && isRanked + lookingForMatch && group.ranked && teamHasSkill(group.members) ? { exact: false, value: teamSkillToApproximateMMR(group.members),