Add roster and unit stat panels

This commit is contained in:
2026-06-22 01:46:14 +09:00
parent b996f780f2
commit 83d6497b5e
3 changed files with 383 additions and 29 deletions

View File

@@ -19,10 +19,19 @@ export type UnitData = {
maxHp: number;
attack: number;
move: number;
stats: UnitStats;
x: number;
y: number;
};
export type UnitStats = {
might: number;
intelligence: number;
leadership: number;
agility: number;
luck: number;
};
export type TerrainType = 'plain' | 'forest' | 'hill' | 'fort';
export type BattleMap = {
@@ -138,11 +147,95 @@ export const firstBattleMap: BattleMap = {
};
export const firstBattleUnits: UnitData[] = [
{ id: 'liu-bei', name: '유비', faction: 'ally', className: '의병장', hp: 32, maxHp: 32, attack: 9, move: 4, x: 1, y: 9 },
{ id: 'guan-yu', name: '관우', faction: 'ally', className: '보병', hp: 30, maxHp: 30, attack: 10, move: 3, x: 2, y: 10 },
{ id: 'zhang-fei', name: '비', faction: 'ally', className: '창병', hp: 30, maxHp: 30, attack: 10, move: 3, x: 1, y: 10 },
{ id: 'rebel-a', name: '황건병', faction: 'enemy', className: '도적', hp: 20, maxHp: 20, attack: 6, move: 3, x: 8, y: 2 },
{ id: 'rebel-b', name: '황건병', faction: 'enemy', className: '도적', hp: 20, maxHp: 20, attack: 6, move: 3, x: 9, y: 3 },
{ id: 'rebel-c', name: '황건궁병', faction: 'enemy', className: '궁병', hp: 18, maxHp: 18, attack: 7, move: 3, x: 10, y: 2 },
{ id: 'rebel-leader', name: '두령 한석', faction: 'enemy', className: '두령', hp: 30, maxHp: 30, attack: 9, move: 3, x: 10, y: 4 }
{
id: 'liu-bei',
name: '비',
faction: 'ally',
className: '의병장',
hp: 32,
maxHp: 32,
attack: 9,
move: 4,
stats: { might: 76, intelligence: 78, leadership: 84, agility: 70, luck: 88 },
x: 1,
y: 9
},
{
id: 'guan-yu',
name: '관우',
faction: 'ally',
className: '보병',
hp: 30,
maxHp: 30,
attack: 10,
move: 3,
stats: { might: 96, intelligence: 74, leadership: 91, agility: 72, luck: 68 },
x: 2,
y: 10
},
{
id: 'zhang-fei',
name: '장비',
faction: 'ally',
className: '창병',
hp: 30,
maxHp: 30,
attack: 10,
move: 3,
stats: { might: 95, intelligence: 42, leadership: 83, agility: 67, luck: 61 },
x: 1,
y: 10
},
{
id: 'rebel-a',
name: '황건병',
faction: 'enemy',
className: '도적',
hp: 20,
maxHp: 20,
attack: 6,
move: 3,
stats: { might: 49, intelligence: 34, leadership: 38, agility: 45, luck: 40 },
x: 8,
y: 2
},
{
id: 'rebel-b',
name: '황건병',
faction: 'enemy',
className: '도적',
hp: 20,
maxHp: 20,
attack: 6,
move: 3,
stats: { might: 47, intelligence: 32, leadership: 36, agility: 48, luck: 38 },
x: 9,
y: 3
},
{
id: 'rebel-c',
name: '황건궁병',
faction: 'enemy',
className: '궁병',
hp: 18,
maxHp: 18,
attack: 7,
move: 3,
stats: { might: 52, intelligence: 40, leadership: 43, agility: 56, luck: 42 },
x: 10,
y: 2
},
{
id: 'rebel-leader',
name: '두령 한석',
faction: 'enemy',
className: '두령',
hp: 30,
maxHp: 30,
attack: 9,
move: 3,
stats: { might: 64, intelligence: 46, leadership: 61, agility: 52, luck: 50 },
x: 10,
y: 4
}
];