import { extrapolateFloat } from "../../extrapolateFloat" ; type AvatarCurveExcelConfigData = { "Level" : number ; "CurveInfos" : [ { "Type" : "GROW_CURVE_HP_S4" ; "Arith" : "ARITH_MULTI" ; "Value" : number ; } , { "Type" : "GROW_CURVE_ATTACK_S4" ; "Arith" : "ARITH_MULTI" ; "Value" : number ; } , { "Type" : "GROW_CURVE_HP_S5" ; "Arith" : "ARITH_MULTI" ; "Value" : number ; } , { "Type" : "GROW_CURVE_ATTACK_S5" ; "Arith" : "ARITH_MULTI" ; "Value" : number ; } ] ; } ; export type CharacterGrowCurveKey = "GROW_CURVE_HP_S4" | "GROW_CURVE_ATTACK_S4" | "GROW_CURVE_HP_S5" | "GROW_CURVE_ATTACK_S5" ; const characterExpCurveSrc = require ( '../../GenshinData/ExcelBinOutput/AvatarCurveExcelConfigData.json' ) as AvatarCurveExcelConfigData [ ] ; export type CharacterExpCurveData = { GROW_CURVE_HP_S4 : { [ level ] : number ; } ; GROW_CURVE_ATTACK_S4 : { [ level ] : number ; } ; GROW_CURVE_HP_S5 : { [ level ] : number ; } ; } ; const characterExpCurve = { } as CharacterExpCurveData ; characterExpCurveSrc . forEach ( ( { Level , CurveInfos } ) => CurveInfos . forEach ( ( { Type , Value } ) => { if ( ! characterExpCurve [ Type ] ) characterExpCurve [ Type ] = { } ; characterExpCurve [ Type ] [ Level ] = extrapolateFloat ( Value ) ; } ) ) ; export default characterExpCurve ;