From 67b87c7d1b6d599ba2f24d53e55673b838ef6a2c Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Tue, 2 Dec 2025 05:25:23 -0800 Subject: [PATCH] add season, series, promotions to entity types --- src/lib/api/adapters/entity.adapter.ts | 31 ++++++++++++++++++++++++-- src/lib/types/Character.d.ts | 5 +++++ src/lib/types/Summon.d.ts | 2 ++ src/lib/types/Weapon.d.ts | 2 ++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/lib/api/adapters/entity.adapter.ts b/src/lib/api/adapters/entity.adapter.ts index ca01236e..a6c1d4d6 100644 --- a/src/lib/api/adapters/entity.adapter.ts +++ b/src/lib/api/adapters/entity.adapter.ts @@ -27,6 +27,10 @@ export interface Weapon { proficiency: number series?: number weaponType?: number + /** Gacha promotions (1=Premium, 2=Classic, 3=ClassicII, 4=Flash, 5=Legend, etc.) */ + promotions?: number[] + /** Human-readable promotion names */ + promotionNames?: string[] minHp?: number maxHp?: number minAttack?: number @@ -102,8 +106,17 @@ export interface Character { proficiency?: number[] proficiency1?: number proficiency2?: number - series?: number race?: number[] + /** Season integer (1=Standard, 2=Valentine, 3=Formal, 4=Summer, 5=Halloween, 6=Holiday) */ + season?: number | null + /** Human-readable season name */ + seasonName?: string | null + /** Series integer array (1=Standard, 2=Grand, 3=Zodiac, etc.) */ + series?: number[] + /** Human-readable series names */ + seriesNames?: string[] + /** Whether character can be pulled from gacha */ + gachaAvailable?: boolean hp?: { minHp?: number maxHp?: number @@ -120,7 +133,6 @@ export interface Character { transcendence?: boolean } special?: boolean - seasonalId?: string awakenings?: Array<{ id: string name: Record @@ -136,6 +148,17 @@ export interface Character { gamewith?: string kamigame?: string } + /** Weapon that recruits this character (reverse of Weapon.recruits) */ + recruitedBy?: { + id: string + granblueId: string + name: { + en?: string + ja?: string + } + promotions: number[] + promotionNames: string[] + } } /** @@ -177,6 +200,10 @@ export interface Summon { rarity: number element: number series?: number + /** Gacha promotions (1=Premium, 2=Classic, 3=ClassicII, 4=Flash, 5=Legend, etc.) */ + promotions?: number[] + /** Human-readable promotion names */ + promotionNames?: string[] minHp?: number maxHp?: number minAttack?: number diff --git a/src/lib/types/Character.d.ts b/src/lib/types/Character.d.ts index 3ecedb6c..7159c465 100644 --- a/src/lib/types/Character.d.ts +++ b/src/lib/types/Character.d.ts @@ -8,6 +8,11 @@ interface Character { rarity: number gender: number max_level: number + season: number | null + season_name: string | null + series: number[] + series_names: string[] + gacha_available: boolean name: { [key: string]: string en: string diff --git a/src/lib/types/Summon.d.ts b/src/lib/types/Summon.d.ts index a707dc47..a08626d0 100644 --- a/src/lib/types/Summon.d.ts +++ b/src/lib/types/Summon.d.ts @@ -5,6 +5,8 @@ export interface Summon { granblue_id: number element: number max_level: number + promotions: number[] + promotion_names: string[] name: { [key: string]: string en: string diff --git a/src/lib/types/Weapon.d.ts b/src/lib/types/Weapon.d.ts index 57264bcd..4ca644c1 100644 --- a/src/lib/types/Weapon.d.ts +++ b/src/lib/types/Weapon.d.ts @@ -12,6 +12,8 @@ export interface Weapon { ax: boolean ax_type: number awakenings: Awakening[] + promotions: number[] + promotion_names: string[] name: { [key: string]: string en: string