From 3531a091e052c1c8554fa974ad825dc0f4d6bf09 Mon Sep 17 00:00:00 2001 From: mat Date: Sun, 27 Mar 2022 13:27:45 -0500 Subject: Claimed items (scorpius bribes, potato talisman, etc) --- src/cleaners/skyblock/claimed.ts | 44 ++++++++++++++++++++++++++++++++++++++++ src/cleaners/skyblock/member.ts | 1 - 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/cleaners/skyblock/claimed.ts (limited to 'src/cleaners/skyblock') diff --git a/src/cleaners/skyblock/claimed.ts b/src/cleaners/skyblock/claimed.ts new file mode 100644 index 0000000..3a4631e --- /dev/null +++ b/src/cleaners/skyblock/claimed.ts @@ -0,0 +1,44 @@ +import { HypixelPlayerStatsSkyBlockProfiles } from '../../hypixelApi.js' +import { + CleanBasicProfile, + CleanFullProfile, + cleanSkyblockProfileResponse +} from './profile.js' +import typedHypixelApi from 'typed-hypixel-api' +import { ClaimedSkyBlockItem } from '../player.js' + +export function cleanPlayerSkyblockClaimed(data: typedHypixelApi.PlayerDataResponse['player']): ClaimedSkyBlockItem[] { + const claimedItems: ClaimedSkyBlockItem[] = [] + + if (data.claimed_potato_talisman) + claimedItems.push({ + name: 'potato_talisman', + timestamp: data.claimed_potato_talisman + }) + if (data.claimed_century_cake) + claimedItems.push({ + name: 'century_cake', + timestamp: data.claimed_century_cake + }) + if (data.claimed_year143_cake) + claimedItems.push({ + name: 'year_143_cake', + timestamp: data.claimed_year143_cake + }) + if (data.skyblock_free_cookie) + claimedItems.push({ + name: 'free_booster_cookie', + timestamp: data.skyblock_free_cookie + }) + + const scorpiusBribes = Object.keys(data).filter((key) => key.startsWith('scorpius_bribe_')) + for (const bribe of scorpiusBribes) { + const bribeYear = bribe.slice('scorpius_bribe_'.length) + claimedItems.push({ + name: `year_${bribeYear}_scorpius_bribe`, + timestamp: data[bribe] + }) + } + + return claimedItems +} diff --git a/src/cleaners/skyblock/member.ts b/src/cleaners/skyblock/member.ts index c8f5b79..364e8b3 100644 --- a/src/cleaners/skyblock/member.ts +++ b/src/cleaners/skyblock/member.ts @@ -55,7 +55,6 @@ export async function cleanSkyBlockProfileMemberResponseBasic(member: typedHypix /** Cleans up a member (from skyblock/profile) */ export async function cleanSkyBlockProfileMemberResponse(member: typedHypixelApi.SkyBlockProfileMember & { uuid: string }, profileId?: string, included: Included[] | undefined = undefined): Promise { - // profiles.members[] const inventoriesIncluded = included === undefined || included.includes('inventories') const player = await cached.fetchPlayer(member.uuid) if (!player) return null -- cgit