zenno/lib: style
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import { AptitudeLevel, Mood, RunningStyle } from './race';
|
import { AptitudeLevel, Mood, RunningStyle } from './race';
|
||||||
import type { Runner } from './runner';
|
import type { Runner } from './runner';
|
||||||
|
|
||||||
const aptitude_map = {
|
const aptMap = {
|
||||||
G: AptitudeLevel.G,
|
G: AptitudeLevel.G,
|
||||||
F: AptitudeLevel.F,
|
F: AptitudeLevel.F,
|
||||||
E: AptitudeLevel.E,
|
E: AptitudeLevel.E,
|
||||||
@@ -11,9 +11,9 @@ const aptitude_map = {
|
|||||||
A: AptitudeLevel.A,
|
A: AptitudeLevel.A,
|
||||||
S: AptitudeLevel.S,
|
S: AptitudeLevel.S,
|
||||||
} as const;
|
} as const;
|
||||||
type AptitudeString = keyof typeof aptitude_map;
|
type AptitudeString = keyof typeof aptMap;
|
||||||
|
|
||||||
const style_map = {
|
const styleMap = {
|
||||||
Nige: RunningStyle.FrontRunner,
|
Nige: RunningStyle.FrontRunner,
|
||||||
Sentou: RunningStyle.PaceChaser,
|
Sentou: RunningStyle.PaceChaser,
|
||||||
Sasi: RunningStyle.LateSurger,
|
Sasi: RunningStyle.LateSurger,
|
||||||
@@ -29,7 +29,7 @@ export interface ImportUma {
|
|||||||
power: number;
|
power: number;
|
||||||
guts: number;
|
guts: number;
|
||||||
wisdom: number;
|
wisdom: number;
|
||||||
strategy: keyof typeof style_map;
|
strategy: keyof typeof styleMap;
|
||||||
distanceAptitude: AptitudeString;
|
distanceAptitude: AptitudeString;
|
||||||
surfaceAptitude: AptitudeString;
|
surfaceAptitude: AptitudeString;
|
||||||
strategyAptitude: AptitudeString;
|
strategyAptitude: AptitudeString;
|
||||||
@@ -55,23 +55,23 @@ export function load(obj: ImportUma, name?: string): Runner {
|
|||||||
return {
|
return {
|
||||||
name: name ?? '',
|
name: name ?? '',
|
||||||
chara_card_id: obj.outfitId !== '' ? parseInt(obj.outfitId) : 0,
|
chara_card_id: obj.outfitId !== '' ? parseInt(obj.outfitId) : 0,
|
||||||
style: style_map[obj.strategy],
|
style: styleMap[obj.strategy],
|
||||||
mood: obj.mood,
|
mood: obj.mood,
|
||||||
speed: obj.speed,
|
speed: obj.speed,
|
||||||
stamina: obj.stamina,
|
stamina: obj.stamina,
|
||||||
power: obj.power,
|
power: obj.power,
|
||||||
guts: obj.guts,
|
guts: obj.guts,
|
||||||
wit: obj.wisdom,
|
wit: obj.wisdom,
|
||||||
sprint: aptitude_map[obj.aptitudes[0]],
|
sprint: aptMap[obj.aptitudes[0]],
|
||||||
mile: aptitude_map[obj.aptitudes[1]],
|
mile: aptMap[obj.aptitudes[1]],
|
||||||
medium: aptitude_map[obj.aptitudes[2]],
|
medium: aptMap[obj.aptitudes[2]],
|
||||||
long: aptitude_map[obj.aptitudes[3]],
|
long: aptMap[obj.aptitudes[3]],
|
||||||
front: aptitude_map[obj.aptitudes[4]],
|
front: aptMap[obj.aptitudes[4]],
|
||||||
pace: aptitude_map[obj.aptitudes[5]],
|
pace: aptMap[obj.aptitudes[5]],
|
||||||
late: aptitude_map[obj.aptitudes[6]],
|
late: aptMap[obj.aptitudes[6]],
|
||||||
end: aptitude_map[obj.aptitudes[7]],
|
end: aptMap[obj.aptitudes[7]],
|
||||||
turf: aptitude_map[obj.aptitudes[8]],
|
turf: aptMap[obj.aptitudes[8]],
|
||||||
dirt: aptitude_map[obj.aptitudes[9]],
|
dirt: aptMap[obj.aptitudes[9]],
|
||||||
skills: obj.skills.map((s) => parseInt(s)),
|
skills: obj.skills.map((s) => parseInt(s)),
|
||||||
unique_level: obj.uniqueLv,
|
unique_level: obj.uniqueLv,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export interface Runner {
|
|||||||
* @param base_uma Character card (trainee or uma) to use for aptitudes; otherwise all aptitudes are A
|
* @param base_uma Character card (trainee or uma) to use for aptitudes; otherwise all aptitudes are A
|
||||||
* @returns Baseline runner
|
* @returns Baseline runner
|
||||||
*/
|
*/
|
||||||
export function new_runner(name?: string, base_uma?: Uma): Runner {
|
export function newRunner(name?: string, base_uma?: Uma): Runner {
|
||||||
return {
|
return {
|
||||||
name: name ?? '',
|
name: name ?? '',
|
||||||
chara_card_id: base_uma?.chara_card_id ?? 0,
|
chara_card_id: base_uma?.chara_card_id ?? 0,
|
||||||
@@ -72,7 +72,7 @@ export function new_runner(name?: string, base_uma?: Uma): Runner {
|
|||||||
* @param name Name or memo to apply to the runner
|
* @param name Name or memo to apply to the runner
|
||||||
* @returns Imported runner, or null if import was not possible
|
* @returns Imported runner, or null if import was not possible
|
||||||
*/
|
*/
|
||||||
export function import_runner(obj: unknown, name?: string): Runner | null {
|
export function importRunner(obj: unknown, name?: string): Runner | null {
|
||||||
// TODO(zeph): check for keys that identify the uma source
|
// TODO(zeph): check for keys that identify the uma source
|
||||||
if (typeof obj === 'object') {
|
if (typeof obj === 'object') {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user