Add sigil and support pages

This commit is contained in:
Sakura Knoll
2023-07-13 21:46:31 +09:00 Unverified
parent 2edb2cde77
commit 82dabeeef6
11 changed files with 391 additions and 9 deletions
+16
View File
@@ -275,6 +275,14 @@ export interface ErBattlesuit {
abilities: ErBattlesuitAbility[]
signets: ErSignet[]
}
export interface ErSupportBattlesuit {
battlesuit: string
name: string
desc: string
cd: number
}
export interface ErBattlesuitCatalogItem {
battlesuit: string
}
@@ -291,3 +299,11 @@ export interface ErSignetGroup {
name: string
icon: string
}
export interface ErSigil {
id: string
name: string
desc: string
unlockHint: string
type: number
}
@@ -1,15 +1,18 @@
import { ErBattlesuit, ErBattlesuitAbility, ErSignet, ErSignetGroup } from '../../data/types'
import { ErBattlesuit, ErBattlesuitAbility, ErSigil, ErSignet, ErSupportBattlesuit } from '../../data/types'
import { getRawGodWarAvatarAbilityMap } from '../raw/godWarAvatarAbility'
import { getRawGodWarBuffMap } from '../raw/godWarBuff'
import { getRawGodWarBuffSuitMap } from '../raw/godWarBuffSuit'
import { getRawGodWarExtraItemMap } from '../raw/godWarExxtraItem'
import { getRawGodWarMainAvatarMap } from '../raw/godWarMainAvatar'
import { getRawGodWarSupportAvatarMap } from '../raw/godWarSupportAvatar'
import { getText } from './utils'
export function compileGodWarData() {
const rawMainAvatarMap = getRawGodWarMainAvatarMap()['1']
const rawGodWarAvatarAbilityMap = getRawGodWarAvatarAbilityMap()
const rawGodWarBuffMap = getRawGodWarBuffMap()
const rawGodWarBuffSuitMap = getRawGodWarBuffSuitMap()
const rawGodWarSupportAvatarMap = getRawGodWarSupportAvatarMap()['1']
const rawGodWarExtraItemMap = getRawGodWarExtraItemMap()
const battlesuitIdRawBuffListMap = new Map<string, ErSignet[]>()
const buffSuitBuffListMap = new Map<string, ErSignet[]>()
@@ -76,8 +79,29 @@ export function compileGodWarData() {
}
})
const supportAvatarList = Object.entries(rawGodWarSupportAvatarMap).map<ErSupportBattlesuit>(([id, rawData]) => {
return {
battlesuit: id,
name: getText(rawData.SkillName),
desc: getText(rawData.SkillDesc),
cd: rawData.CD
}
})
const sigilList = Object.entries(rawGodWarExtraItemMap).map<ErSigil>(([id, rawData]) => {
return {
id,
name: getText(rawData.ExtraItemName),
desc: getText(rawData.ExtraItemSkill),
type: rawData.ExtraItemType,
unlockHint: getText(rawData.UnlockExtraItemHint)
}
})
return {
buffSuitBuffListMap,
mainAvatarList
mainAvatarList,
supportAvatarList,
sigilList
}
}
+12 -1
View File
@@ -5,7 +5,9 @@ import {
BattlesuitCatalogItem,
ErBattlesuit,
ErBattlesuitCatalogItem,
ErSigil,
ErSignet,
ErSupportBattlesuit,
RootStigma,
StigmataCatalogItem,
StigmataSet,
@@ -30,7 +32,8 @@ export const stigmataSetCatalogPath = path.join(dataDir, 'stigmata-set-catalog.y
export const erBattlesuitCatalogPath = path.join(dataDir, 'er-battlesuits-catalog.yaml')
export const erBattlesuitsDir = path.join(dataDir, 'er-battlesuits')
export const erSignetsDir = path.join(dataDir, 'er-signets')
export const erSignetGroupsPath = path.join(dataDir, 'er-signet-groups.yaml')
export const erSupportsPath = path.join(dataDir, 'er-supports.yaml')
export const erSigilsPath = path.join(dataDir, 'er-sigils.yaml')
export function loadBattlesuitCatalog(): BattlesuitCatalogItem[] {
return readYamlFile(battlesuitCatalogPath)
@@ -82,6 +85,14 @@ export function loadErSignets(id: string): ErSignet[] {
return readYamlFile(erSignetsPath)
}
export function loadErSupports(): ErSupportBattlesuit[] {
return readYamlFile(erSupportsPath)
}
export function loadErSigils(): ErSigil[] {
return readYamlFile(erSigilsPath)
}
function readYamlFile(pathname: string) {
return YAML.parse(fs.readFileSync(pathname).toString())
}
@@ -0,0 +1,24 @@
import { loadRawData } from './loadRawData'
export function getRawGodWarExtraItemMap(): RawGodWarExtraItemMap {
return loadRawData('GodWarExtraItem.json')
}
export type RawGodWarExtraItemMap = {
[key: string]: RawGodWarExtraItemData
}
export interface RawGodWarExtraItemData {
GodWarID: number
ExtraItemSkillType: number
AbilityName: string
ParamList: string[]
ExtraItemStar: number
ExtraItemName: number
ExtraItemSkillOverall: number
ExtraItemIcon: string // 'SpriteOutput/Rogue/MaterialFigures/119301'
UnlockExtraItemHint: number
ExtraItemSkill: number
ExtraItemType: number
ExtraItemSuitID: number
}
@@ -0,0 +1,23 @@
import { loadRawData } from './loadRawData'
export function getRawGodWarSupportAvatarMap(): RawGodWarSupportAvataMap {
return loadRawData('GodWarSupportAvatar.json')
}
export type RawGodWarSupportAvataMap = {
[key: string]: {
[key: string]: RawGodWarSupportAvatarData
}
}
export interface RawGodWarSupportAvatarData {
SkillFunctionName: string
AbilityName: string
ParamList: string[]
CD: number
SkillName: number
SkillDesc: number
SkillIcon: string
UnlockSupportAvatarHint: number
IsSkillChange: boolean
}