UPDATE: monster bar
Some checks failed
Gitea Auto Deploy / Deploy-Container (push) Failing after 1m36s

This commit is contained in:
2025-07-25 09:20:39 +07:00
parent 604cf1ceec
commit 487c29def1
133 changed files with 841207 additions and 16695 deletions

70
src/types/asDetail.ts Normal file
View 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[]
}

View File

@@ -17,10 +17,18 @@ export type MOCConfigMaze = {
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>;
};

23
src/types/eventBasic.ts Normal file
View 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>;
}

View File

@@ -10,4 +10,10 @@ export * from "./relicBasic"
export * from "./relicDetail"
export * from "./affix"
export * from "./enka"
export * from "./card"
export * from "./card"
export * from "./eventBasic"
export * from "./monsterBasic"
export * from "./pfDetail"
export * from "./asDetail"
export * from "./mocDetail"
export * from "./monsterDetail"

View File

@@ -59,13 +59,53 @@ export type BattleBuffStore = {
id: number;
dynamic_key?: DynamicKeyStore;
}
export type BattleConfigStore = {
battle_type: string;
export type MOCConfigStore = {
event_id: number;
challenge_id: number;
floor_side: string;
use_turbulence_buff: boolean;
use_cycle_count: boolean;
blessings: BattleBuffStore[]
custom_stats: SubAffixStore[];
cycle_count: number;
stage_id: number;
path_resonance_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 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;
}

51
src/types/mocDetail.ts Normal file
View File

@@ -0,0 +1,51 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
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
}
export interface EventStageDetail {
StageID: number
StageType: string
StageName: number
HardLevelGroup: number
Level: number
EliteGroup?: number
LevelGraphPath: string
StageAbilityConfig: any[]
BattleScoringGroup?: number
SubLevelGraphs: any[]
StageConfigData: StageConfig[]
MonsterList: Record<string, number>[]
LevelLoseCondition: string[]
LevelWinCondition: string[]
Release: boolean
ForbidExitBattle: boolean
MonsterWarningRatio?: number
TrialAvatarList: any[]
}
export interface StageConfig {
$type: string
[key: string]: string
}

25
src/types/monsterBasic.ts Normal file
View 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>;
}

View 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 MonsterDetail {
Rank: string
AttackBase: number
DefenceBase: number
HPBase: number
SpeedBase: number
StanceBase: number
StatusResistanceBase: number
child: MonsterChild[]
}

51
src/types/pfDetail.ts Normal file
View 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
}