Spaces:
Running
Running
全面繁體中文化
Browse files- js/data.js +65 -65
js/data.js
CHANGED
|
@@ -1,104 +1,104 @@
|
|
| 1 |
export const TERRAIN = {
|
| 2 |
-
plains: { label: '
|
| 3 |
-
forest: { label: '
|
| 4 |
-
mountain: { label: '
|
| 5 |
-
city: { label: '
|
| 6 |
};
|
| 7 |
|
| 8 |
export const RESOURCES = {
|
| 9 |
-
gold: { label: '
|
| 10 |
-
food: { label: '
|
| 11 |
-
wood: { label: '
|
| 12 |
-
stone: { label: '
|
| 13 |
};
|
| 14 |
|
| 15 |
export const BUILDINGS = {
|
| 16 |
walls: {
|
| 17 |
-
id: 'walls', label: '
|
| 18 |
cost: { wood: 10, stone: 15 },
|
| 19 |
-
effect: '+0.3
|
| 20 |
-
blurb: '
|
| 21 |
accent: '#9aa7b4',
|
| 22 |
},
|
| 23 |
barracks: {
|
| 24 |
-
id: 'barracks', label: '
|
| 25 |
cost: { wood: 8, stone: 5 },
|
| 26 |
-
effect: '
|
| 27 |
-
blurb: '
|
| 28 |
accent: '#c98a4b',
|
| 29 |
},
|
| 30 |
market: {
|
| 31 |
-
id: 'market', label: '
|
| 32 |
cost: { gold: 10, wood: 5, stone: 3 },
|
| 33 |
-
effect: '+2
|
| 34 |
-
blurb: '
|
| 35 |
accent: '#e0b34c',
|
| 36 |
},
|
| 37 |
};
|
| 38 |
|
| 39 |
export const PERSONALITY = {
|
| 40 |
-
aggressive: { label: '
|
| 41 |
-
defensive: { label: '
|
| 42 |
-
diplomatic: { label: '
|
| 43 |
-
mercantile: { label: '
|
| 44 |
};
|
| 45 |
|
| 46 |
const mainlandTerritories = [
|
| 47 |
-
{ id: 'frosthold', name: '
|
| 48 |
-
{ id: 'northkeep', name: '
|
| 49 |
-
{ id: 'iron_hills', name: '
|
| 50 |
-
{ id: 'whisperfen', name: '
|
| 51 |
-
{ id: 'greenwood', name: '
|
| 52 |
-
{ id: 'crossroads', name: '
|
| 53 |
-
{ id: 'desert_gate',name: '
|
| 54 |
-
{ id: 'silver_bay', name: '
|
| 55 |
-
{ id: 'stonehaven', name: '
|
| 56 |
-
{ id: 'ashlands', name: '
|
| 57 |
-
{ id: 'dragon_peak',name: '
|
| 58 |
-
{ id: 'sunfield', name: '
|
| 59 |
];
|
| 60 |
|
| 61 |
const mainlandFactions = [
|
| 62 |
-
{ id: 'iron_legion', name: '
|
| 63 |
-
{ id: 'green_pact', name: '
|
| 64 |
-
{ id: 'sand_empire', name: '
|
| 65 |
-
{ id: 'void_covenant', name: '
|
| 66 |
-
{ id: 'frost_wardens', name: '
|
| 67 |
-
{ id: 'crimson_horde', name: '
|
| 68 |
];
|
| 69 |
|
| 70 |
const archipelagoTerritories = [
|
| 71 |
-
{ id: 'coral_haven', name: '
|
| 72 |
-
{ id: 'tidecrest', name: '
|
| 73 |
-
{ id: 'whale_rock', name: '
|
| 74 |
-
{ id: 'stormwatch', name: '
|
| 75 |
-
{ id: 'pearl_shoals', name: '
|
| 76 |
-
{ id: 'ember_isle', name: '
|
| 77 |
-
{ id: 'driftwood', name: '
|
| 78 |
-
{ id: 'serpent_bay', name: '
|
| 79 |
-
{ id: 'obsidian_rock', name: '
|
| 80 |
-
{ id: 'kelp_forest', name: '
|
| 81 |
-
{ id: 'fog_marsh', name: '
|
| 82 |
-
{ id: 'skyspire', name: '
|
| 83 |
-
{ id: 'sunken_ruins', name: '
|
| 84 |
-
{ id: 'leviathan_cove',name: '
|
| 85 |
];
|
| 86 |
|
| 87 |
const archipelagoFactions = [
|
| 88 |
-
{ id: 'tide_lords', name: '
|
| 89 |
-
{ id: 'storm_kin', name: '
|
| 90 |
-
{ id: 'flame_brood', name: '
|
| 91 |
-
{ id: 'mist_walkers', name: '
|
| 92 |
-
{ id: 'deep_ones', name: '
|
| 93 |
-
{ id: 'wraith_fleet', name: '
|
| 94 |
];
|
| 95 |
|
| 96 |
export const MAPS = {
|
| 97 |
mainland: {
|
| 98 |
id: 'mainland',
|
| 99 |
-
name: '
|
| 100 |
-
kicker: '
|
| 101 |
-
description: '
|
| 102 |
territories: mainlandTerritories,
|
| 103 |
factions: mainlandFactions,
|
| 104 |
positions: {
|
|
@@ -112,9 +112,9 @@ export const MAPS = {
|
|
| 112 |
},
|
| 113 |
archipelago: {
|
| 114 |
id: 'archipelago',
|
| 115 |
-
name: '
|
| 116 |
-
kicker: '
|
| 117 |
-
description: '
|
| 118 |
territories: archipelagoTerritories,
|
| 119 |
factions: archipelagoFactions,
|
| 120 |
positions: {
|
|
|
|
| 1 |
export const TERRAIN = {
|
| 2 |
+
plains: { label: '平原', bonus: 1.0, glyph: 'plains' },
|
| 3 |
+
forest: { label: '森林', bonus: 1.2, glyph: 'forest' },
|
| 4 |
+
mountain: { label: '山地', bonus: 1.5, glyph: 'mountain' },
|
| 5 |
+
city: { label: '城市', bonus: 1.3, glyph: 'city' },
|
| 6 |
};
|
| 7 |
|
| 8 |
export const RESOURCES = {
|
| 9 |
+
gold: { label: '金幣', short: '金' },
|
| 10 |
+
food: { label: '糧食', short: '糧' },
|
| 11 |
+
wood: { label: '木材', short: '木' },
|
| 12 |
+
stone: { label: '石料', short: '石' },
|
| 13 |
};
|
| 14 |
|
| 15 |
export const BUILDINGS = {
|
| 16 |
walls: {
|
| 17 |
+
id: 'walls', label: '城牆', icon: '🧱', image: 'assets/images/walls.png',
|
| 18 |
cost: { wood: 10, stone: 15 },
|
| 19 |
+
effect: '+0.3 防禦加成',
|
| 20 |
+
blurb: '高聳的城垛與厚重石牆,讓守軍彷彿有大地為盾。',
|
| 21 |
accent: '#9aa7b4',
|
| 22 |
},
|
| 23 |
barracks: {
|
| 24 |
+
id: 'barracks', label: '兵營', icon: '🏛️', image: 'assets/images/barracks.png',
|
| 25 |
cost: { wood: 8, stone: 5 },
|
| 26 |
+
effect: '徵兵金幣成本降至 2',
|
| 27 |
+
blurb: '操練場、軍械庫與老練士官,讓新兵更容易成軍。',
|
| 28 |
accent: '#c98a4b',
|
| 29 |
},
|
| 30 |
market: {
|
| 31 |
+
id: 'market', label: '市場', icon: '🏪', image: 'assets/images/market.png',
|
| 32 |
cost: { gold: 10, wood: 5, stone: 3 },
|
| 33 |
+
effect: '每回合 +2 金幣收入',
|
| 34 |
+
blurb: '商人、商隊與喧鬧的市集,讓金幣穩定流入國庫。',
|
| 35 |
accent: '#e0b34c',
|
| 36 |
},
|
| 37 |
};
|
| 38 |
|
| 39 |
export const PERSONALITY = {
|
| 40 |
+
aggressive: { label: '侵略', blurb: '先發制人,極少讓步。' },
|
| 41 |
+
defensive: { label: '防禦', blurb: '堅守防線,珍視和平。' },
|
| 42 |
+
diplomatic: { label: '外交', blurb: '願意結盟與貿易。' },
|
| 43 |
+
mercantile: { label: '商業', blurb: '利潤先於征服。' },
|
| 44 |
};
|
| 45 |
|
| 46 |
const mainlandTerritories = [
|
| 47 |
+
{ id: 'frosthold', name: '霜堡', type: 'mountain', owner: 'frost_wardens', armies: 3, resources: { gold: 1, food: 3, wood: 2, stone: 5 }, adjacentTo: ['northkeep', 'whisperfen'] },
|
| 48 |
+
{ id: 'northkeep', name: '北境城', type: 'city', owner: 'iron_legion', armies: 3, resources: { gold: 4, food: 4, wood: 1, stone: 2 }, adjacentTo: ['frosthold', 'iron_hills', 'greenwood'] },
|
| 49 |
+
{ id: 'iron_hills', name: '鐵丘', type: 'mountain', owner: 'iron_legion', armies: 2, resources: { gold: 2, food: 3, wood: 0, stone: 4 }, adjacentTo: ['northkeep', 'crossroads'] },
|
| 50 |
+
{ id: 'whisperfen', name: '低語沼', type: 'forest', owner: 'frost_wardens', armies: 2, resources: { gold: 1, food: 3, wood: 4, stone: 0 }, adjacentTo: ['frosthold', 'greenwood'] },
|
| 51 |
+
{ id: 'greenwood', name: '翠林', type: 'forest', owner: 'green_pact', armies: 2, resources: { gold: 1, food: 3, wood: 4, stone: 0 }, adjacentTo: ['northkeep', 'whisperfen', 'crossroads', 'silver_bay'] },
|
| 52 |
+
{ id: 'crossroads', name: '十字路口', type: 'plains', owner: null, armies: 0, resources: { gold: 2, food: 2, wood: 1, stone: 1 }, adjacentTo: ['iron_hills', 'greenwood', 'desert_gate', 'stonehaven'] },
|
| 53 |
+
{ id: 'desert_gate',name: '沙門', type: 'plains', owner: 'sand_empire', armies: 2, resources: { gold: 3, food: 3, wood: 0, stone: 2 }, adjacentTo: ['crossroads', 'ashlands'] },
|
| 54 |
+
{ id: 'silver_bay', name: '銀灣', type: 'city', owner: 'green_pact', armies: 3, resources: { gold: 5, food: 2, wood: 1, stone: 1 }, adjacentTo: ['greenwood', 'stonehaven'] },
|
| 55 |
+
{ id: 'stonehaven', name: '石港', type: 'mountain', owner: 'sand_empire', armies: 2, resources: { gold: 2, food: 3, wood: 0, stone: 5 }, adjacentTo: ['crossroads', 'silver_bay', 'dragon_peak', 'ashlands'] },
|
| 56 |
+
{ id: 'ashlands', name: '灰燼原', type: 'plains', owner: 'crimson_horde', armies: 3, resources: { gold: 2, food: 4, wood: 1, stone: 3 }, adjacentTo: ['desert_gate', 'stonehaven'] },
|
| 57 |
+
{ id: 'dragon_peak',name: '龍峰', type: 'mountain', owner: 'void_covenant', armies: 4, resources: { gold: 1, food: 2, wood: 0, stone: 6 }, adjacentTo: ['stonehaven', 'sunfield'] },
|
| 58 |
+
{ id: 'sunfield', name: '日野', type: 'plains', owner: 'void_covenant', armies: 2, resources: { gold: 3, food: 4, wood: 1, stone: 0 }, adjacentTo: ['dragon_peak'] },
|
| 59 |
];
|
| 60 |
|
| 61 |
const mainlandFactions = [
|
| 62 |
+
{ id: 'iron_legion', name: '鐵軍團', personality: 'aggressive', color: '#d24b4b', crest: 'legion', territories: ['northkeep', 'iron_hills'], gold: 20, food: 10, wood: 5, stone: 15, blurb: '北方鑄造廠鍛出的紀律之師。' },
|
| 63 |
+
{ id: 'green_pact', name: '翠盟', personality: 'defensive', color: '#5fae72', crest: 'leaf', territories: ['greenwood', 'silver_bay'], gold: 15, food: 20, wood: 25, stone: 5, blurb: '古老森林與銀色港灣的守望者。' },
|
| 64 |
+
{ id: 'sand_empire', name: '沙帝國', personality: 'mercantile', color: '#e0b34c', crest: 'sun', territories: ['desert_gate', 'stonehaven'], gold: 30, food: 8, wood: 2, stone: 10, blurb: '逐一買下綠洲的商���領主。' },
|
| 65 |
+
{ id: 'void_covenant', name: '虛空議會', personality: 'diplomatic', color: '#a77bd6', crest: 'eye', territories: ['dragon_peak', 'sunfield'], gold: 10, food: 5, wood: 2, stone: 20, blurb: '言語帶有非自然份量的山中祕法師。' },
|
| 66 |
+
{ id: 'frost_wardens', name: '霜衛', personality: 'defensive', color: '#6fb7d9', crest: 'snow', territories: ['frosthold', 'whisperfen'], gold: 10, food: 12, wood: 15, stone: 18, blurb: '凍土高原上沉默的哨兵。' },
|
| 67 |
+
{ id: 'crimson_horde', name: '赤紅部落', personality: 'aggressive', color: '#e2663f', crest: 'fang', territories: ['ashlands'], gold: 15, food: 10, wood: 5, stone: 12, blurb: '專撿灰燼未燒盡之物的悍匪。' },
|
| 68 |
];
|
| 69 |
|
| 70 |
const archipelagoTerritories = [
|
| 71 |
+
{ id: 'coral_haven', name: '珊瑚港', type: 'city', owner: 'tide_lords', armies: 3, resources: { gold: 5, food: 3, wood: 1, stone: 1 }, adjacentTo: ['tidecrest', 'stormwatch'] },
|
| 72 |
+
{ id: 'tidecrest', name: '潮冠', type: 'plains', owner: 'tide_lords', armies: 2, resources: { gold: 2, food: 3, wood: 2, stone: 1 }, adjacentTo: ['coral_haven', 'pearl_shoals', 'whale_rock'] },
|
| 73 |
+
{ id: 'whale_rock', name: '鯨岩', type: 'mountain', owner: 'deep_ones', armies: 3, resources: { gold: 2, food: 2, wood: 0, stone: 4 }, adjacentTo: ['tidecrest'] },
|
| 74 |
+
{ id: 'stormwatch', name: '風暴哨', type: 'mountain', owner: 'storm_kin', armies: 3, resources: { gold: 1, food: 3, wood: 0, stone: 5 }, adjacentTo: ['coral_haven', 'pearl_shoals', 'driftwood'] },
|
| 75 |
+
{ id: 'pearl_shoals', name: '珍珠淺灘', type: 'plains', owner: null, armies: 0, resources: { gold: 3, food: 2, wood: 1, stone: 1 }, adjacentTo: ['tidecrest', 'stormwatch', 'ember_isle', 'serpent_bay'] },
|
| 76 |
+
{ id: 'ember_isle', name: '餘燼島', type: 'mountain', owner: 'flame_brood', armies: 3, resources: { gold: 2, food: 3, wood: 0, stone: 6 }, adjacentTo: ['pearl_shoals', 'obsidian_rock'] },
|
| 77 |
+
{ id: 'driftwood', name: '漂流木', type: 'forest', owner: 'storm_kin', armies: 2, resources: { gold: 1, food: 2, wood: 5, stone: 0 }, adjacentTo: ['stormwatch', 'kelp_forest'] },
|
| 78 |
+
{ id: 'serpent_bay', name: '蛇灣', type: 'city', owner: null, armies: 0, resources: { gold: 4, food: 2, wood: 1, stone: 2 }, adjacentTo: ['pearl_shoals', 'obsidian_rock', 'fog_marsh'] },
|
| 79 |
+
{ id: 'obsidian_rock', name: '黑曜岩', type: 'mountain', owner: 'flame_brood', armies: 2, resources: { gold: 1, food: 3, wood: 0, stone: 5 }, adjacentTo: ['ember_isle', 'serpent_bay', 'skyspire'] },
|
| 80 |
+
{ id: 'kelp_forest', name: '海藻林', type: 'forest', owner: 'deep_ones', armies: 2, resources: { gold: 1, food: 4, wood: 3, stone: 0 }, adjacentTo: ['driftwood'] },
|
| 81 |
+
{ id: 'fog_marsh', name: '霧沼', type: 'forest', owner: 'mist_walkers', armies: 3, resources: { gold: 2, food: 4, wood: 3, stone: 0 }, adjacentTo: ['serpent_bay', 'skyspire', 'sunken_ruins'] },
|
| 82 |
+
{ id: 'skyspire', name: '天尖塔', type: 'mountain', owner: 'mist_walkers', armies: 2, resources: { gold: 3, food: 3, wood: 0, stone: 4 }, adjacentTo: ['obsidian_rock', 'fog_marsh'] },
|
| 83 |
+
{ id: 'sunken_ruins', name: '沉沒遺跡', type: 'city', owner: 'wraith_fleet', armies: 3, resources: { gold: 4, food: 3, wood: 1, stone: 3 }, adjacentTo: ['fog_marsh', 'leviathan_cove'] },
|
| 84 |
+
{ id: 'leviathan_cove',name: '巨獸灣', type: 'plains', owner: 'wraith_fleet', armies: 2, resources: { gold: 2, food: 3, wood: 2, stone: 1 }, adjacentTo: ['sunken_ruins'] },
|
| 85 |
];
|
| 86 |
|
| 87 |
const archipelagoFactions = [
|
| 88 |
+
{ id: 'tide_lords', name: '潮汐領主', personality: 'mercantile', color: '#59c2d6', crest: 'wave', territories: ['coral_haven', 'tidecrest'], gold: 25, food: 15, wood: 8, stone: 5, blurb: '艦隊控制每道海峽的商業親王。' },
|
| 89 |
+
{ id: 'storm_kin', name: '風暴氏族', personality: 'aggressive', color: '#5c86d6', crest: 'bolt', territories: ['stormwatch', 'driftwood'], gold: 15, food: 10, wood: 20, stone: 15, blurb: '崇拜雷電的迎風崖掠奪者。' },
|
| 90 |
+
{ id: 'flame_brood', name: '烈焰裔', personality: 'aggressive', color: '#e2583e', crest: 'flame', territories: ['ember_isle', 'obsidian_rock'], gold: 12, food: 5, wood: 2, stone: 25, blurb: '從火山群島孵化的龍裔。' },
|
| 91 |
+
{ id: 'mist_walkers', name: '霧行者', personality: 'diplomatic', color: '#b07bd6', crest: 'mist', territories: ['fog_marsh', 'skyspire'], gold: 18, food: 12, wood: 10, stone: 10, blurb: '在霧中交易祕密的蒙面使節。' },
|
| 92 |
+
{ id: 'deep_ones', name: '深海者', personality: 'defensive', color: '#54a878', crest: 'scale', territories: ['whale_rock', 'kelp_forest'], gold: 12, food: 15, wood: 12, stone: 12, blurb: '沉沒森林的古老守護者。' },
|
| 93 |
+
{ id: 'wraith_fleet', name: '幽靈艦隊', personality: 'aggressive', color: '#d8c56a', crest: 'skull', territories: ['sunken_ruins', 'leviathan_cove'], gold: 20, food: 10, wood: 8, stone: 10, blurb: '自廢墟之城駛出的鬼船。' },
|
| 94 |
];
|
| 95 |
|
| 96 |
export const MAPS = {
|
| 97 |
mainland: {
|
| 98 |
id: 'mainland',
|
| 99 |
+
name: '大陸王座',
|
| 100 |
+
kicker: '經典大陸爭霸',
|
| 101 |
+
description: '十二行省、六位強敵、一座王座。開闊邊界與漫長補給線,獎勵大膽的征服者。',
|
| 102 |
territories: mainlandTerritories,
|
| 103 |
factions: mainlandFactions,
|
| 104 |
positions: {
|
|
|
|
| 112 |
},
|
| 113 |
archipelago: {
|
| 114 |
id: 'archipelago',
|
| 115 |
+
name: '破碎群島',
|
| 116 |
+
kicker: '島鏈與咽喉要道',
|
| 117 |
+
description: '十四座島嶼散布在狂暴海域。你掌握的每道海峽,都是抵在對手喉嚨上的刀。',
|
| 118 |
territories: archipelagoTerritories,
|
| 119 |
factions: archipelagoFactions,
|
| 120 |
positions: {
|