UPDATE: Update readme and Next 16.07 (CVE-2025-66478)
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;
|
||||
}
|
||||
70
src/types/asDetail.ts
Normal file
70
src/types/asDetail.ts
Normal file
@@ -0,0 +1,70 @@
|
||||
import { ChallengeDetail, EventStageDetail } from "./mocDetail"
|
||||
import { BuffDetail, OptionDetail } from "./pfDetail"
|
||||
|
||||
export interface ASDetail {
|
||||
Id: number
|
||||
Name: string
|
||||
Buff?: BuffDetail
|
||||
BuffList1: OptionDetail[]
|
||||
BuffList2: OptionDetail[]
|
||||
BeginTime: string
|
||||
EndTime: string
|
||||
Level: ASLevel[]
|
||||
}
|
||||
|
||||
export interface ASLevel {
|
||||
Id: number
|
||||
Name: string
|
||||
Challenge: ChallengeDetail[]
|
||||
DamageType1: string[]
|
||||
DamageType2: string[]
|
||||
MazeGroupID1: number
|
||||
MazeGroupID2: number
|
||||
BossMonsterID1: number
|
||||
BossMonsterID2: number
|
||||
BossMonsterID1SkillList: number[]
|
||||
BossMonsterID2SkillList: number[]
|
||||
BossMonsterConfig1: BossMonsterConfig
|
||||
BossMonsterConfig2: BossMonsterConfig
|
||||
EventIDList1: EventStageDetail[]
|
||||
EventIDList2: EventStageDetail[]
|
||||
}
|
||||
|
||||
export interface BossMonsterConfig {
|
||||
Difficulty: number
|
||||
DifficultyList: number[]
|
||||
TagList: BossTag[]
|
||||
DifficultyGuideList: BossDifficultyGuide[]
|
||||
TextGuideList: string[]
|
||||
PhaseList: BossPhase[]
|
||||
}
|
||||
|
||||
export interface BossTag {
|
||||
Name: string
|
||||
Desc: string
|
||||
Param: number[]
|
||||
SkillID?: number | null
|
||||
ParamFix: number[]
|
||||
Child: BossChildTag[]
|
||||
}
|
||||
|
||||
export interface BossChildTag {
|
||||
Name: string
|
||||
Desc: string
|
||||
Param: number[]
|
||||
}
|
||||
|
||||
export interface BossDifficultyGuide {
|
||||
Desc: string
|
||||
Param: number[]
|
||||
SkillID?: number | null
|
||||
ParamFix: number[]
|
||||
}
|
||||
|
||||
export interface BossPhase {
|
||||
Name: string
|
||||
Desc: string
|
||||
Answer: string
|
||||
Difficulty: number
|
||||
SkillList: 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>;
|
||||
}
|
||||
179
src/types/characterDetail.ts
Normal file
179
src/types/characterDetail.ts
Normal file
@@ -0,0 +1,179 @@
|
||||
|
||||
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>;
|
||||
RankIcon: string[];
|
||||
}
|
||||
|
||||
export interface EnhancedType {
|
||||
Descs: string[];
|
||||
ChangeRankList: unknown;
|
||||
ChangeSkillTreeList: unknown;
|
||||
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 | null;
|
||||
SimpleDesc: 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 type StatusAddType = {
|
||||
$type: string;
|
||||
PropertyType: string;
|
||||
Value: number;
|
||||
Name: string;
|
||||
};
|
||||
|
||||
export interface SkillTreePoint {
|
||||
Anchor: string;
|
||||
AvatarPromotionLimit: number | null;
|
||||
AvatarLevelLimit: number | null;
|
||||
DefaultUnlock: boolean;
|
||||
Icon: string;
|
||||
LevelUpSkillID: number[];
|
||||
MaterialList: ItemConfigRow[];
|
||||
MaxLevel: number;
|
||||
ParamList: number[];
|
||||
PointID: number;
|
||||
PointName: string | null;
|
||||
PointDesc: string | null;
|
||||
PointTriggerKey: number;
|
||||
PointType: number;
|
||||
PrePoint: string[];
|
||||
StatusAddList: StatusAddType[];
|
||||
}
|
||||
|
||||
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, unknown>;
|
||||
}
|
||||
|
||||
export interface SpriteSkill {
|
||||
Name: string;
|
||||
Desc: string | null;
|
||||
SimpleDesc: string;
|
||||
Type: string | null;
|
||||
Tag: string;
|
||||
SPBase: number | null;
|
||||
BPNeed: number;
|
||||
BPAdd: number | null;
|
||||
ShowStanceList: number[];
|
||||
SkillComboValueDelta: number | null;
|
||||
Extra: Record<string, Extra>;
|
||||
Level: Record<string, LevelParams>;
|
||||
}
|
||||
|
||||
export interface UniqueAbility {
|
||||
Tag: string;
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Param: number[];
|
||||
Extra: Record<string, Extra>;
|
||||
}
|
||||
|
||||
export interface Extra {
|
||||
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;
|
||||
}
|
||||
34
src/types/config_maze.ts
Normal file
34
src/types/config_maze.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
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 StageConfigMaze = {
|
||||
stage_id: number;
|
||||
stage_type: string;
|
||||
level: number;
|
||||
monster_list: Array<Record<string, number>>;
|
||||
};
|
||||
|
||||
export type ConfigMaze = {
|
||||
Avatar: Record<string, AvatarConfigMaze>;
|
||||
MOC: Record<string, MOCConfigMaze>;
|
||||
AS: Record<string, ASConfigMaze>;
|
||||
PF: Record<string, PFConfigMaze>;
|
||||
Stage: Record<string, StageConfigMaze>;
|
||||
};
|
||||
|
||||
96
src/types/enka.ts
Normal file
96
src/types/enka.ts
Normal file
@@ -0,0 +1,96 @@
|
||||
interface PrivacySettingInfo {
|
||||
displayCollection: boolean
|
||||
displayRecord: boolean
|
||||
displayRecordTeam: boolean
|
||||
displayOnlineStatus: boolean
|
||||
displayDiary: boolean
|
||||
}
|
||||
|
||||
interface RecordInfo {
|
||||
achievementCount: number
|
||||
bookCount: number
|
||||
avatarCount: number
|
||||
equipmentCount: number
|
||||
musicCount: number
|
||||
relicCount: number
|
||||
challengeInfo: unknown;
|
||||
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
|
||||
}
|
||||
23
src/types/eventBasic.ts
Normal file
23
src/types/eventBasic.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
export interface EventBasicRaw {
|
||||
param?: number[];
|
||||
en: string;
|
||||
id: string;
|
||||
begin: string;
|
||||
end: string;
|
||||
live_begin: string;
|
||||
live_end: string;
|
||||
kr: string;
|
||||
cn: string;
|
||||
jp: string;
|
||||
}
|
||||
|
||||
export interface EventBasic {
|
||||
param?: number[];
|
||||
id: string;
|
||||
begin: string;
|
||||
end: string;
|
||||
live_begin: string;
|
||||
live_end: string;
|
||||
lang: Map<string, string>;
|
||||
}
|
||||
|
||||
13
src/types/extraData.ts
Normal file
13
src/types/extraData.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export interface ExtraData {
|
||||
theory_craft: {
|
||||
hp: Record<string, number[]>
|
||||
cycle_count: number
|
||||
mode: boolean
|
||||
}
|
||||
setting: {
|
||||
censorship: boolean
|
||||
cm: boolean
|
||||
first_person: boolean
|
||||
hide_ui: boolean
|
||||
};
|
||||
}
|
||||
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;
|
||||
}
|
||||
24
src/types/index.ts
Normal file
24
src/types/index.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
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"
|
||||
export * from "./eventBasic"
|
||||
export * from "./monsterBasic"
|
||||
export * from "./pfDetail"
|
||||
export * from "./asDetail"
|
||||
export * from "./mocDetail"
|
||||
export * from "./monsterValue"
|
||||
export * from "./peakDetail"
|
||||
export * from "./monsterDetail"
|
||||
export * from "./extraData"
|
||||
export * from "./showcase"
|
||||
export * from "./srtools"
|
||||
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>;
|
||||
}
|
||||
39
src/types/lightconeDetail.ts
Normal file
39
src/types/lightconeDetail.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
export interface LightConeDetail {
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Rarity: string;
|
||||
BaseType: string;
|
||||
Refinements: RefinementDetail;
|
||||
Stats: StatEntryDetail[];
|
||||
Bonus: Record<string, { type: string, value: number }[]>
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
122
src/types/mics.ts
Normal file
122
src/types/mics.ts
Normal file
@@ -0,0 +1,122 @@
|
||||
export type AvatarDataStore = {
|
||||
rank: number,
|
||||
skills: Record<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 MOCConfigStore = {
|
||||
event_id: number;
|
||||
challenge_id: number;
|
||||
floor_side: string;
|
||||
use_turbulence_buff: boolean;
|
||||
use_cycle_count: boolean;
|
||||
blessings: BattleBuffStore[]
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
monsters: MonsterStore[][];
|
||||
}
|
||||
|
||||
export type PFConfigStore = {
|
||||
event_id: number;
|
||||
challenge_id: number;
|
||||
buff_id: number;
|
||||
floor_side: string;
|
||||
blessings: BattleBuffStore[]
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
monsters: MonsterStore[][];
|
||||
}
|
||||
|
||||
export type ASConfigStore = {
|
||||
event_id: number;
|
||||
challenge_id: number;
|
||||
buff_id: number;
|
||||
floor_side: string;
|
||||
blessings: BattleBuffStore[]
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
monsters: MonsterStore[][];
|
||||
}
|
||||
|
||||
export type PEAKConfigStore = {
|
||||
event_id: number;
|
||||
challenge_id: number;
|
||||
buff_id: number;
|
||||
boss_mode: string;
|
||||
blessings: BattleBuffStore[]
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
monsters: MonsterStore[][];
|
||||
}
|
||||
|
||||
export type CEConfigStore = {
|
||||
blessings: BattleBuffStore[]
|
||||
cycle_count: number;
|
||||
stage_id: number;
|
||||
monsters: MonsterStore[][];
|
||||
}
|
||||
|
||||
export interface Mics {
|
||||
avatars: Record<string, AvatarStore>,
|
||||
battle_type: string;
|
||||
moc_config: MOCConfigStore;
|
||||
pf_config: PFConfigStore;
|
||||
as_config: ASConfigStore;
|
||||
ce_config: CEConfigStore;
|
||||
peak_config: PEAKConfigStore
|
||||
}
|
||||
50
src/types/mocDetail.ts
Normal file
50
src/types/mocDetail.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
export interface MocDetail {
|
||||
Id: number
|
||||
Name: string
|
||||
GroupName: string
|
||||
Desc: string
|
||||
Param: number[]
|
||||
Challenge: ChallengeDetail[]
|
||||
Countdown: number
|
||||
DamageType1: string[]
|
||||
DamageType2: string[]
|
||||
MazeGroupID1: number
|
||||
MazeGroupID2: number
|
||||
NpcMonsterIDList1: number[]
|
||||
NpcMonsterIDList2: number[]
|
||||
EventIDList1: EventStageDetail[]
|
||||
EventIDList2: EventStageDetail[]
|
||||
BeginTime: string
|
||||
EndTime: string
|
||||
}
|
||||
|
||||
export interface ChallengeDetail {
|
||||
Name: string
|
||||
Param?: number | null
|
||||
}
|
||||
|
||||
export interface EventStageDetail {
|
||||
StageID: number
|
||||
StageType: string
|
||||
StageName: number
|
||||
HardLevelGroup: number
|
||||
Level: number
|
||||
EliteGroup?: number
|
||||
LevelGraphPath: string
|
||||
StageAbilityConfig: unknown[]
|
||||
BattleScoringGroup?: number | null
|
||||
SubLevelGraphs: unknown[]
|
||||
StageConfigData: StageConfig[]
|
||||
MonsterList: Record<string, number>[]
|
||||
LevelLoseCondition: string[]
|
||||
LevelWinCondition: string[]
|
||||
Release: boolean
|
||||
ForbidExitBattle: boolean
|
||||
MonsterWarningRatio?: number | null
|
||||
TrialAvatarList: unknown[]
|
||||
}
|
||||
export interface StageConfig {
|
||||
$type: string
|
||||
[key: string]: string
|
||||
}
|
||||
|
||||
25
src/types/monsterBasic.ts
Normal file
25
src/types/monsterBasic.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
export interface MonsterBasicRaw {
|
||||
rank: string;
|
||||
camp: string | null;
|
||||
icon: string;
|
||||
child: number[];
|
||||
weak: string[];
|
||||
en: string;
|
||||
desc: string;
|
||||
kr: string;
|
||||
cn: string;
|
||||
jp: string;
|
||||
}
|
||||
|
||||
export interface MonsterBasic {
|
||||
id: string;
|
||||
rank: string;
|
||||
camp: string | null;
|
||||
icon: string;
|
||||
child: number[];
|
||||
weak: string[];
|
||||
desc: string;
|
||||
lang: Map<string, string>;
|
||||
}
|
||||
|
||||
|
||||
61
src/types/monsterDetail.ts
Normal file
61
src/types/monsterDetail.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
export interface MonsterDetail {
|
||||
Id: number
|
||||
Name: string
|
||||
Desc: string
|
||||
MonsterCampID: number | null
|
||||
AttackBase: number
|
||||
CriticalDamageBase: number
|
||||
DefenceBase: number
|
||||
HPBase: number
|
||||
InitialDelayRatio: number
|
||||
ImagePath: string
|
||||
MinimumFatigueRatio: number
|
||||
Rank: string
|
||||
SpeedBase: number
|
||||
StanceBase: number
|
||||
StanceCount: number
|
||||
StatusResistanceBase: number
|
||||
Child: MonsterDetailChild[]
|
||||
Drop: MonsterDetailDrop[]
|
||||
}
|
||||
|
||||
export interface MonsterDetailChild {
|
||||
Id: number
|
||||
AttackModifyRatio: number
|
||||
DefenceModifyRatio: number
|
||||
EliteGroup: number
|
||||
HPModifyRatio: number
|
||||
SpeedModifyRatio: number
|
||||
SpeedModifyValue: number | null
|
||||
StanceModifyRatio: number
|
||||
StanceWeakList: string[]
|
||||
HardLevelGroup: number
|
||||
DamageTypeResistance: MonsterDetailElementResistance[]
|
||||
SkillList: MonsterDetailSkill[]
|
||||
}
|
||||
|
||||
export interface MonsterDetailElementResistance {
|
||||
$type: string
|
||||
DamageType: string
|
||||
Value: number
|
||||
}
|
||||
|
||||
export interface MonsterDetailSkill {
|
||||
Id: number
|
||||
SkillName: string | null
|
||||
SkillDesc: string | null
|
||||
DamageType: string
|
||||
SPHitBase: number | string
|
||||
}
|
||||
|
||||
export interface MonsterDetailDrop {
|
||||
MonsterTemplateID: number
|
||||
WorldLevel?: number
|
||||
AvatarExpReward: number
|
||||
DisplayItemList: MonsterDetailDropItem[]
|
||||
}
|
||||
|
||||
export interface MonsterDetailDropItem {
|
||||
$type: string
|
||||
ID: number
|
||||
}
|
||||
23
src/types/monsterValue.ts
Normal file
23
src/types/monsterValue.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
export interface MonsterChild {
|
||||
Id: number
|
||||
AttackModifyRatio: number
|
||||
DefenceModifyRatio: number
|
||||
EliteGroup: number
|
||||
HPModifyRatio: number
|
||||
SpeedModifyRatio: number
|
||||
SpeedModifyValue: number | null
|
||||
StanceModifyRatio: number
|
||||
HardLevelGroup: number
|
||||
StanceWeakList: string[]
|
||||
}
|
||||
|
||||
export interface MonsterValue {
|
||||
Rank: string
|
||||
AttackBase: number
|
||||
DefenceBase: number
|
||||
HPBase: number
|
||||
SpeedBase: number
|
||||
StanceBase: number
|
||||
StatusResistanceBase: number
|
||||
child: MonsterChild[]
|
||||
}
|
||||
37
src/types/peakDetail.ts
Normal file
37
src/types/peakDetail.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { EventStageDetail } from "./mocDetail";
|
||||
import { InfiniteWave } from "./pfDetail";
|
||||
|
||||
export interface PeakDetail {
|
||||
Id: number;
|
||||
Name: string;
|
||||
PreLevel: PeakLevel[];
|
||||
BossLevel: PeakLevel;
|
||||
BossConfig: BossConfig;
|
||||
}
|
||||
|
||||
export interface PeakLevel {
|
||||
Id: number;
|
||||
Name: string;
|
||||
DamageType: string[];
|
||||
MazeGroupID: number;
|
||||
NpcMonsterIDList: number[];
|
||||
EventIDList: EventStageDetail[];
|
||||
TagList: ChallengeTag[];
|
||||
InfiniteList: Record<string, InfiniteWave>;
|
||||
}
|
||||
|
||||
export interface BossConfig {
|
||||
HardName: string;
|
||||
BuffList: ChallengeTag[];
|
||||
EventIDList: EventStageDetail[];
|
||||
TagList: ChallengeTag[];
|
||||
InfiniteList: Record<string, InfiniteWave>;
|
||||
}
|
||||
|
||||
export interface ChallengeTag {
|
||||
Id: number;
|
||||
Name: string;
|
||||
Desc: string;
|
||||
Param: number[];
|
||||
}
|
||||
|
||||
51
src/types/pfDetail.ts
Normal file
51
src/types/pfDetail.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import { ChallengeDetail, EventStageDetail } from "./mocDetail"
|
||||
|
||||
export interface PFDetail {
|
||||
Id: number
|
||||
Name: string
|
||||
Buff: BuffDetail
|
||||
Option: OptionDetail[]
|
||||
SubOption: OptionDetail[]
|
||||
BeginTime: string
|
||||
EndTime: string
|
||||
Level: PFLevel[]
|
||||
}
|
||||
|
||||
export interface BuffDetail {
|
||||
Name?: string | null
|
||||
Desc?: string | null
|
||||
Param: number[]
|
||||
}
|
||||
|
||||
export interface OptionDetail {
|
||||
Name: string
|
||||
Desc: string
|
||||
Param: number[]
|
||||
}
|
||||
|
||||
export interface PFLevel {
|
||||
Id: number
|
||||
Name: string
|
||||
Challenge: ChallengeDetail[]
|
||||
DamageType1: string[]
|
||||
DamageType2: string[]
|
||||
MazeGroupID1: number
|
||||
MazeGroupID2: number
|
||||
NpcMonsterIDList1: number[]
|
||||
NpcMonsterIDList2: number[]
|
||||
EventIDList1: EventStageDetail[]
|
||||
EventIDList2: EventStageDetail[]
|
||||
InfiniteList1: Record<string, InfiniteWave>
|
||||
InfiniteList2: Record<string, InfiniteWave>
|
||||
}
|
||||
|
||||
export interface InfiniteWave {
|
||||
InfiniteWaveID: number
|
||||
MonsterGroupIDList: number[]
|
||||
MaxMonsterCount: number
|
||||
MaxTeammateCount: number
|
||||
Ability: string
|
||||
ParamList: number[]
|
||||
ClearPreviousAbility: boolean
|
||||
EliteGroup: number
|
||||
}
|
||||
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>;
|
||||
}
|
||||
19
src/types/relicDetail.ts
Normal file
19
src/types/relicDetail.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
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>;
|
||||
Bonus: Record<string, { type: string, value: number }[]>
|
||||
}
|
||||
|
||||
26
src/types/showcase.ts
Normal file
26
src/types/showcase.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
export type RelicShowcaseType = {
|
||||
img: string;
|
||||
mainAffix: {
|
||||
property: string;
|
||||
level: number;
|
||||
valueAffix: string;
|
||||
detail: {
|
||||
name: string;
|
||||
icon: string;
|
||||
unit: string;
|
||||
baseStat: string;
|
||||
};
|
||||
};
|
||||
subAffix: {
|
||||
property: string;
|
||||
valueAffix: string;
|
||||
detail: {
|
||||
name: string;
|
||||
icon: string;
|
||||
unit: string;
|
||||
baseStat: string;
|
||||
};
|
||||
step: number;
|
||||
count: number;
|
||||
}[]
|
||||
}
|
||||
88
src/types/srtools.ts
Normal file
88
src/types/srtools.ts
Normal file
@@ -0,0 +1,88 @@
|
||||
import { ExtraData } from "./extraData";
|
||||
|
||||
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: Record<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[][];
|
||||
}
|
||||
type LoadoutJson = {
|
||||
name: string
|
||||
avatar_id: number
|
||||
relic_list: string[]
|
||||
}
|
||||
export interface FreeSRJson {
|
||||
key?: string;
|
||||
lightcones: LightconeJson[];
|
||||
relics: RelicJson[];
|
||||
avatars: Record<string, AvatarJson>;
|
||||
battle_config: BattleConfigJson;
|
||||
loadout?: LoadoutJson[];
|
||||
}
|
||||
|
||||
export interface PSResponse {
|
||||
status: number;
|
||||
message: string;
|
||||
extra_data?: ExtraData
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user