This commit is contained in:
6
src/types/affix.ts
Normal file
6
src/types/affix.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export type AffixDetail = {
|
||||
property: string;
|
||||
base: number;
|
||||
step: number;
|
||||
step_num: number;
|
||||
}
|
||||
25
src/types/card.ts
Normal file
25
src/types/card.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { LightconeStore, RelicStore } from "./mics";
|
||||
|
||||
export interface CharacterInfoCardType {
|
||||
key: number;
|
||||
avatar_id: number;
|
||||
rank: number;
|
||||
level: number;
|
||||
lightcone: {
|
||||
level: number;
|
||||
rank: number;
|
||||
item_id: number;
|
||||
};
|
||||
relics: {
|
||||
level: number;
|
||||
relic_id: number;
|
||||
relic_set_id: number;
|
||||
}[];
|
||||
}
|
||||
|
||||
export interface AvatarProfileCardType {
|
||||
key: number;
|
||||
profile_name: string,
|
||||
lightcone: LightconeStore | null,
|
||||
relics: Record<string, RelicStore>
|
||||
}
|
||||
23
src/types/characterBasic.ts
Normal file
23
src/types/characterBasic.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
export interface CharacterBasicRaw {
|
||||
release: number;
|
||||
icon: string;
|
||||
rank: string;
|
||||
baseType: string;
|
||||
damageType: string;
|
||||
en: string;
|
||||
desc: string;
|
||||
kr: string;
|
||||
cn: string;
|
||||
jp: string;
|
||||
}
|
||||
|
||||
export interface CharacterBasic {
|
||||
id: string;
|
||||
release?: number;
|
||||
icon: string;
|
||||
rank: string;
|
||||
baseType: string;
|
||||
damageType: string;
|
||||
desc: string;
|
||||
lang: Map<string, string>;
|
||||
}
|
||||
160
src/types/characterDetail.ts
Normal file
160
src/types/characterDetail.ts
Normal file
@@ -0,0 +1,160 @@
|
||||
export interface CharacterDetail {
|
||||
Name: string;
|
||||
Desc: string;
|
||||
CharaInfo: CharacterInfo;
|
||||
Rarity: string;
|
||||
AvatarVOTag: string;
|
||||
SPNeed: number | null;
|
||||
BaseType: string;
|
||||
DamageType: string;
|
||||
Ranks: Record<string, RankType>;
|
||||
Skills: Record<string, SkillType>;
|
||||
SkillTrees: Record<string, Record<string, SkillTreePoint>>;
|
||||
Memosprite: Memosprite;
|
||||
Unique: Record<string, UniqueAbility>;
|
||||
Stats: Record<string, Stat>;
|
||||
Relics: Relics;
|
||||
Enhanced: Record<string, EnhancedType>;
|
||||
}
|
||||
|
||||
export interface EnhancedType {
|
||||
Descs: string[];
|
||||
ChangeRankList: any;
|
||||
ChangeSkillTreeList: any;
|
||||
Ranks: Record<string, RankType>;
|
||||
Skills: Record<string, SkillType>;
|
||||
SkillTrees: Record<string, Record<string, SkillTreePoint>>;
|
||||
}
|
||||
|
||||
export interface CharacterInfo {
|
||||
Camp: string | null;
|
||||
VA: VoiceActors;
|
||||
Stories: Record<string, string | null>;
|
||||
Voicelines: string[];
|
||||
}
|
||||
|
||||
export interface VoiceActors {
|
||||
Chinese: string | null;
|
||||
Japanese: string | null;
|
||||
Korean: string | null;
|
||||
English: string | null;
|
||||
}
|
||||
|
||||
export interface RankType {
|
||||
Id: number;
|
||||
Name: string;
|
||||
Desc: string;
|
||||
ParamList: number[];
|
||||
}
|
||||
|
||||
export interface SkillType {
|
||||
Id: number;
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Type: string;
|
||||
Tag: string;
|
||||
SPBase: number | null;
|
||||
BPNeed: number;
|
||||
BPAdd: number;
|
||||
ShowStanceList: number[];
|
||||
SkillComboValueDelta: number | null;
|
||||
Level: Record<string, LevelParams>;
|
||||
}
|
||||
|
||||
export interface LevelParams {
|
||||
Level: number;
|
||||
ParamList: number[];
|
||||
}
|
||||
|
||||
export interface SkillTreePoint {
|
||||
Anchor: string;
|
||||
AvatarPromotionLimit: number | null;
|
||||
AvatarLevelLimit: number | null;
|
||||
DefaultUnlock: boolean;
|
||||
Icon: string;
|
||||
LevelUpSkillID: number[];
|
||||
MaterialList: ItemConfigRow[];
|
||||
MaxLevel: number;
|
||||
ParamList: any[];
|
||||
PointID: number;
|
||||
PointName: string | null;
|
||||
PointDesc: string | null;
|
||||
PointTriggerKey: number;
|
||||
PointType: number;
|
||||
PrePoint: string[];
|
||||
StatusAddList: any[];
|
||||
}
|
||||
|
||||
export interface ItemConfigRow {
|
||||
$type: string;
|
||||
ItemID: number;
|
||||
ItemNum: number;
|
||||
Rarity: string;
|
||||
}
|
||||
|
||||
export interface Memosprite {
|
||||
Name: string;
|
||||
Icon: string;
|
||||
HPBase: string;
|
||||
HPInherit: string;
|
||||
HPSkill: number | null;
|
||||
SpeedBase: string;
|
||||
SpeedInherit: string;
|
||||
SpeedSkill: number;
|
||||
Aggro: number;
|
||||
Skills: Record<string, SpriteSkill>;
|
||||
Talent: Record<string, any>;
|
||||
}
|
||||
|
||||
export interface SpriteSkill {
|
||||
Name: string;
|
||||
Desc: string | null;
|
||||
Type: string | null;
|
||||
Tag: string;
|
||||
SPBase: number | null;
|
||||
BPNeed: number;
|
||||
BPAdd: number | null;
|
||||
ShowStanceList: number[];
|
||||
SkillComboValueDelta: number | null;
|
||||
Level: Record<string, LevelParams>;
|
||||
}
|
||||
|
||||
export interface UniqueAbility {
|
||||
Tag: string;
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Param: number[];
|
||||
}
|
||||
|
||||
export interface Stat {
|
||||
AttackBase: number;
|
||||
AttackAdd: number;
|
||||
DefenceBase: number;
|
||||
DefenceAdd: number;
|
||||
HPBase: number;
|
||||
HPAdd: number;
|
||||
SpeedBase: number;
|
||||
CriticalChance: number;
|
||||
CriticalDamage: number;
|
||||
BaseAggro: number;
|
||||
Cost: ItemConfigRow[];
|
||||
}
|
||||
|
||||
export interface Relics {
|
||||
AvatarID: number;
|
||||
Set4IDList: number[];
|
||||
Set2IDList: number[];
|
||||
PropertyList3: string[];
|
||||
PropertyList4: string[];
|
||||
PropertyList5: string[];
|
||||
PropertyList6: string[];
|
||||
PropertyList: RelicRecommendProperty[];
|
||||
SubAffixPropertyList: string[];
|
||||
ScoreRankList: number[];
|
||||
}
|
||||
|
||||
export interface RelicRecommendProperty {
|
||||
$type: string;
|
||||
RelicType: string;
|
||||
PropertyType: string;
|
||||
}
|
||||
26
src/types/config_maze.ts
Normal file
26
src/types/config_maze.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
export type ASConfigMaze = {
|
||||
buff_1: number[];
|
||||
buff_2: number[];
|
||||
maze_buff: number;
|
||||
}
|
||||
|
||||
export type PFConfigMaze = {
|
||||
buff: number[];
|
||||
maze_buff: number;
|
||||
}
|
||||
|
||||
export type MOCConfigMaze = {
|
||||
maze_buff: number;
|
||||
}
|
||||
|
||||
export type AvatarConfigMaze = {
|
||||
maze_buff: number[];
|
||||
}
|
||||
|
||||
export type ConfigMaze = {
|
||||
Avatar: Record<string, AvatarConfigMaze>;
|
||||
MOC: Record<string, MOCConfigMaze>;
|
||||
AS: Record<string, ASConfigMaze>;
|
||||
PF: Record<string, PFConfigMaze>;
|
||||
};
|
||||
100
src/types/enka.ts
Normal file
100
src/types/enka.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
interface PrivacySettingInfo {
|
||||
displayCollection: boolean
|
||||
displayRecord: boolean
|
||||
displayRecordTeam: boolean
|
||||
displayOnlineStatus: boolean
|
||||
displayDiary: boolean
|
||||
}
|
||||
|
||||
interface ChallengeInfo {
|
||||
// Thêm các field cụ thể nếu có
|
||||
}
|
||||
|
||||
interface RecordInfo {
|
||||
achievementCount: number
|
||||
bookCount: number
|
||||
avatarCount: number
|
||||
equipmentCount: number
|
||||
musicCount: number
|
||||
relicCount: number
|
||||
challengeInfo: ChallengeInfo
|
||||
maxRogueChallengeScore: number
|
||||
}
|
||||
|
||||
|
||||
interface SubAffix {
|
||||
affixId: number
|
||||
cnt: number
|
||||
step?: number
|
||||
}
|
||||
|
||||
interface FlatProp {
|
||||
type: string
|
||||
value: number
|
||||
}
|
||||
|
||||
interface RelicFlat {
|
||||
props: FlatProp[]
|
||||
setName: string
|
||||
setID: number
|
||||
}
|
||||
|
||||
interface Relic {
|
||||
mainAffixId: number
|
||||
subAffixList: SubAffix[]
|
||||
tid: number
|
||||
type: number
|
||||
level: number
|
||||
_flat: RelicFlat
|
||||
}
|
||||
|
||||
interface SkillTree {
|
||||
pointId: number
|
||||
level: number
|
||||
}
|
||||
|
||||
interface EquipmentFlat {
|
||||
props: FlatProp[]
|
||||
name: string
|
||||
}
|
||||
|
||||
interface Equipment {
|
||||
rank: number
|
||||
tid: number
|
||||
promotion: number
|
||||
level: number
|
||||
_flat: EquipmentFlat
|
||||
}
|
||||
|
||||
export interface AvatarEnkaDetail {
|
||||
relicList: Relic[]
|
||||
level: number
|
||||
promotion: number
|
||||
rank?: number
|
||||
skillTreeList: SkillTree[]
|
||||
equipment: Equipment
|
||||
avatarId: number
|
||||
_assist?: boolean
|
||||
}
|
||||
|
||||
interface DetailInfo {
|
||||
worldLevel: number
|
||||
privacySettingInfo: PrivacySettingInfo
|
||||
headIcon: number
|
||||
signature: string
|
||||
avatarDetailList: AvatarEnkaDetail[]
|
||||
platform: string
|
||||
recordInfo: RecordInfo
|
||||
uid: number
|
||||
level: number
|
||||
nickname: string
|
||||
isDisplayAvatar: boolean
|
||||
friendCount: number
|
||||
personalCardId: number
|
||||
}
|
||||
|
||||
export interface EnkaResponse {
|
||||
detailInfo: DetailInfo
|
||||
ttl: number
|
||||
uid: string
|
||||
}
|
||||
20
src/types/filter.ts
Normal file
20
src/types/filter.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
export interface FilterAvatarType {
|
||||
name: string;
|
||||
path: string[];
|
||||
element: string[];
|
||||
rarity: string[];
|
||||
locale: string;
|
||||
}
|
||||
|
||||
export interface FilterLightconeType {
|
||||
path: string[];
|
||||
rarity: string[];
|
||||
locale: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
|
||||
export interface FilterRelicType {
|
||||
locale: string;
|
||||
name: string;
|
||||
}
|
||||
13
src/types/index.ts
Normal file
13
src/types/index.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export * from "./characterBasic"
|
||||
export * from "./characterDetail"
|
||||
export * from "./srtools"
|
||||
export * from "./filter"
|
||||
export * from "./mics"
|
||||
export * from "./config_maze"
|
||||
export * from "./lightconeBasic"
|
||||
export * from "./lightconeDetail"
|
||||
export * from "./relicBasic"
|
||||
export * from "./relicDetail"
|
||||
export * from "./affix"
|
||||
export * from "./enka"
|
||||
export * from "./card"
|
||||
17
src/types/lightconeBasic.ts
Normal file
17
src/types/lightconeBasic.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
export interface LightConeBasicRaw {
|
||||
rank: string;
|
||||
baseType: string;
|
||||
en: string;
|
||||
desc: string;
|
||||
kr: string;
|
||||
cn: string;
|
||||
jp: string;
|
||||
}
|
||||
|
||||
export interface LightConeBasic {
|
||||
id: string;
|
||||
rank: string;
|
||||
baseType: string;
|
||||
desc: string;
|
||||
lang: Map<string, string>;
|
||||
}
|
||||
38
src/types/lightconeDetail.ts
Normal file
38
src/types/lightconeDetail.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
export interface LightConeDetail {
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Rarity: string;
|
||||
BaseType: string;
|
||||
Refinements: RefinementDetail;
|
||||
Stats: StatEntryDetail[];
|
||||
}
|
||||
|
||||
interface RefinementDetail {
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Level: Record<string, {
|
||||
ParamList: number[];
|
||||
}>;
|
||||
}
|
||||
|
||||
interface StatEntryDetail {
|
||||
EquipmentID: number;
|
||||
Promotion?: number;
|
||||
PromotionCostList: PromotionCost[];
|
||||
PlayerLevelRequire?: number;
|
||||
WorldLevelRequire?: number;
|
||||
MaxLevel: number;
|
||||
BaseHP: number;
|
||||
BaseHPAdd: number;
|
||||
BaseAttack: number;
|
||||
BaseAttackAdd: number;
|
||||
BaseDefence: number;
|
||||
BaseDefenceAdd: number;
|
||||
}
|
||||
|
||||
interface PromotionCost {
|
||||
$type: string;
|
||||
ItemID: number;
|
||||
ItemNum: number;
|
||||
Rarity: string;
|
||||
}
|
||||
71
src/types/mics.ts
Normal file
71
src/types/mics.ts
Normal file
@@ -0,0 +1,71 @@
|
||||
export type AvatarDataStore = {
|
||||
rank: number,
|
||||
skills: { [key: string]: number }
|
||||
}
|
||||
export type LightconeStore = {
|
||||
level: number;
|
||||
item_id: number;
|
||||
rank: number;
|
||||
promotion: number;
|
||||
}
|
||||
|
||||
export type SubAffixStore = {
|
||||
sub_affix_id: number;
|
||||
count: number;
|
||||
step: number;
|
||||
}
|
||||
export type RelicStore = {
|
||||
level: number;
|
||||
relic_id: number;
|
||||
relic_set_id: number;
|
||||
main_affix_id: number;
|
||||
sub_affixes: SubAffixStore[];
|
||||
}
|
||||
|
||||
export type AvatarProfileStore = {
|
||||
profile_name: string,
|
||||
lightcone: LightconeStore | null,
|
||||
relics: Record<string, RelicStore>
|
||||
}
|
||||
|
||||
export type AvatarStore = {
|
||||
owner_uid: number;
|
||||
avatar_id: number;
|
||||
data: AvatarDataStore;
|
||||
level: number;
|
||||
promotion: number;
|
||||
techniques: number[];
|
||||
sp_value: number;
|
||||
sp_max: number;
|
||||
can_change_sp: boolean;
|
||||
enhanced: string;
|
||||
profileSelect: number;
|
||||
profileList: AvatarProfileStore[]
|
||||
}
|
||||
|
||||
export type MonsterStore = {
|
||||
monster_id: number;
|
||||
level: number;
|
||||
amount: number;
|
||||
}
|
||||
|
||||
export type DynamicKeyStore = {
|
||||
key: string;
|
||||
value: number;
|
||||
}
|
||||
|
||||
export type BattleBuffStore = {
|
||||
level: number;
|
||||
id: number;
|
||||
dynamic_key?: DynamicKeyStore;
|
||||
}
|
||||
|
||||
export type BattleConfigStore = {
|
||||
battle_type: string;
|
||||
blessings: BattleBuffStore[]
|
||||
custom_stats: SubAffixStore[];
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
path_resonance_id: number;
|
||||
monsters: MonsterStore[][];
|
||||
}
|
||||
28
src/types/relicBasic.ts
Normal file
28
src/types/relicBasic.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
export interface RelicBasicRawEffect {
|
||||
en: string;
|
||||
ParamList: number[];
|
||||
kr: string;
|
||||
cn: string;
|
||||
jp: string;
|
||||
}
|
||||
|
||||
export interface RelicBasicRaw {
|
||||
icon: string;
|
||||
en: string;
|
||||
kr: string;
|
||||
cn: string;
|
||||
jp: string;
|
||||
set: Map<string, RelicBasicRawEffect>;
|
||||
}
|
||||
|
||||
export interface RelicBasicEffect {
|
||||
ParamList: number[];
|
||||
lang: Map<string, string>;
|
||||
}
|
||||
|
||||
export interface RelicBasic {
|
||||
id: string;
|
||||
icon: string;
|
||||
lang: Map<string, string>;
|
||||
set: Map<string, RelicBasicEffect>;
|
||||
}
|
||||
18
src/types/relicDetail.ts
Normal file
18
src/types/relicDetail.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
export interface PartData {
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Story: string;
|
||||
}
|
||||
|
||||
export interface RequireBonus {
|
||||
Desc: string;
|
||||
ParamList: number[];
|
||||
}
|
||||
|
||||
export interface RelicDetail {
|
||||
Name: string;
|
||||
Icon: string;
|
||||
Parts: Record<string, PartData>;
|
||||
RequireNum: Record<string, RequireBonus>;
|
||||
}
|
||||
|
||||
79
src/types/srtools.ts
Normal file
79
src/types/srtools.ts
Normal file
@@ -0,0 +1,79 @@
|
||||
export interface SubAffix {
|
||||
sub_affix_id: number;
|
||||
count: number;
|
||||
step: number;
|
||||
}
|
||||
|
||||
export interface RelicJson {
|
||||
level: number;
|
||||
relic_id: number;
|
||||
relic_set_id: number;
|
||||
main_affix_id: number;
|
||||
sub_affixes: SubAffix[];
|
||||
internal_uid: number;
|
||||
equip_avatar: number;
|
||||
}
|
||||
|
||||
export interface LightconeJson {
|
||||
level: number;
|
||||
item_id: number;
|
||||
equip_avatar: number;
|
||||
rank: number;
|
||||
promotion: number;
|
||||
internal_uid: number;
|
||||
}
|
||||
export interface AvatarData {
|
||||
rank: number,
|
||||
skills: { [key: string]: number }
|
||||
}
|
||||
|
||||
export interface AvatarJson {
|
||||
owner_uid: number;
|
||||
avatar_id: number;
|
||||
data: AvatarData;
|
||||
level: number;
|
||||
promotion: number;
|
||||
techniques: number[];
|
||||
sp_value: number;
|
||||
sp_max: number;
|
||||
}
|
||||
export interface MonsterJson {
|
||||
monster_id: number;
|
||||
level: number;
|
||||
amount: number;
|
||||
}
|
||||
|
||||
export interface DynamicKeyJson {
|
||||
key: string;
|
||||
value: number;
|
||||
}
|
||||
|
||||
//BattleBuff
|
||||
export interface BattleBuffJson {
|
||||
level: number;
|
||||
id: number;
|
||||
dynamic_key?: DynamicKeyJson;
|
||||
}
|
||||
|
||||
export interface BattleConfigJson {
|
||||
battle_type: string;
|
||||
blessings: BattleBuffJson[]
|
||||
custom_stats: SubAffix[];
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
path_resonance_id: number;
|
||||
monsters: MonsterJson[][];
|
||||
}
|
||||
|
||||
export interface FreeSRJson {
|
||||
lightcones: LightconeJson[];
|
||||
relics: RelicJson[];
|
||||
avatars: { [key: string]: AvatarJson };
|
||||
battle_config: BattleConfigJson;
|
||||
}
|
||||
|
||||
export interface PSResponse {
|
||||
status: number;
|
||||
message: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user