Add class and terrain battle rules
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import type { TerrainType, UnitClassKey } from './battleRules';
|
||||
|
||||
export type PortraitKey = 'liuBei' | 'guanYu' | 'zhangFei';
|
||||
|
||||
export type StoryPage = {
|
||||
@@ -15,6 +17,7 @@ export type UnitData = {
|
||||
name: string;
|
||||
faction: 'ally' | 'enemy';
|
||||
className: string;
|
||||
classKey: UnitClassKey;
|
||||
hp: number;
|
||||
maxHp: number;
|
||||
attack: number;
|
||||
@@ -41,8 +44,6 @@ export type BattleBond = {
|
||||
description: string;
|
||||
};
|
||||
|
||||
export type TerrainType = 'plain' | 'forest' | 'hill' | 'fort';
|
||||
|
||||
export type BattleMap = {
|
||||
width: number;
|
||||
height: number;
|
||||
@@ -140,18 +141,18 @@ export const firstBattleMap: BattleMap = {
|
||||
width: 12,
|
||||
height: 12,
|
||||
terrain: [
|
||||
['plain', 'plain', 'forest', 'forest', 'plain', 'plain', 'plain', 'hill', 'hill', 'plain', 'plain', 'plain'],
|
||||
['plain', 'forest', 'forest', 'plain', 'plain', 'plain', 'plain', 'plain', 'hill', 'plain', 'plain', 'plain'],
|
||||
['plain', 'forest', 'plain', 'plain', 'plain', 'plain', 'forest', 'plain', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'hill', 'hill', 'plain', 'forest', 'forest', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'hill', 'plain', 'plain', 'plain', 'forest', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'plain', 'plain', 'fort', 'plain', 'plain', 'plain', 'plain', 'forest', 'forest'],
|
||||
['plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'forest', 'plain'],
|
||||
['forest', 'forest', 'plain', 'plain', 'plain', 'plain', 'plain', 'hill', 'hill', 'plain', 'plain', 'plain'],
|
||||
['forest', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'hill', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'forest', 'forest', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'plain', 'forest', 'plain', 'plain', 'plain', 'plain', 'forest', 'forest', 'plain'],
|
||||
['plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'forest', 'plain']
|
||||
['plain', 'plain', 'forest', 'forest', 'plain', 'road', 'road', 'hill', 'hill', 'plain', 'plain', 'plain'],
|
||||
['plain', 'forest', 'forest', 'plain', 'plain', 'road', 'road', 'plain', 'hill', 'plain', 'plain', 'plain'],
|
||||
['plain', 'forest', 'plain', 'plain', 'plain', 'road', 'forest', 'plain', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'hill', 'hill', 'road', 'forest', 'forest', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'plain', 'plain', 'hill', 'plain', 'road', 'road', 'forest', 'plain', 'plain', 'fort', 'plain'],
|
||||
['plain', 'plain', 'plain', 'plain', 'plain', 'village', 'road', 'plain', 'plain', 'plain', 'forest', 'forest'],
|
||||
['plain', 'plain', 'plain', 'plain', 'plain', 'road', 'road', 'plain', 'plain', 'plain', 'forest', 'plain'],
|
||||
['forest', 'forest', 'plain', 'plain', 'plain', 'road', 'plain', 'hill', 'hill', 'plain', 'plain', 'plain'],
|
||||
['forest', 'plain', 'plain', 'plain', 'plain', 'road', 'plain', 'hill', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'camp', 'plain', 'forest', 'forest', 'road', 'road', 'plain', 'plain', 'plain', 'plain', 'plain'],
|
||||
['plain', 'camp', 'camp', 'plain', 'forest', 'plain', 'road', 'plain', 'plain', 'forest', 'forest', 'plain'],
|
||||
['plain', 'plain', 'plain', 'plain', 'plain', 'plain', 'road', 'road', 'plain', 'plain', 'forest', 'plain']
|
||||
]
|
||||
};
|
||||
|
||||
@@ -160,7 +161,8 @@ export const firstBattleUnits: UnitData[] = [
|
||||
id: 'liu-bei',
|
||||
name: '유비',
|
||||
faction: 'ally',
|
||||
className: '의병장',
|
||||
className: '군웅',
|
||||
classKey: 'lord',
|
||||
hp: 32,
|
||||
maxHp: 32,
|
||||
attack: 9,
|
||||
@@ -173,7 +175,8 @@ export const firstBattleUnits: UnitData[] = [
|
||||
id: 'guan-yu',
|
||||
name: '관우',
|
||||
faction: 'ally',
|
||||
className: '보병',
|
||||
className: '의용 보병',
|
||||
classKey: 'infantry',
|
||||
hp: 30,
|
||||
maxHp: 30,
|
||||
attack: 10,
|
||||
@@ -187,6 +190,7 @@ export const firstBattleUnits: UnitData[] = [
|
||||
name: '장비',
|
||||
faction: 'ally',
|
||||
className: '창병',
|
||||
classKey: 'spearman',
|
||||
hp: 30,
|
||||
maxHp: 30,
|
||||
attack: 10,
|
||||
@@ -199,7 +203,8 @@ export const firstBattleUnits: UnitData[] = [
|
||||
id: 'rebel-a',
|
||||
name: '황건병',
|
||||
faction: 'enemy',
|
||||
className: '도적',
|
||||
className: '황건병',
|
||||
classKey: 'yellowTurban',
|
||||
hp: 20,
|
||||
maxHp: 20,
|
||||
attack: 6,
|
||||
@@ -212,7 +217,8 @@ export const firstBattleUnits: UnitData[] = [
|
||||
id: 'rebel-b',
|
||||
name: '황건병',
|
||||
faction: 'enemy',
|
||||
className: '도적',
|
||||
className: '황건병',
|
||||
classKey: 'yellowTurban',
|
||||
hp: 20,
|
||||
maxHp: 20,
|
||||
attack: 6,
|
||||
@@ -226,6 +232,7 @@ export const firstBattleUnits: UnitData[] = [
|
||||
name: '황건궁병',
|
||||
faction: 'enemy',
|
||||
className: '궁병',
|
||||
classKey: 'archer',
|
||||
hp: 18,
|
||||
maxHp: 18,
|
||||
attack: 7,
|
||||
@@ -239,6 +246,7 @@ export const firstBattleUnits: UnitData[] = [
|
||||
name: '두령 한석',
|
||||
faction: 'enemy',
|
||||
className: '두령',
|
||||
classKey: 'rebelLeader',
|
||||
hp: 30,
|
||||
maxHp: 30,
|
||||
attack: 9,
|
||||
|
||||
Reference in New Issue
Block a user