fix: use ProudMap to map extra skill level

This commit is contained in:
2026-03-20 13:26:38 +07:00 Unverified
parent 1a265bf76e
commit 61fd58ab56
2 changed files with 9 additions and 11 deletions
+2 -2
View File
@@ -10,10 +10,10 @@ export interface Avatar {
SkillOrder: number[]; SkillOrder: number[];
/** Skill ID -> icon path */ /** Skill ID -> icon path */
Skills: Record<number, string>; Skills: Record<string, string>;
/** Skill ID -> proud skill group */ /** Skill ID -> proud skill group */
ProudMap: Record<number, number>; ProudMap: Record<string, number>;
NameTextMapHash: number; NameTextMapHash: number;
+7 -9
View File
@@ -308,18 +308,16 @@ export function card(app: App) {
}} }}
> >
{Object.entries(avatar.Skills).map(([key, src]) => { {Object.entries(avatar.Skills).map(([key, src]) => {
const extraKey = Object.keys( const extra =
char.proudSkillExtraLevelMap || {}, char.proudSkillExtraLevelMap?.[
).find((e) => e.endsWith(key.slice(-1))); `${avatar.ProudMap[key]}`
] ?? 0;
const talentLevel = const talentLevel =
(char.skillLevelMap?.[key] ?? 0) + (char.skillLevelMap?.[key] ?? 0) + extra;
(extraKey
? char.proudSkillExtraLevelMap![extraKey]
: 0);
return ( return (
<div tw="mt-[.6em] relative"> <div tw="mt-[.6em] relative">
<TalentSvg <TalentSvg
tw={`Talents ${char.avatar.element} w-[3.6em] opacity-80 text-black`} tw={`Talents ${char.avatar.element} w-[3.6em] opacity-60 text-black`}
/> />
<img <img
key={key} key={key}
@@ -329,7 +327,7 @@ export function card(app: App) {
/> />
<div tw="absolute -bottom-[.1em] w-full flex justify-center"> <div tw="absolute -bottom-[.1em] w-full flex justify-center">
<div <div
tw={`${extraKey ? "bg-[#45deffcc]" : "bg-[#323232b3]"} pt-[5%] pb-[2%] text-[.8em] rounded-[1.4em]`} tw={`${extra ? "bg-[#45deffcc]" : "bg-[#323232b3]"} pt-[5%] pb-[2%] text-[.8em] rounded-[1.4em]`}
> >
<span tw="px-[.6em]">{talentLevel}</span> <span tw="px-[.6em]">{talentLevel}</span>
</div> </div>