feat: 新增NPC与外交逻辑,优化UI组件结构

重构并精简了部分UI组件,移除冗余弹窗与详情组件,新增NPC相关逻辑(npcBehaviorLogic、npcGrowthLogic、npcStore等)及外交逻辑(diplomaticLogic、DiplomacyView)。完善分页、标签、复选框等通用UI组件。优化战报弹窗,调整README下载链接为相对路径,修复部分国际化内容。
This commit is contained in:
谦君
2025-12-15 08:23:45 +08:00
parent 44580909a3
commit 9b9fda0400
164 changed files with 18628 additions and 2775 deletions

View File

@@ -62,6 +62,7 @@ export default {
officers: '军官',
simulator: '模拟',
galaxy: '星系',
diplomacy: '外交',
messages: '消息',
settings: '设置',
gm: 'GM'
@@ -78,7 +79,7 @@ export default {
crystal: '晶体',
deuterium: '重氢',
darkMatter: '暗物质',
energy: '能量',
energy: '电力',
production: '产量',
consumption: '消耗',
capacity: '容量',
@@ -87,7 +88,7 @@ export default {
perHour: '小时',
perMinute: '分钟',
hour: '小时',
noEnergy: '能量不足'
noEnergy: '电力不足'
},
planet: {
planet: '星球',
@@ -97,6 +98,8 @@ export default {
coordinates: '坐标',
switchToMoon: '查看月球',
backToPlanet: '返回母星',
switchPlanet: '切换星球',
currentPlanet: '当前星球',
fields: '场地',
temperature: '温度',
homePlanet: '母星',
@@ -112,6 +115,7 @@ export default {
crystalMine: '晶体矿',
deuteriumSynthesizer: '重氢合成器',
solarPlant: '太阳能电站',
fusionReactor: '核聚变反应堆',
roboticsFactory: '机器人工厂',
naniteFactory: '纳米工厂',
shipyard: '船坞',
@@ -120,6 +124,8 @@ export default {
crystalStorage: '晶体仓库',
deuteriumTank: '重氢罐',
darkMatterCollector: '暗物质收集器',
darkMatterTank: '暗物质储罐',
missileSilo: '导弹发射井',
terraformer: '地形改造器',
lunarBase: '月球基地',
sensorPhalanx: '传感器阵列',
@@ -130,13 +136,24 @@ export default {
consumption: '消耗',
totalCost: '累积成本',
totalPoints: '累积积分',
levelRange: '等级范围'
levelRange: '等级范围',
storageCapacity: '容量',
energyProduction: '电力产出',
fleetStorage: '舰队仓储',
buildQueueBonus: '建造队列',
spaceBonus: '空间加成',
buildSpeedBonus: '建造速度加成',
researchSpeedBonus: '研究速度加成',
missileCapacity: '导弹容量'
},
buildingDescriptions: {
metalMine: '开采金属资源',
crystalMine: '开采晶体资源',
deuteriumSynthesizer: '合成重氢资源',
solarPlant: '提供能源',
fusionReactor: '使用重氢产生大量能源',
roboticsFactory: '加快建造速度',
naniteFactory: '增加建造队列数量,每级+1队列最多10级',
shipyard: '建造舰船',
@@ -145,6 +162,8 @@ export default {
crystalStorage: '增加晶体存储上限',
deuteriumTank: '增加重氢存储上限',
darkMatterCollector: '收集稀有的暗物质资源',
darkMatterTank: '增加暗物质存储上限',
missileSilo: '存储和发射导弹每级可存储10枚导弹',
terraformer: '改造行星地形每级增加5个可用空间',
lunarBase: '增加月球可用空间,每级+5空间',
sensorPhalanx: '侦测周围星系的舰队活动',
@@ -156,11 +175,15 @@ export default {
heavyFighter: '重型战斗机',
cruiser: '巡洋舰',
battleship: '战列舰',
battlecruiser: '战列巡洋舰',
bomber: '轰炸机',
destroyer: '驱逐舰',
smallCargo: '小型运输船',
largeCargo: '大型运输船',
colonyShip: '殖民船',
recycler: '回收船',
espionageProbe: '间谍探测器',
solarSatellite: '太阳能卫星',
darkMatterHarvester: '暗物质采集船',
deathstar: '死星'
},
@@ -169,11 +192,15 @@ export default {
heavyFighter: '重装战斗机',
cruiser: '中型战舰,攻守平衡',
battleship: '强力战舰',
battlecruiser: '快速强大的战斗舰船,擅长攻击战列舰',
bomber: '专门对付防御设施的轰炸舰',
destroyer: '擅长摧毁大型舰船的猎杀者',
smallCargo: '运输少量资源',
largeCargo: '运输大量资源',
colonyShip: '用于殖民新星球',
recycler: '收集残骸场资源',
espionageProbe: '侦察敌方星球',
solarSatellite: '提供额外能源每个产生50点电力',
darkMatterHarvester: '专门用于采集暗物质的特殊飞船',
deathstar: '终极武器,能够摧毁整个行星'
},
@@ -186,24 +213,38 @@ export default {
plasmaTurret: '等离子炮塔',
smallShieldDome: '小型护盾罩',
largeShieldDome: '大型护盾罩',
antiBallisticMissile: '反弹道导弹',
interplanetaryMissile: '星际导弹',
planetaryShield: '行星护盾'
},
defenseDescriptions: {
rocketLauncher: '基础防御设施',
lightLaser: '轻型能量武器',
heavyLaser: '重型能量武器',
lightLaser: '轻型电力武器',
heavyLaser: '重型电力武器',
gaussCannon: '高速动能武器',
ionCannon: '破坏护盾的利器',
plasmaTurret: '强力防御设施',
smallShieldDome: '保护整个星球的小型护盾',
largeShieldDome: '保护整个星球的大型护盾',
antiBallisticMissile: '拦截敌方导弹每个可拦截1枚星际导弹',
interplanetaryMissile: '可以攻击其他星球的防御设施',
planetaryShield: '保护行星免受毁灭攻击的超级护盾'
},
research: {
researchTime: '研究时间',
totalCost: '累积成本',
totalPoints: '累积积分',
levelRange: '等级范围'
levelRange: '等级范围',
attackBonus: '攻击加成',
shieldBonus: '护盾加成',
armorBonus: '装甲加成',
spyLevel: '侦查等级',
researchQueueBonus: '研究队列',
colonySlots: '殖民地槽位',
forAllPlanets: '(全局)',
speedBonus: '速度加成',
researchSpeedBonus: '研究速度加成'
},
technologies: {
energyTechnology: '能源技术',
@@ -212,6 +253,12 @@ export default {
hyperspaceTechnology: '超空间技术',
plasmaTechnology: '等离子技术',
computerTechnology: '计算机技术',
espionageTechnology: '间谍技术',
weaponsTechnology: '武器技术',
shieldingTechnology: '护盾技术',
armourTechnology: '装甲技术',
astrophysics: '天体物理学',
gravitonTechnology: '引力技术',
combustionDrive: '燃烧引擎',
impulseDrive: '脉冲引擎',
hyperspaceDrive: '超空间引擎',
@@ -226,6 +273,12 @@ export default {
hyperspaceTechnology: '超空间跳跃技术',
plasmaTechnology: '等离子武器技术',
computerTechnology: '增加研究队列数量,每级+1队列最多10级',
espionageTechnology: '提高间谍探测效果每级提高1级侦查深度',
weaponsTechnology: '提高舰船和防御的攻击力,每级+10%',
shieldingTechnology: '提高舰船和防御的护盾值,每级+10%',
armourTechnology: '提高舰船和防御的装甲值,每级+10%',
astrophysics: '每级增加1个殖民地槽位增加探险成功率',
gravitonTechnology: '研究引力操纵,死星的必要技术',
combustionDrive: '基础推进技术',
impulseDrive: '中级推进技术',
hyperspaceDrive: '高级推进技术',
@@ -242,7 +295,7 @@ export default {
darkMatterSpecialist: '暗物质专家',
resourceBonus: '资源产量加成',
darkMatterBonus: '暗物质产量加成',
energyBonus: '能量产量加成'
energyBonus: '电力产量加成'
},
officerDescriptions: {
commander: '提升建筑速度和管理能力',
@@ -253,8 +306,9 @@ export default {
darkMatterSpecialist: '提升暗物质采集效率'
},
queue: {
buildQueue: '建造队列',
researchQueue: '研究队列',
buildQueueBonus: '建造队列',
spaceBonus: '空间加成',
researchQueueBonus: '研究队列',
building: '建造中',
researching: '研究中',
remaining: '剩余时间',
@@ -273,11 +327,11 @@ export default {
currentShips: '当前星球的舰船数量',
productionSources: '资源获取来源',
productionSourcesDesc: '详细的资源产量及加成信息',
consumptionSources: '能量消耗来源',
consumptionSourcesDesc: '各建筑的能量消耗详情',
consumptionSources: '电力消耗来源',
consumptionSourcesDesc: '各建筑的电力消耗详情',
totalProduction: '总产量',
totalConsumption: '总消耗',
noConsumption: '当前无能量消耗'
noConsumption: '当前无电力消耗'
},
buildingsView: {
title: '建筑',
@@ -294,7 +348,9 @@ export default {
demolish: '拆除',
demolishRefund: '拆除返还',
demolishFailed: '拆除失败',
demolishFailedMessage: '无法拆除该建筑请检查建造队列是否已满或建筑等级是否为0。'
demolishFailedMessage: '无法拆除该建筑请检查建造队列是否已满或建筑等级是否为0。',
confirmDemolish: '确认拆除',
confirmDemolishMessage: '确定要拆除'
},
researchView: {
title: '研究',
@@ -416,7 +472,10 @@ export default {
cargoExceedsCapacity: '载货量超出限制',
noColonyShip: '需要殖民船才能执行殖民任务',
noDebrisAtTarget: '目标坐标没有残骸场或残骸场已空',
noDeathstar: '需要死星才能执行毁灭任务'
noDeathstar: '需要死星才能执行毁灭任务',
giftMode: '赠送模式',
giftModeDescription: '将资源作为礼物赠送给',
estimatedReputationGain: '预计好感度增加'
},
officersView: {
title: '军官',
@@ -461,6 +520,9 @@ export default {
selectSystem: '选择星系',
view: '查看',
myPlanet: '我的星球',
myPlanets: '我的星球',
npcPlanets: 'NPC星球',
selectPlanetToView: '选择要查看的星球',
totalPositions: '共10个星球位置',
mine: '我的',
hostile: '敌对',
@@ -470,20 +532,25 @@ export default {
colonize: '殖民',
switch: '切换',
recycle: '回收',
sendGift: '赠送礼物',
debris: '残骸',
debrisField: '残骸场',
scoutPlanetTitle: '侦察星球',
attackPlanetTitle: '攻击星球',
colonizePlanetTitle: '殖民星球',
recyclePlanetTitle: '回收残骸',
giftPlanetTitle: '赠送礼物',
scoutPlanetMessage: '确定要派遣间谍探测器侦察星球 [{coordinates}] 吗?\n\n请前往舰队页面选择舰船并派遣。',
attackPlanetMessage: '确定要攻击星球 [{coordinates}] 吗?\n\n请前往舰队页面选择舰船并派遣。',
colonizePlanetMessage: '确定要殖民位置 [{coordinates}] 吗?\n\n请前往舰队页面派遣殖民船。',
recyclePlanetMessage: '确定要回收位置 [{coordinates}] 的残骸吗?\n\n请前往舰队页面派遣回收船。'
recyclePlanetMessage: '确定要回收位置 [{coordinates}] 的残骸吗?\n\n请前往舰队页面派遣回收船。',
giftPlanetMessage: '确定要向星球 [{coordinates}] 赠送资源吗?\n\n请前往舰队页面选择运输船并装载资源。'
},
messagesView: {
title: '消息中心',
battles: '战斗',
spy: '侦查',
npc: 'NPC',
battleReports: '战斗报告',
spyReports: '间谍报告',
noBattleReports: '暂无战斗报告',
@@ -514,7 +581,48 @@ export default {
hideRoundDetails: '隐藏回合详情',
round: '第{round}回合',
attackerRemainingPower: '攻击方剩余火力',
defenderRemainingPower: '防守方剩余火力'
defenderRemainingPower: '防守方剩余火力',
spied: '被侦查',
spiedNotification: '被侦查通知',
noSpiedNotifications: '暂无被侦查通知',
detected: '已发现',
undetected: '未发现',
missions: '任务',
noMissionReports: '暂无任务报告',
success: '成功',
failed: '失败',
npcActivity: 'NPC活动',
noNPCActivity: '暂无NPC活动通知',
npcRecycleActivity: 'NPC回收残骸',
gifts: '礼物',
giftRejected: '被拒绝',
noGiftNotifications: '暂无礼物通知',
noGiftRejected: '暂无拒绝记录',
giftFrom: '{npcName}的礼物',
giftRejectedBy: '{npcName}拒绝了礼物',
giftResources: '礼物资源',
rejectedResources: '被拒绝的资源',
expectedReputation: '预计好感度',
currentReputation: '当前好感度',
acceptGift: '接受',
rejectGift: '拒绝',
rejectionReason: {
hostile: '对方对你有敌意,不接受礼物',
neutral_distrust: '对方对你缺乏信任',
polite_decline: '对方礼貌地拒绝了'
}
},
missionReports: {
transportSuccess: '运输任务成功完成',
transportFailed: '运输任务失败',
colonizeSuccess: '殖民任务成功,新星球已建立',
colonizeFailed: '殖民任务失败',
deploySuccess: '部署任务成功完成',
deployFailed: '部署任务失败',
recycleSuccess: '回收任务成功完成',
recycleFailed: '回收任务失败,目标位置没有残骸',
destroySuccess: '行星毁灭任务成功执行',
destroyFailed: '行星毁灭任务失败'
},
simulatorView: {
title: '战斗模拟器',
@@ -616,9 +724,82 @@ export default {
modifyOfficers: '修改军官',
officersDesc: '快速设置军官到期时间',
days: '天',
npcTesting: 'NPC 测试',
npcTestingDesc: '测试NPC侦查和攻击行为',
selectNPC: '选择NPC',
chooseNPC: '选择一个NPC',
targetPlanet: '目标星球',
chooseTarget: '选择目标星球',
testSpy: '测试侦查',
testAttack: '测试攻击',
testSpyAndAttack: '测试侦查&攻击',
initializeFleet: '初始化NPC舰队',
accelerateMissions: '加速所有任务(5秒)',
selectNPCFirst: '请先选择一个NPC',
npcNoProbes: 'NPC没有间谍探测器',
npcNoSpyReport: 'NPC需要先侦查',
npcMissionFailed: '创建任务失败',
dangerZone: '危险区域',
dangerZoneDesc: '以下操作不可撤销,请谨慎操作',
resetGame: '重置游戏',
resetGameConfirm: '确定要重置游戏吗?这将删除所有数据!'
},
alerts: {
npcSpyIncoming: 'NPC侦查即将到达',
npcAttackIncoming: 'NPC舰队来袭',
npcFleetIncoming: 'NPC舰队接近',
ships: '艘舰船',
spiedBy: '被侦查',
attackedBy: '被攻击',
detectionSuccess: '侦查被发现',
detectionFailed: '侦查未被发现',
npcSpiedYourPlanet: 'NPC侦查了你的星球',
npcAttackedYourPlanet: 'NPC攻击了你的星球'
},
diplomacy: {
title: '外交',
description: '管理与NPC的外交关系',
tabs: {
all: '全部',
friendly: '友好',
neutral: '中立',
hostile: '敌对'
},
noNpcs: '暂无NPC',
noFriendlyNpcs: '暂无友好NPC',
noNeutralNpcs: '暂无中立NPC',
noHostileNpcs: '暂无敌对NPC',
recentEvents: '最近事件',
recentEventsDescription: '最近的外交活动记录',
ago: '前',
status: {
friendly: '友好',
neutral: '中立',
hostile: '敌对'
},
planets: '个星球',
allies: '个盟友',
reputation: '好感度',
alliedWith: '盟友',
more: '更多',
actions: {
gift: '赠送资源',
viewPlanets: '查看星球'
},
lastEvent: '最近活动',
events: {
gift: '赠送资源',
attack: '攻击',
allyAttacked: '攻击盟友',
spy: '侦查',
stealDebris: '抢夺残骸'
}
},
pagination: {
previous: '上一页',
next: '下一页',
first: '首页',
last: '末页',
page: '第 {page} 页'
}
}