diff --git a/docs/battle-ui-icons-hq-batch1-atlas.png b/docs/battle-ui-icons-hq-batch1-atlas.png new file mode 100644 index 0000000..fd68646 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-atlas.png differ diff --git a/docs/battle-ui-icons-hq-batch1-before-after.png b/docs/battle-ui-icons-hq-batch1-before-after.png new file mode 100644 index 0000000..2d5b7b0 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-before-after.png differ diff --git a/docs/battle-ui-icons-hq-batch1-before-atlas.png b/docs/battle-ui-icons-hq-batch1-before-atlas.png new file mode 100644 index 0000000..f019be1 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-before-atlas.png differ diff --git a/docs/battle-ui-icons-hq-batch1-contact.png b/docs/battle-ui-icons-hq-batch1-contact.png new file mode 100644 index 0000000..9e0c502 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-contact.png differ diff --git a/docs/battle-ui-icons-hq-batch1-local-combat-preview.png b/docs/battle-ui-icons-hq-batch1-local-combat-preview.png new file mode 100644 index 0000000..e3ee3bf Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-local-combat-preview.png differ diff --git a/docs/battle-ui-icons-hq-batch1-local-strategy-menu.png b/docs/battle-ui-icons-hq-batch1-local-strategy-menu.png new file mode 100644 index 0000000..f51e9e5 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-local-strategy-menu.png differ diff --git a/docs/battle-ui-icons-hq-batch1-prod-combat-preview.png b/docs/battle-ui-icons-hq-batch1-prod-combat-preview.png new file mode 100644 index 0000000..68e7a00 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-prod-combat-preview.png differ diff --git a/docs/battle-ui-icons-hq-batch1-report.md b/docs/battle-ui-icons-hq-batch1-report.md new file mode 100644 index 0000000..b83463f --- /dev/null +++ b/docs/battle-ui-icons-hq-batch1-report.md @@ -0,0 +1,59 @@ +# Battle UI Icon HQ Batch 1 + +Date: 2026-07-03 + +## Scope + +This batch extends the approved high-resolution raster icon direction into the most visible combat UI icons: + +- HP / troop strength +- luck +- bow +- horse +- armor +- accessory +- hit +- critical +- advantage +- strategy success +- strategy failure +- heal +- rally / encouragement +- fire tactic +- confusion / intimidation +- counterattack + +The atlas remains a 128px-frame spritesheet with the existing 5x6 layout. New alias keys were added for clearer intent: + +- `luck` aliases frame 7 +- `confusion` aliases frame 25 +- `failure` uses frame 26 + +## Outputs + +- Source generation sheet: `docs/battle-ui-icons-hq-batch1-source.png` +- Chroma-key alpha source: `docs/battle-ui-icons-hq-batch1-source-alpha.png` +- Batch contact sheet: `docs/battle-ui-icons-hq-batch1-contact.png` +- Before/after comparison: `docs/battle-ui-icons-hq-batch1-before-after.png` +- Local strategy menu check: `docs/battle-ui-icons-hq-batch1-local-strategy-menu.png` +- Local combat preview check: `docs/battle-ui-icons-hq-batch1-local-combat-preview.png` +- Deployed combat preview check: `docs/battle-ui-icons-hq-batch1-prod-combat-preview.png` +- Previous atlas reference: `docs/battle-ui-icons-hq-batch1-before-atlas.png` +- Applied atlas copy: `docs/battle-ui-icons-hq-batch1-atlas.png` +- Runtime atlas: `src/assets/images/ui/battle-ui-icons.png` + +## Notes + +- The icons are generated as project-specific original raster art and do not copy existing game icon assets. +- Existing UI layout is preserved; the improvement is focused on art quality, silhouette, and readability. +- The command menu, strategy menu, unit detail, and combat preview all consume the updated atlas frames. + +## Verification + +- Build: `pnpm build` passed. +- Local browser: `http://127.0.0.1:4190/heros_web/?debug&debugBattleSetup=attack-preview&v=hq-icons-batch1-local` +- Checked unit detail, strategy menu, command menu, and combat preview at desktop 1280x720. +- Console errors: none observed during local browser check. +- Deploy: `pnpm deploy:nas` passed and deployed to `/volume1/web/heros_web`. +- Deployed browser: `https://comtropy.synology.me/heros_web/?debug&debugBattleSetup=attack-preview&v=hq-icons-batch1-prod` +- Deployed console errors: none observed during combat preview check. diff --git a/docs/battle-ui-icons-hq-batch1-source-alpha.png b/docs/battle-ui-icons-hq-batch1-source-alpha.png new file mode 100644 index 0000000..e273e2a Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-source-alpha.png differ diff --git a/docs/battle-ui-icons-hq-batch1-source.png b/docs/battle-ui-icons-hq-batch1-source.png new file mode 100644 index 0000000..87bfba3 Binary files /dev/null and b/docs/battle-ui-icons-hq-batch1-source.png differ diff --git a/src/assets/images/ui/battle-ui-icons.png b/src/assets/images/ui/battle-ui-icons.png index f019be1..fd68646 100644 Binary files a/src/assets/images/ui/battle-ui-icons.png and b/src/assets/images/ui/battle-ui-icons.png differ diff --git a/src/game/data/battleUiIcons.ts b/src/game/data/battleUiIcons.ts index 4f391b9..43ece79 100644 --- a/src/game/data/battleUiIcons.ts +++ b/src/game/data/battleUiIcons.ts @@ -14,6 +14,7 @@ export const battleUiIconFrames = { defense: 5, move: 6, mastery: 7, + luck: 7, sword: 8, spear: 9, axe: 10, @@ -31,7 +32,9 @@ export const battleUiIconFrames = { heal: 22, focus: 23, fire: 24, - shout: 25 + shout: 25, + confusion: 25, + failure: 26 } as const; export type BattleUiIconKey = keyof typeof battleUiIconFrames; diff --git a/src/game/scenes/BattleScene.ts b/src/game/scenes/BattleScene.ts index 8f7097a..86120b6 100644 --- a/src/game/scenes/BattleScene.ts +++ b/src/game/scenes/BattleScene.ts @@ -4739,8 +4739,8 @@ export class BattleScene extends Phaser.Scene { } if (id.includes('roar') || id.includes('shout')) { return { - icon: 'shout' as BattleUiIconKey, - powerIcon: 'shout' as BattleUiIconKey, + icon: 'confusion' as BattleUiIconKey, + powerIcon: 'confusion' as BattleUiIconKey, accent: 0xc96b4a, effectLabel: '위압', powerLabel: `위압 ${usable.power}` @@ -14193,7 +14193,7 @@ export class BattleScene extends Phaser.Scene { case 'agility': return 'move'; case 'luck': - return 'mastery'; + return 'luck'; default: return 'might'; }