diff --git a/core/assets-raw/sprites/ui/button-side-left-down.9.png b/core/assets-raw/sprites/ui/button-side-left-down.9.png new file mode 100644 index 0000000000..77135c13a7 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-left-down.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-left-over.9.png b/core/assets-raw/sprites/ui/button-side-left-over.9.png new file mode 100644 index 0000000000..344289a29f Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-left-over.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-left.9.png b/core/assets-raw/sprites/ui/button-side-left.9.png new file mode 100644 index 0000000000..7b59f1d3b2 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-left.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-right-down.9.png b/core/assets-raw/sprites/ui/button-side-right-down.9.png new file mode 100644 index 0000000000..aa34b5e53f Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-right-down.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-right-over.9.png b/core/assets-raw/sprites/ui/button-side-right-over.9.png new file mode 100644 index 0000000000..dad0de712e Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-right-over.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-right.9.png b/core/assets-raw/sprites/ui/button-side-right.9.png new file mode 100644 index 0000000000..32123ba7d9 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-right.9.png differ diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index a2711108c1..549a4446fd 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -365,7 +365,7 @@ map.publish.confirm = 确定上传此地图?\n\n[lightgray]确定您同意Stea workshop.menu = 选择要对此项目进行的操作。 workshop.info = 项目信息 changelog = 更新日志(可选): -updatedesc = 重写标题和描述 +updatedesc = 覆盖标题和描述 eula = Steam最终用户许可协议 missing = 此项目已被删除或转移。 \n[lightgray]链接已在创意工坊中被删除。 publishing = [accent]正在发布… @@ -387,10 +387,10 @@ editor.description = 描述: editor.nodescription = 地图需要至少4个字符的描述才能发布。 editor.waves = 波次 editor.rules = 规则 -editor.generation = 地形生成器 -editor.objectives = 任务 +editor.generation = 生成 +editor.objectives = 目标 editor.ingame = 游戏内编辑 -editor.playtest = 试玩 +editor.playtest = 游戏内测试 editor.publish.workshop = 上传到创意工坊 editor.newmap = 新地图 editor.center = 居中 @@ -401,8 +401,8 @@ editor.filters.type = 地图类型: editor.filters.search = 在特定关键词中进行搜索: editor.filters.author = 作者 editor.filters.description = 描述 -editor.shiftx = 平移 X 轴坐标 -editor.shifty = 平移 Y 轴坐标 +editor.shiftx = x轴平移 +editor.shifty = y轴平移 workshop = 创意工坊 waves.title = 波次 waves.remove = 移除 @@ -455,12 +455,12 @@ editor.errorheader = 此地图文件无效或已损坏。 editor.errorname = 地图没有定义名称。 加载的可能是存档文件? editor.update = 更新 editor.randomize = 重新生成 -editor.moveup = Move Up -editor.movedown = Move Down -editor.copy = Copy +editor.moveup = 上移 +editor.movedown = 下移 +editor.copy = 复制 editor.apply = 应用 editor.generate = 自动生成 -editor.sectorgenerate = 区块生成 +editor.sectorgenerate = 生成区块 editor.resize = 改变尺寸 editor.loadmap = 载入地图 editor.savemap = 保存地图 @@ -504,8 +504,8 @@ toolmode.fillteams = 填充队伍 toolmode.fillteams.description = 不再填充方块,而是填充队伍颜色。 toolmode.drawteams = 绘制队伍 toolmode.drawteams.description = 不再绘制方块,而是绘制队伍颜色。 -toolmode.underliquid = 液体下绘制 -toolmode.underliquid.description = 在液体下方绘制地板 +toolmode.underliquid = 水下地形 +toolmode.underliquid.description = 绘制位于液体下的地形 filters.empty = [lightgray]未创建生成器!用下方的按钮来创建。 @@ -569,7 +569,7 @@ editor = 地图编辑器 mapeditor = 地图编辑器 abandon = 放弃 -abandon.text = 这个区块及其资源会落入敌人之手。 +abandon.text = 这个区块及其资源将会落入敌手。 locked = 锁定 complete = [lightgray]解锁条件: requirement.wave = 在{1}坚持到第{0}波 @@ -584,43 +584,44 @@ research.multiplayer = 只有服务器创建者能研究科技。 map.multiplayer = 只有服务器创建者能查看区块。 uncover = 已解锁 configure = 设定装运的物资 -objective.research.name = Research -objective.produce.name = Obtain -objective.item.name = Obtain Item -objective.coreitem.name = Core Item -objective.buildcount.name = Build Count -objective.unitcount.name = Unit Count -objective.destroyunits.name = Destroy Units -objective.timer.name = Timer -objective.destroyblock.name = Destroy Block -objective.destroyblocks.name = Destroy Blocks -objective.destroycore.name = Destroy Core -objective.commandmode.name = Command Mode -objective.flag.name = Flag -marker.shapetext.name = Shape Text -marker.minimap.name = Minimap -marker.shape.name = Shape -marker.text.name = Text -marker.background = Background -marker.outline = Outline -objective.research = [accent]研究任务:\n[]{0}[lightgray]{1} -objective.produce = [accent]生产任务:\n[]{0}[lightgray]{1} -objective.destroyblock = [accent]摧毁任务:\n[]{0}[lightgray]{1} -objective.destroyblocks = [accent]摧毁任务: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} -objective.item = [accent]生产任务: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} -objective.coreitem = [accent]移至核心任务:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} -objective.build = [accent]建造任务: [][lightgray]{0}[]x\n{1}[lightgray]{2} -objective.buildunit = [accent]建造单位任务: [][lightgray]{0}[]x\n{1}[lightgray]{2} -objective.destroyunits = [accent]摧毁单位任务: [][lightgray]{0}[]x Units -objective.enemiesapproaching = [accent]敌人将至: [lightgray]{0}[] + +objective.research.name = 研究 +objective.produce.name = 获取 +objective.item.name = 获取物品 +objective.coreitem.name = 核心物品 +objective.buildcount.name = 建造数量 +objective.unitcount.name = 单位数量 +objective.destroyunits.name = 摧毁单位 +objective.timer.name = 计时器 +objective.destroyblock.name = 摧毁建筑 +objective.destroyblocks.name = 摧毁建筑 +objective.destroycore.name = 摧毁核心 +objective.commandmode.name = 指挥模式 +objective.flag.name = 标签 +marker.shapetext.name = 带形状文本 +marker.minimap.name = 小地图 +marker.shape.name = 形状 +marker.text.name = 文本 +marker.background = 背景 +marker.outline = 轮廓 +objective.research = [accent]研究:\n[]{0}[lightgray]{1} +objective.produce = [accent]生产:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]摧毁:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]摧毁:[lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]获得:[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]移动至核心:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]建造:[][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]建造单位:[][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]摧毁单位:[][lightgray]{0}[]x +objective.enemiesapproaching = [accent]敌人来袭:[lightgray]{0}[] objective.destroycore = [accent]摧毁敌方核心 objective.command = [accent]指挥单位 -objective.nuclearlaunch = [accent]⚠ 侦测到核弹发射: [lightgray]{0} -announce.nuclearstrike = [red]⚠ 侦测到核打击入境 ⚠ +objective.nuclearlaunch = [accent]⚠ 侦测到核打击:[lightgray]{0} +announce.nuclearstrike = [red]⚠ 核打击接近中 ⚠ loadout = 装运 resources = 资源 -resources.max = 满额 +resources.max = 最大 bannedblocks = 禁用建筑 objectives = 任务目标 bannedunits = 禁用单位 @@ -641,7 +642,8 @@ error.alreadyconnected = 已经建立连接。 error.mapnotfound = 找不到地图文件! error.io = 网络I/O错误。 error.any = 未知网络错误。 -error.bloom = 未能初始化特效。 \n您的设备可能不支持。 +error.bloom = 未能初始化光效。 \n您的设备可能不支持。 + weather.rain.name = 降雨 weather.snow.name = 降雪 weather.sandstorm.name = 沙尘暴 @@ -670,8 +672,8 @@ sectors.underattack = [scarlet]遭到攻击![accent]{0}%损毁度 sectors.underattack.nodamage = [scarlet]未占领 sectors.survives = [accent]预测可守{0}波 sectors.go = 进入 -sector.abandon = 放弃 -sector.abandon.confirm = 该区块核心将会自毁\n是否确定? +sector.abandon = 遗弃 +sector.abandon.confirm = 此区块核心将自毁。\n确认? sector.curcapture = 区块已占领 sector.curlost = 区块已丢失 sector.missingresources = [scarlet]建造核心所需资源不足 @@ -681,7 +683,7 @@ sector.lost = 区块[accent]{0}[white]已丢失! sector.captured = 区块[accent]{0}[white]已占领! sector.changeicon = 更改图标 sector.noswitch.title = 无法切换区块 -sector.noswitch = 当前区块受袭击的时候,无法切换区块。\n\n区块: [accent]{0}[] 在 [accent]{1}[] +sector.noswitch = 你无法在当前区块遭受攻击时切换区块。\n\n区块: [accent]{0}[] 位于 [accent]{1}[] sector.view = 查看区块 threat.low = 低度 @@ -723,7 +725,7 @@ sector.ruinousShores.description = 穿过荒地就是海滩。 \n这里曾经有 sector.stainedMountains.description = 深入内陆地区便是山脉,这里目前还未被孢子污染。 \n敌人势力更加强大,别给他们的精锐部队留下喘息之机。\n\n这一地区分布着丰富的钛,试着开采并利用它。 sector.overgrowth.description = 这里的孢子靠近它最初的发源地,因此得以疯狂生长。 \n\n敌人在此处建立了一个前哨站,建造尖刀单位来摧毁它。 sector.tarFields.description = 产油区边缘,位于山脉和沙漠之间。 它是为数不多蕴藏了石油的地区之一。 \n尽管这里一片废墟,附近仍有一些危险的敌方单位。 不要低估他们。 \n\n[lightgray]尽你所能研究石油加工技术。 -sector.desolateRift.description = 非常危险的区块,资源丰富但空间狭窄,敌人也十分危险。 \n\n尽快离开,不要因敌人的进攻间隔太长而掉以轻心。 +sector.desolateRift.description = 非常危险的区块,资源丰富但空间狭窄,敌人也十分危险。 \n\n尽快发展与防御,不要因敌人的进攻间隔太长而掉以轻心。 sector.nuclearComplex.description = 曾用来生产加工钍的设施,如今已变成了废墟。 \n这里有大量的敌人,不断搜寻着入侵者。\n\n[lightgray]研究钍以及它的各种用途。 sector.fungalPass.description = 一边是高山,另一边是孢子丛生的平原。 \n这里有一个敌方的小型侦察基地,摧毁它。 \n\n使用尖刀和爬行者单位,摧毁两个核心。 sector.biomassFacility.description = 孢子的发源地,有研究和生产孢子的原始设施。 \n[lightgray]设施损毁后,孢子散播了出去,原生生态系统完全无法抵挡这种外来物种。 \n\n研究这里的科技,培养孢子来制造燃料和聚合物。 @@ -731,20 +733,20 @@ sector.windsweptIslands.description = 海岸线之外坐落着这一串群岛。 sector.extractionOutpost.description = 一座遥远的前哨,敌人建造它来向其他区块发射资源。 \n跨区块运输是征服这个星球不可或缺的一项技术。 \n\n摧毁敌人基地,研究发射台。 sector.impact0078.description = 最初进入这个星系的星际运输船,残骸留在了这里。 \n\n尽量回收可以利用的资源,研究科技。 sector.planetaryTerminal.description = 最终目标。 \n这座滨海基地有一个可以将核心发射到其他行星的建筑,防卫森严。 \n\n制造海军单位,尽快消灭敌人,研究发射建筑。 -sector.onset.name = 起始地区 -sector.aegis.name = Aegis -sector.lake.name = Name +sector.onset.name = 始发 +sector.aegis.name = 庇护 +sector.lake.name = 湖泊 sector.intersect.name = Intersect sector.atlas.name = Atlas -sector.split.name = Split +sector.split.name = 分割 sector.basin.name = Basin -sector.onset.description = 指导地区。任务并没有规划完成,着陆后请等待进一步指示. -sector.aegis.description = The enemy is protected by shields. An experimental shield breaker module has been detected in this sector.\nLocate this structure. Supply it with tungsten ammunition and destroy the enemy base. -sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. -sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. -sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. -sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. -sector.basin.description = {Temporary}\n\nThe last sector for now. Consider this a challenge level - more sectors will be added in a later release. +sector.onset.description = 教学区块。区块目标未设立,等待进一步指示 +sector.aegis.description = 敌人被护盾保护。本区块发现一个实验性破盾模块\n定位这个建筑,输入钨并摧毁敌人基地. +sector.lake.description = 这个区块的熔岩湖限制了大部分单位的移动,悬浮单位可能是唯一可行选择。\n尽快研究这个 [accent]飞船制造厂[]并生产一个 [accent]挣脱 +sector.intersect.description = 初步扫描显示这个区块可能会在登陆后受到来个多个方向的进攻。\n尽快设立防御并扩展。\n[accent]机甲[]单位可用于在这里的崎岖地形活动 +sector.atlas.description = 这个区块包含了各种地形,并需要多兵种配合来快速占领。\n升级单位也许是用于攻击这些更为牢固敌人基地所必须的。\n研究 [accent]电解机[]和[accent]坦克重构厂[].. +sector.split.description = 这个区块分布着很少敌人,正好可以用来测试新的运输科技 +sector.basin.description = {临时}\n是当前的最高级区块。把这当成一个挑战! - 更多的区块将在之后发布 status.burning.name = 燃烧 status.freezing.name = 冻结 @@ -752,7 +754,7 @@ status.wet.name = 潮湿 status.muddy.name = 泥泞 status.melting.name = 熔化 status.sapped.name = 弱化 -status.electrified.name = 电磁紊乱 +status.electrified.name = 麻痹 status.spore-slowed.name = 孢子减速 status.tarred.name = 油浸 status.overdrive.name = 过载 @@ -760,7 +762,7 @@ status.overclock.name = 超频 status.shocked.name = 电击 status.blasted.name = 爆炸 status.unmoving.name = 静止 -status.boss.name = Boss +status.boss.name = 守卫者 settings.language = 语言 settings.data = 游戏数据 @@ -789,9 +791,9 @@ no = 否 info.title = 详情 error.title = [scarlet]发生了一个错误 error.crashtitle = 发生了一个错误 -unit.nobuild = [scarlet]无法进行建造 +unit.nobuild = [scarlet]无法建造 lastaccessed = [lightgray]上次操作:{0} -lastcommanded = [lightgray]上次命令: {0} +lastcommanded = [lightgray]上次指挥:{0} block.unknown = [lightgray]?? stat.showinmap = <进入地图后显示> @@ -836,7 +838,7 @@ stat.drillspeed = 基础钻探速度 stat.boosteffect = 强化效果 stat.maxunits = 最大单位数量 stat.health = 生命值 -stat.armor = 装甲 +stat.armor = 护甲 stat.buildtime = 建造时间 stat.maxconsecutive = 连续放置限制 stat.buildcost = 建造花费 @@ -861,7 +863,7 @@ stat.buildspeed = 建造速度 stat.minespeed = 采矿速度 stat.minetier = 可采集矿物 stat.payloadcapacity = 载荷容量 -stat.abilities = 技能 +stat.abilities = 能力 stat.canboost = 可助推 stat.flying = 空中单位 stat.ammouse = 弹药 @@ -881,12 +883,12 @@ ability.unitspawn = {0}单位工厂 ability.shieldregenfield = 护盾再生场 ability.movelightning = 闪电助推器 ability.energyfield = 能量场:[accent]{0}[]伤害~[accent]{1}[]格/[accent]{2}[]目标 -bar.onlycoredeposit = 放置物品只能以核心为目标 +bar.onlycoredeposit = 仅核心可丢入资源 bar.drilltierreq = 需要更高级的钻头 bar.noresources = 资源不足 bar.corereq = 需要核心基座 -bar.corefloor = 需要核心地块 +bar.corefloor = 需要核心地板 bar.cargounitcap = 达到货运单位上限 bar.drillspeed = 挖掘速度:{0}/秒 bar.pumpspeed = 泵送速度:{0}/秒 @@ -924,12 +926,12 @@ bullet.lightning = [stat]{0}[lightgray]x闪电~[stat]{1}[lightgray]伤害 bullet.buildingdamage = [stat]{0}%[lightgray]对建筑伤害 bullet.knockback = [stat]{0}[lightgray]击退 bullet.pierce = [stat]{0}[lightgray]x穿透 -bullet.infinitepierce = [stat]贯穿 +bullet.infinitepierce = [stat]无限穿透 bullet.healpercent = [stat]{0}[lightgray]%修复 -bullet.healamount = [stat]{0}[lightgray] 直接修复 +bullet.healamount = [stat]{0}[lightgray] 修复量 bullet.multiplier = [stat]{0}[lightgray]x装填倍数 bullet.reload = [stat]{0}[lightgray]x开火速率 -bullet.range = [stat]{0}[lightgray] 格射程 +bullet.range = [stat]{0}[lightgray] 射程(格) unit.blocks = 格 unit.blockssquared = 格² @@ -939,7 +941,7 @@ unit.liquidsecond = 液体/秒 unit.itemssecond = 物品/秒 unit.liquidunits = 液体 unit.powerunits = 电力 -unit.heatunits = 热量单位 +unit.heatunits = 单位热量 unit.degrees = 度 unit.seconds = 秒 unit.minutes = 分 @@ -993,8 +995,8 @@ setting.difficulty.hard = 困难 setting.difficulty.insane = 疯狂 setting.difficulty.name = 难度: setting.screenshake.name = 屏幕抖动 -setting.bloomintensity.name = 光彩强度 -setting.bloomblur.name = 光彩模糊 +setting.bloomintensity.name = 光效强度 +setting.bloomblur.name = 光效模糊 setting.effects.name = 建筑特效 setting.destroyedblocks.name = 显示已摧毁的建筑 setting.blockstatus.name = 显示建筑状态 @@ -1037,7 +1039,7 @@ public.confirm.really = 如果您想与好友一起游戏,可以使用[green] public.beta = 请注意,测试版的游戏不能公开可见。 uiscale.reset = UI缩放比例已更改。 \n点击“确定”来接受缩放比例的更改。 \n[accent]{0}[]秒后[scarlet]将自动退出并还原设置。 uiscale.cancel = 取消并退出 -setting.bloom.name = 光彩特效 +setting.bloom.name = 光效 keybind.title = 重新绑定按键 keybinds.mobile = [scarlet]除了基本的移动以外,大多数按键绑定在移动设备上无效。 category.general.name = 常规 @@ -1110,68 +1112,68 @@ keybind.drop_unit.name = 释放单位 keybind.zoom_minimap.name = 小地图缩放 mode.help.title = 游戏模式说明 mode.survival.name = 生存 -mode.survival.description = 通常的游戏模式,资源有限,自动生成敌人波次。 \n[gray]需要地图中有敌方出生点。 +mode.survival.description = 通常的游戏模式,资源有限,自动生成敌人波次。 \n[gray]需要地图中有敌方出生点和己方核心。 mode.sandbox.name = 沙盒 mode.sandbox.description = 无限资源,不会自动生成敌人波次。 mode.editor.name = 地图编辑器 mode.pvp.name = PvP mode.pvp.description = 与其他玩家对战。 \n[gray]需要地图中有至少2种不同颜色的核心。 mode.attack.name = 进攻 -mode.attack.description = 摧毁敌人的基地。 \n[gray]需要地图中有红色的核心。 +mode.attack.description = 摧毁敌人的基地。 \n[gray]需要地图中有敌方队伍的核心。 mode.custom = 自定义模式 rules.infiniteresources = 无限资源 -rules.onlydepositcore = 放置物品只能以核心为目标 -rules.reactorexplosions = 反应堆爆炸有破坏性 -rules.coreincinerates = 核心自动销毁多余的物品 +rules.onlydepositcore = 仅核心可放入资源 +rules.reactorexplosions = 反应堆爆炸 +rules.coreincinerates = 核心焚烧 rules.disableworldprocessors = 禁用世界处理器 rules.schematic = 允许使用蓝图 rules.wavetimer = 波次计时器 rules.waves = 波次 rules.attack = 进攻模式 -rules.rtsai = RTS AI对手 -rules.rtsminsquadsize = 进攻队伍的最小规模 -rules.rtsmaxsquadsize = Max Squad Size -rules.rtsminattackweight = 进攻的最低强度 -rules.cleanupdeadteams = 清除已战败队伍的建筑(PvP模式) -rules.corecapture = 摧毁核心时将其俘获 +rules.rtsai = RTS AI +rules.rtsminsquadsize = 最小部队规模 +rules.rtsmaxsquadsize = 最大部队规模 +rules.rtsminattackweight = 最低进攻强度 +rules.cleanupdeadteams = 清除已战败队伍的建筑 +rules.corecapture = 摧毁核心时将其占领 rules.polygoncoreprotection = 根据核心位置平分可建造区域 -rules.placerangecheck = 放置范围检查 +rules.placerangecheck = 敌对建筑周围禁建 rules.enemyCheat = 敌人(红队)无限资源 -rules.blockhealthmultiplier = 建筑生命值倍率 +rules.blockhealthmultiplier = 建筑生命倍率 rules.blockdamagemultiplier = 建筑伤害倍率 rules.unitbuildspeedmultiplier = 单位生产速度倍率 -rules.unithealthmultiplier = 单位生命值倍率 +rules.unithealthmultiplier = 单位生命倍率 rules.unitdamagemultiplier = 单位伤害倍率 rules.solarmultiplier = 太阳能发电倍率 rules.unitcapvariable = 核心可增加单位上限 rules.unitcap = 基础单位上限 rules.limitarea = 限制地图有效区域 rules.enemycorebuildradius = 敌方核心不可建造区域半径:[lightgray](格) -rules.wavespacing = 第一波延时:[lightgray](秒) -rules.initialwavespacing = 初始波间隔:[lightgray] (sec) +rules.wavespacing = 波次间隔:[lightgray](秒) +rules.initialwavespacing = 第一波间隔:[lightgray] (秒) rules.buildcostmultiplier = 建造花费倍率 rules.buildspeedmultiplier = 建造速度倍率 rules.deconstructrefundmultiplier = 拆除返还倍率 -rules.waitForWaveToEnd = 等待敌人时间 +rules.waitForWaveToEnd = 等待波次结束 rules.dropzoneradius = 敌人出生点禁区大小:[lightgray](格) rules.unitammo = 单位有弹药限制 rules.enemyteam = 敌方队伍 rules.playerteam = 玩家队伍 rules.title.waves = 波次 rules.title.resourcesbuilding = 资源和建造 -rules.title.enemy = AI 对手 +rules.title.enemy = AI 敌人 rules.title.unit = 单位 rules.title.experimental = 实验性 rules.title.environment = 环境 rules.title.teams = 队伍 rules.title.planet = 星球 -rules.lighting = 迷雾 +rules.lighting = 环境光 rules.fog = 战争迷雾 rules.fire = 允许火焰产生并蔓延 -rules.anyenv = +rules.anyenv = <任意> rules.explosions = 建筑/单位爆炸伤害 -rules.ambientlight = 迷雾颜色 +rules.ambientlight = 环境光颜色 rules.weather = 天气 rules.weather.frequency = 周期: rules.weather.always = 永久 @@ -1184,7 +1186,7 @@ content.block.name = 建筑 content.status.name = 状态效果 content.sector.name = 战役区块 content.team.name = 派系 -wallore = (Wall) +wallore = (墙) item.copper.name = 铜 item.lead.name = 铅 @@ -1194,7 +1196,7 @@ item.titanium.name = 钛 item.thorium.name = 钍 item.silicon.name = 硅 item.plastanium.name = 塑钢 -item.phase-fabric.name = 相位织物 +item.phase-fabric.name = 相织物 item.surge-alloy.name = 巨浪合金 item.spore-pod.name = 孢子荚 item.sand.name = 沙 @@ -1202,20 +1204,20 @@ item.blast-compound.name = 爆炸混合物 item.pyratite.name = 硫化物 item.metaglass.name = 钢化玻璃 item.scrap.name = 废料 -item.fissile-matter.name = 裂变物质 +item.fissile-matter.name = 裂变产物 item.beryllium.name = 铍 item.tungsten.name = 钨 item.oxide.name = 氧化物 item.carbide.name = 碳化物 -item.dormant-cyst.name = 休眠囊肿 +item.dormant-cyst.name = Dormant Cyst liquid.water.name = 水 -liquid.slag.name = 矿渣液 +liquid.slag.name = 矿渣 liquid.oil.name = 石油 liquid.cryofluid.name = 冷冻液 -liquid.neoplasm.name = 囊肿血浆 -liquid.arkycite.name = 芳油 -liquid.gallium.name = 镓液 +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = 镓 liquid.ozone.name = 臭氧 liquid.hydrogen.name = 氢气 liquid.nitrogen.name = 氮气 @@ -1283,7 +1285,7 @@ unit.obviate.name = 消散 block.parallax.name = 差扰光束 block.cliff.name = 悬崖 block.sand-boulder.name = 砂岩 -block.basalt-boulder.name = 玄武岩巨岩 +block.basalt-boulder.name = 玄武岩巨石 block.grass.name = 草地 block.molten-slag.name = 矿渣液 block.pooled-cryofluid.name = 冷冻液 @@ -1295,11 +1297,11 @@ block.tendrils.name = 卷须 block.sand-wall.name = 沙墙 block.spore-pine.name = 孢子树 block.spore-wall.name = 孢子墙 -block.boulder.name = 巨岩 +block.boulder.name = 巨石 block.snow-boulder.name = 雪石 block.snow-pine.name = 雪树 block.shale.name = 页岩地 -block.shale-boulder.name = 页岩巨岩 +block.shale-boulder.name = 页岩巨石 block.moss.name = 苔藓地 block.shrubs.name = 灌木丛 block.spore-moss.name = 孢子苔藓地 @@ -1370,17 +1372,17 @@ block.titanium-wall.name = 钛墙 block.titanium-wall-large.name = 大型钛墙 block.plastanium-wall.name = 塑钢墙 block.plastanium-wall-large.name = 大型塑钢墙 -block.phase-wall.name = 相位墙 -block.phase-wall-large.name = 大型相位墙 +block.phase-wall.name = 相织布墙 +block.phase-wall-large.name = 大型相织布墙 block.thorium-wall.name = 钍墙 block.thorium-wall-large.name = 大型钍墙 block.door.name = 门 block.door-large.name = 大门 -block.duo.name = 双管炮 -block.scorch.name = 火焰炮 -block.scatter.name = 分裂炮 -block.hail.name = 冰雹炮 -block.lancer.name = 蓝瑟炮 +block.duo.name = 双管 +block.scorch.name = 火焰 +block.scatter.name = 分裂 +block.hail.name = 冰雹 +block.lancer.name = 蓝瑟 block.conveyor.name = 传送带 block.titanium-conveyor.name = 钛传送带 block.plastanium-conveyor.name = 塑钢传送带 @@ -1395,7 +1397,7 @@ block.illuminator.name = 照明器 block.overflow-gate.name = 溢流门 block.underflow-gate.name = 反向溢流门 block.silicon-smelter.name = 硅冶炼厂 -block.phase-weaver.name = 相位编织器 +block.phase-weaver.name = 相织布编织器 block.pulverizer.name = 粉碎机 block.cryofluid-mixer.name = 冷冻液混合器 block.melter.name = 熔炉 @@ -1405,7 +1407,7 @@ block.separator.name = 分离机 block.coal-centrifuge.name = 煤炭离心机 block.power-node.name = 电力节点 block.power-node-large.name = 大型电力节点 -block.surge-tower.name = 合金电力塔 +block.surge-tower.name = 巨浪电力塔 block.diode.name = 二极管 block.battery.name = 电池 block.battery-large.name = 大型电池 @@ -1433,7 +1435,7 @@ block.tsunami.name = 海啸 block.swarmer.name = 蜂群 block.salvo.name = 齐射炮 block.ripple.name = 浪涌 -block.phase-conveyor.name = 相位传送带桥 +block.phase-conveyor.name = 相织布传送带桥 block.bridge-conveyor.name = 传送带桥 block.plastanium-compressor.name = 塑钢压缩机 block.pyratite-mixer.name = 硫化物混合器 @@ -1443,30 +1445,31 @@ block.solar-panel-large.name = 大型太阳能板 block.oil-extractor.name = 石油钻井 block.repair-point.name = 维修点 block.repair-turret.name = 维修塔 -block.pulse-conduit.name = 脉冲管道 -block.plated-conduit.name = 电镀管道 -block.phase-conduit.name = 相位流体管道桥 +block.pulse-conduit.name = 脉冲导管 +block.plated-conduit.name = 电镀导管 +block.phase-conduit.name = 相织布导管桥 block.liquid-router.name = 流体路由器 -block.liquid-tank.name = 流体储存罐 +block.liquid-tank.name = 流体储罐 block.liquid-container.name = 流体容器 block.liquid-junction.name = 流体交叉器 -block.bridge-conduit.name = 流体导管桥 +block.bridge-conduit.name = 导管桥 + block.rotary-pump.name = 回转泵 block.thorium-reactor.name = 钍反应堆 block.mass-driver.name = 质量驱动器 block.blast-drill.name = 爆破钻头 -block.impulse-pump.name = 冲击泵 +block.impulse-pump.name = 脉冲泵 block.thermal-generator.name = 热能发电机 -block.surge-smelter.name = 合金熔炉 +block.surge-smelter.name = 合金冶炼厂 block.mender.name = 修理器 -block.mend-projector.name = 修理投影器 +block.mend-projector.name = 修理投影 block.surge-wall.name = 合金墙 block.surge-wall-large.name = 大型合金墙 block.cyclone.name = 气旋 block.fuse.name = 雷光 block.shock-mine.name = 脉冲地雷 -block.overdrive-projector.name = 超速投影器 -block.force-projector.name = 力墙投影器 +block.overdrive-projector.name = 超速投影 +block.force-projector.name = 力墙投影 block.arc.name = 电弧 block.rtg-generator.name = RTG 发电机 block.spectre.name = 幽灵 @@ -1492,134 +1495,135 @@ block.payload-void.name = 载荷黑洞 block.payload-source.name = 载荷源 block.disassembler.name = 解离机 block.silicon-crucible.name = 热能坩埚 -block.overdrive-dome.name = 超速穹顶投射器 +block.overdrive-dome.name = 超速穹顶 block.interplanetary-accelerator.name = 行星际加速器 -block.constructor.name = 构造器 -block.constructor.description = 制造尺寸不超过2x2方块的建筑。 -block.large-constructor.name = 大型构造器 -block.large-constructor.description = 制造尺寸不超过4x4方块的建筑。 + +block.constructor.name = 构筑器 +block.constructor.description = 构筑 1x1 至 2x2 大小的方块。 +block.large-constructor.name = 大型构筑器 +block.large-constructor.description = 构筑 3x3 至 4x4 大小的方块。 block.deconstructor.name = 解构器 -block.deconstructor.description = 解构建筑与单位,并返还100%的制造成本。 -block.payload-loader.name = 荷载装载器 -block.payload-loader.description = 将液体和物品装载进方块中。 -block.payload-unloader.name = 荷载卸载器 -block.payload-unloader.description = 将液体和物品从方块中卸载。 +block.deconstructor.description = 解构方块和单位,返还100%资源。 +block.payload-loader.name = 载荷装载器 +block.payload-loader.description = 向载荷方块装载液体和物品。 +block.payload-unloader.name = 载荷卸载器 +block.payload-unloader.description = 从载荷方块卸载液体和物品。 block.empty.name = 空 -block.rhyolite-crater.name = 流纹岩陨石坑 +block.rhyolite-crater.name = 流纹岩坑 block.rough-rhyolite.name = 粗糙流纹岩 -block.regolith.name = 风化层 -block.yellow-stone.name = 黄岩 -block.carbon-stone.name = 碳岩 -block.ferric-stone.name = 铁岩 -block.ferric-craters.name = 铁岩陨石坑 -block.beryllic-stone.name = 绿柱岩 -block.crystalline-stone.name = 水晶岩 -block.crystal-floor.name = 水晶地 -block.yellow-stone-plates.name = 黄岩地 -block.red-stone.name = 红岩 -block.dense-red-stone.name = 致密红岩 +block.regolith.name = 流纹岩 +block.yellow-stone.name = 黄石 +block.carbon-stone.name = 碳石 +block.ferric-stone.name = 铁石 +block.ferric-craters.name = 铁陨石坑 +block.beryllic-stone.name = 铍石 +block.crystalline-stone.name = 晶石 +block.crystal-floor.name = 晶石地板 +block.yellow-stone-plates.name = 黄石地板 +block.red-stone.name = 红石 +block.dense-red-stone.name = 高密红石 block.red-ice.name = 红冰 -block.arkycite-floor.name = 芳油池 -block.arkyic-stone.name = 芳岩 -block.rhyolite-vent.name = 流纹岩喷口 -block.carbon-vent.name = 碳喷口 -block.arkyic-vent.name = 芳油喷口 -block.yellow-stone-vent.name = 黄岩喷口 -block.red-stone-vent.name = 红岩喷口 -block.redmat.name = 红地皮 -block.bluemat.name = 蓝地皮 -block.core-zone.name = 核心地块 +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = 流纹石喷口 +block.carbon-vent.name = 碳石喷口 +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = 黄石喷口 +block.red-stone-vent.name = 红石喷口 +block.redmat.name = 红地垫 +block.bluemat.name = 蓝地垫 +block.core-zone.name = 核心区 block.regolith-wall.name = 风化墙 -block.yellow-stone-wall.name = 黄岩墙 +block.yellow-stone-wall.name = 黄石墙 block.rhyolite-wall.name = 流纹岩墙 -block.carbon-wall.name = 碳墙 -block.ferric-stone-wall.name = 铁岩墙 -block.beryllic-stone-wall.name = 绿柱岩墙 -block.arkyic-wall.name = 芳岩墙 -block.crystalline-stone-wall.name = 水晶岩墙 +block.carbon-wall.name = 碳石墙 +block.ferric-stone-wall.name = 铁石墙 +block.beryllic-stone-wall.name = 铍石墙 +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = 晶石墙 block.red-ice-wall.name = 红冰墙 -block.red-stone-wall.name = 红岩墙 +block.red-stone-wall.name = 红石墙 block.red-diamond-wall.name = 红钻墙 block.redweed.name = 赤藻 -block.pur-bush.name = 粹木 +block.pur-bush.name = 紫灌木丛 block.yellowcoral.name = 黄珊瑚 -block.carbon-boulder.name = 碳巨岩 +block.carbon-boulder.name = 碳石巨岩 block.ferric-boulder.name = 铁巨岩 -block.beryllic-boulder.name = 绿柱巨岩 -block.yellow-stone-boulder.name = 黄巨岩 -block.arkyic-boulder.name = 芳巨岩 +block.beryllic-boulder.name = 铍石巨岩 +block.yellow-stone-boulder.name = 黄石巨岩 +block.arkyic-boulder.name = Arkyic Boulder block.crystal-cluster.name = 水晶簇 -block.vibrant-crystal-cluster.name = 明亮水晶簇 -block.crystal-blocks.name = 水晶块 -block.crystal-orbs.name = 球状水晶 -block.crystalline-boulder.name = 水晶巨岩 +block.vibrant-crystal-cluster.name = 鲜艳水晶簇 +block.crystal-blocks.name = 晶石块 +block.crystal-orbs.name = 晶石球 +block.crystalline-boulder.name = 晶石巨岩 block.red-ice-boulder.name = 红冰巨岩 block.rhyolite-boulder.name = 流纹巨岩 -block.red-stone-boulder.name = 红巨岩 -block.graphitic-wall.name = 石墨矿墙 -block.silicon-arc-furnace.name = 电弧冶硅炉 -block.electrolyzer.name = 电解器 -block.atmospheric-concentrator.name = 氮气浓缩器 -block.oxidation-chamber.name = 氧化机 -block.electric-heater.name = 电能加热器 -block.slag-heater.name = 矿渣加热器 -block.phase-heater.name = 相位物加热器 -block.heat-redirector.name = 热重定向器 +block.red-stone-boulder.name = 红石巨岩 +block.graphitic-wall.name = 石墨墙 +block.silicon-arc-furnace.name = 电弧硅炉 +block.electrolyzer.name = 电解机 +block.atmospheric-concentrator.name = 大气收集器 +block.oxidation-chamber.name = 氧化室 +block.electric-heater.name = 电制热机 +block.slag-heater.name = 矿渣制热机 +block.phase-heater.name = 相织制热机 +block.heat-redirector.name = 热传输机 block.slag-incinerator.name = 矿渣焚化炉 block.carbide-crucible.name = 碳化物坩埚 block.slag-centrifuge.name = 矿渣离心机 block.surge-crucible.name = 合金坩埚 -block.cyanogen-synthesizer.name = 氰气合成器 -block.phase-synthesizer.name = 相位合成器 -block.heat-reactor.name = 热能反应堆 +block.cyanogen-synthesizer.name = 氰合成机 +block.phase-synthesizer.name = 相织布合成机 +block.heat-reactor.name = 热量反应堆 block.beryllium-wall.name = 铍墙 block.beryllium-wall-large.name = 大型铍墙 block.tungsten-wall.name = 钨墙 block.tungsten-wall-large.name = 大型钨墙 -block.blast-door.name = 防爆自动门 +block.blast-door.name = 防爆闸门 block.carbide-wall.name = 碳化物墙 block.carbide-wall-large.name = 大型碳化物墙 -block.reinforced-surge-wall.name = 加固合金墙 -block.reinforced-surge-wall-large.name = 大型加固合金墙 -block.shielded-wall.name = 力场盾墙 +block.reinforced-surge-wall.name = 强化合金墙 +block.reinforced-surge-wall-large.name = 大型强化合金墙 +block.shielded-wall.name = 盾墙 block.radar.name = 雷达 block.build-tower.name = 建造塔 block.regen-projector.name = 再生投影器 -block.shockwave-tower.name = Shockwave Tower +block.shockwave-tower.name = 震爆塔 block.shield-projector.name = 护盾投影器 block.large-shield-projector.name = 大型护盾投影器 block.armored-duct.name = 装甲管道 -block.overflow-duct.name = 管道溢流门 -block.underflow-duct.name = Underflow Duct +block.overflow-duct.name = 溢流管道 +block.underflow-duct.name = 反向溢流管 block.duct-unloader.name = 管道装卸器 block.surge-conveyor.name = 合金传送带 block.surge-router.name = 合金路由器 block.unit-cargo-loader.name = 单位物流装载器 block.unit-cargo-unload-point.name = 单位物流卸载点 -block.reinforced-pump.name = 加固泵 -block.reinforced-conduit.name = 加固管道 -block.reinforced-liquid-junction.name = 加固流体交叉器 -block.reinforced-bridge-conduit.name = 加固流体导管桥 -block.reinforced-liquid-router.name = 加固流体路由器 -block.reinforced-liquid-container.name = 加固流体容器 -block.reinforced-liquid-tank.name = 加固流体储存罐 -block.beam-node.name = 光束节点 -block.beam-tower.name = 光束塔 -block.beam-link.name = 光束连接器 +block.reinforced-pump.name = 强化泵 +block.reinforced-conduit.name = 强化导管 +block.reinforced-liquid-junction.name = 强化流体交叉器 +block.reinforced-bridge-conduit.name = 强化流体带桥 +block.reinforced-liquid-router.name = 强化流体路由器 +block.reinforced-liquid-container.name = 强化流体容器 +block.reinforced-liquid-tank.name = 强化流体储罐 +block.beam-node.name = 激光节点 +block.beam-tower.name = 激光塔 +block.beam-link.name = 激光连接器 block.turbine-condenser.name = 涡轮冷凝器 -block.chemical-combustion-chamber.name = 化学能发电机 -block.pyrolysis-generator.name = 热解发电机 -block.vent-condenser.name = 泉眼冷凝器 -block.cliff-crusher.name = 墙体粉碎机 -block.plasma-bore.name = 光束钻头 -block.large-plasma-bore.name = 大型光束钻头 +block.chemical-combustion-chamber.name = 化学燃烧室 +block.pyrolysis-generator.name = 热解发生器 +block.vent-condenser.name = 排气冷凝器 +block.cliff-crusher.name = 墙壁粉碎机 +block.plasma-bore.name = 等离子钻机 +block.large-plasma-bore.name = 大型等离子钻机 block.impact-drill.name = 冲击钻头 -block.eruption-drill.name = 喷发钻头 -block.core-bastion.name = 碉堡核心 -block.core-citadel.name = 壁垒核心 +block.eruption-drill.name = 爆裂钻头 +block.core-bastion.name = 城堡核心 +block.core-citadel.name = 堡垒核心 block.core-acropolis.name = 卫城核心 -block.reinforced-container.name = 加固容器 -block.reinforced-vault.name = 加固仓库 +block.reinforced-container.name = 强化容器 +block.reinforced-vault.name = 强化仓库 block.breach.name = 撕裂 block.sublimate.name = 升华 block.titan.name = 泰坦 @@ -1627,28 +1631,29 @@ block.disperse.name = 驱离 block.afflict.name = afflict block.lustre.name = 光辉 block.scathe.name = scathe -block.fabricator.name = 单位制造厂 +block.fabricator.name = Fabricator block.tank-refabricator.name = 坦克重构厂 block.mech-refabricator.name = 机甲重构厂 block.ship-refabricator.name = 飞船重构厂 -block.tank-assembler.name = 坦克装配厂 -block.ship-assembler.name = 飞船装配厂 -block.mech-assembler.name = 机甲装配厂 -block.reinforced-payload-conveyor.name = 加固载荷传送带 -block.reinforced-payload-router.name = 加固载荷路由器 +block.tank-assembler.name = 坦克组装厂 +block.ship-assembler.name = 飞船组装厂 +block.mech-assembler.name = 机甲组装厂 +block.reinforced-payload-conveyor.name = 强化载荷传送带 +block.reinforced-payload-router.name = 强化载荷路由器 block.payload-mass-driver.name = 载荷质量驱动器 block.small-deconstructor.name = 小型解构器 block.canvas.name = 画布 block.world-processor.name = 世界处理器 block.world-cell.name = 世界内存元 -block.shield-breaker.name = 护盾破坏器 (临时翻译/贴图) +block.shield-breaker.name = 破盾机 (临时翻译/贴图) block.tank-fabricator.name = 坦克制造厂 block.mech-fabricator.name = 机甲制造厂 block.ship-fabricator.name = 飞船制造厂 -block.prime-refabricator.name = 倍乘级单位升级厂 +block.prime-refabricator.name = 高级再重构工厂 block.unit-repair-tower.name = 单位维修塔 block.diffuse.name = 扩散 block.basic-assembler-module.name = 基本装配厂模块 + block.smite.name = Smite block.malign.name = Malign @@ -1738,14 +1743,14 @@ liquid.cryofluid.description = 用作反应堆、 炮塔和工厂的冷却剂。 block.derelict = \uf77e[lightgray]废墟 block.armored-conveyor.description = 向前方输送物品,不接受侧面的输入,除非来自其他传送带。 -block.illuminator.description = 释放光线。 +block.illuminator.description = 提供照明。 block.message.description = 保存文字信息,用于队友间进行交流。 block.graphite-press.description = 将煤炭压缩为石墨。 block.multi-press.description = 将煤炭压缩为石墨,需要水进行冷却。 block.silicon-smelter.description = 将沙和煤炭精炼为硅。 block.kiln.description = 将沙和铅熔炼为钢化玻璃。 block.plastanium-compressor.description = 用石油和钛生产塑钢。 -block.phase-weaver.description = 用钍和沙合成相位织物。 +block.phase-weaver.description = 用钍和沙合成相织物。 block.surge-smelter.description = 将钛、铅、硅和铜熔成成巨浪合金。 block.cryofluid-mixer.description = 将水和细钛粉混合制成冷冻液。 block.blast-mixer.description = 利用硫化物和孢子荚生产爆炸混合物。 @@ -1779,9 +1784,9 @@ block.surge-wall-large.description = 保护己方建筑,挡下敌方炮弹。 block.door.description = 可以开关的墙。 block.door-large.description = 可以开关的墙。 block.mender.description = 定期修复附近的建筑。 \n可使用硅来提高范围和效率。 -block.mend-projector.description = 定期修复附近的建筑。 \n可使用相位织物来提高范围和效率。 -block.overdrive-projector.description = 提升附近建筑的工作效率。 \n可使用相位织物来提高范围和效率。 -block.force-projector.description = 在自身周围创建一个六边形力场,使里面的建筑和单位免受伤害。 \n承受过多伤害会导致过热,可以使用冷却液降温。 相位织物可用于增加护盾尺寸。 +block.mend-projector.description = 定期修复附近的建筑。 \n可使用相织物来提高范围和效率。 +block.overdrive-projector.description = 提升附近建筑的工作效率。 \n可使用相织物来提高范围和效率。 +block.force-projector.description = 在自身周围创建一个六边形力场,使里面的建筑和单位免受伤害。 \n承受过多伤害会导致过热,可以使用冷却液降温。 相织物可用于增加护盾尺寸。 block.shock-mine.description = 对踩到它的敌人释放电弧进行攻击。 block.conveyor.description = 将物品向前方输送。 block.titanium-conveyor.description = 将物品向前方输送,比初级传送带更快。 @@ -1864,7 +1869,7 @@ block.parallax.description = 通过牵引光束拉扯空中目标,并对其造 block.tsunami.description = 向敌人喷射强力的液体流。 使用水作弹药时能够自动灭火。 block.silicon-crucible.description = 从沙子和煤中提炼硅,用硫化物作为附加热源。 在炙热地形上更高效。 block.disassembler.description = 以低效率将矿渣液分离成微量的外来矿物成分。 能产生钍。 -block.overdrive-dome.description = 提高附近建筑物的工作效率。 需要相位织物和硅来工作。 +block.overdrive-dome.description = 提高附近建筑物的工作效率。 需要相织物和硅来工作。 block.payload-conveyor.description = 运送大型载荷,例如从工厂生产的单位。 block.payload-router.description = 将输入的载荷向3个方向轮流输出。 block.ground-factory.description = 生产陆军单位。 产出的单位可以直接投入战场,也可以送入重构工厂进行升级。 @@ -1941,24 +1946,24 @@ lst.end = 跳转至第一条指令 lst.wait = 等待指定的秒数 lst.lookup = 根据ID查阅一种物品/液体/单位/建筑\n各个分类中的项目总数是\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = 根据条件判断,决定是否跳转至另一条指令 -lst.unitbind = 绑定某个类型的下一个单位\n并保存至[accent]@unit[] +lst.unitbind = 绑定某个类型的下一个单位,或直接绑定指定的单位\n并保存至[accent]@unit[] lst.unitcontrol = 控制已绑定的单位 lst.unitradar = 让绑定的单位搜寻感知范围内的其他单位 lst.unitlocate = 让绑定的单位搜寻整个地图中特定的建筑或位置 -lst.getblock = 从任意位置获取地块数据 +lst.getblock = 获取任意位置的地块数据 lst.setblock = 设置任意位置的地块数据 -lst.spawnunit = 在某个位置生成单位 -lst.applystatus = 为一个单位添加或清除某个状态效果 -lst.spawnwave = 在任意位置生成一波敌人\n不记录在波数计数 -lst.explosion = 在某个位置制造爆炸 -lst.setrate = 在指令/时间tick的时间下设置处理器处理速度 +lst.spawnunit = 在指定位置生成单位 +lst.applystatus = 添加或清除单位的一个状态效果 +lst.spawnwave = 在任意位置生成一波敌人\n并不记录在波数计数器中 +lst.explosion = 在某个位置生成爆炸 +lst.setrate = 在指令/时间刻的时间下设置处理器处理速度 lst.fetch = 按索引查找单位、核心、玩家或建筑物\n索引从 0 开始,以其返回的计数结束 lst.packcolor = 将[0,1]范围内的RGBA分量整合成单个数字,用于绘图或规则设置 -lst.setrule = 设置游戏规则 -lst.flushmessage = 根据文本缓存中的内容,在屏幕上显示一条信息。\n上一条信息结束后才会执行 -lst.cutscene = 控制玩家游戏镜头 -lst.setflag = 设置一个全局flag,并可被所有处理器读取 -lst.getflag = 检查某个全局flag是否被设置 +lst.setrule = 设置地图规则 +lst.flushmessage = 在屏幕中央投影文字缓存区的内容\n会等待上一个文字显示结束 +lst.cutscene = 控制玩家游戏视角 +lst.setflag = 设置一个可以被所有处理器读取的全局flag +lst.getflag = 检查是否设置了全局flag logic.nounitbuild = [red]此处不允许处理器操控单位去建设 @@ -1992,7 +1997,7 @@ lcategory.world.description = 控制世界的各类设置 graphicstype.clear = 用指定的颜色填充整个显示屏 graphicstype.color = 设置后续画图操作所使用的颜色 -graphicstype.col = 整合后的色彩信息。\n以[accent]%[]开头的十六进制代码形式。\n例如:[accent]%ff0000[]代表红色。 +graphicstype.col = 颜色代码。\n为以[accent]%[]开头的十六进制代码形式。\n举例: [accent]%ff0000[] 为[red]红色 graphicstype.stroke = 设置线条宽度 graphicstype.line = 绘制线段 graphicstype.rect = 绘制实心矩形 @@ -2090,7 +2095,7 @@ unitlocate.group = 所搜寻的建筑分类 lenum.idle = 原地不动,但继续进行手上的采矿/建造动作\n单位的默认状态 lenum.stop = 停止移动/采矿/建造动作 -lenum.unbind = 完全禁用逻辑控制。\n恢复标准AI。 +lenum.unbind = 停用单位的逻辑控制\n恢复常规AI lenum.move = 移动到某个位置 lenum.approach = 靠近某个位置至一定的距离内 lenum.pathfind = 寻路移动至敌人出生点 diff --git a/core/src/mindustry/editor/MapObjectivesCanvas.java b/core/src/mindustry/editor/MapObjectivesCanvas.java index e564b6a95d..3d380b1558 100644 --- a/core/src/mindustry/editor/MapObjectivesCanvas.java +++ b/core/src/mindustry/editor/MapObjectivesCanvas.java @@ -150,8 +150,8 @@ public class MapObjectivesCanvas extends WidgetGroup{ maxX = Math.min(Mathf.ceil((x + width + 1f) / unitSize), bounds), maxY = Math.min(Mathf.ceil((y + height + 1f) / unitSize), bounds); float progX = x % unitSize, progY = y % unitSize; - Lines.stroke(2f); - Draw.color(Pal.gray, parentAlpha); + Lines.stroke(3f); + Draw.color(Pal.darkestGray, parentAlpha); for(int x = minX; x <= maxX; x++) Lines.line(progX + x * unitSize, minY * unitSize, progX + x * unitSize, maxY * unitSize); for(int y = minY; y <= maxY; y++) Lines.line(minX * unitSize, progY + y * unitSize, maxX * unitSize, progY + y * unitSize); @@ -248,8 +248,24 @@ public class MapObjectivesCanvas extends WidgetGroup{ Lines.stroke(4f); Draw.color(remove ? Pal.remove : Pal.accent, parentAlpha); + Fill.square(x1, y1, 8f, 45f); + Fill.square(x2, y2, 8f, 45f); + float dist = Math.abs(x1 - x2) / 2f; - Lines.curve(x1, y1, x1 + dist, y1, x2 - dist, y2, x2, y2, Math.max(4, (int) (Mathf.dst(x1, y1, x2, y2) / 4f))); + float cx1 = x1 + dist; + float cx2 = x2 - dist; + Lines.curve(x1, y1, cx1, y1, cx2, y2, x2, y2, Math.max(4, (int) (Mathf.dst(x1, y1, x2, y2) / 4f))); + + float progress = (Time.time % (60 * 4)) / (60 * 4); + + float t2 = progress * progress; + float t3 = progress * t2; + float t1 = 1 - progress; + float t13 = t1 * t1 * t1; + float kx1 = t13 * x1 + 3 * progress * t1 * t1 * cx1 + 3 * t2 * t1 * cx2 + t3 * x2; + float ky1 = t13 *y1 + 3 * progress * t1 * t1 * y1 + 3 * t2 * t1 * y2 + t3 * y2; + + Fill.circle(kx1, ky1, 6f); Draw.reset(); } @@ -375,21 +391,23 @@ public class MapObjectivesCanvas extends WidgetGroup{ setTransform(false); setClip(false); - add(conParent = new Connector(true)).size(unitSize); - add(new ImageButton(Icon.move, new ImageButtonStyle(){{ - up = Tex.whiteui; - imageUpColor = Color.black; - }})).color(Pal.accent).height(unitSize).growX().get().addCaptureListener(mover = new Mover()); - add(conChildren = new Connector(false)).size(unitSize); + add(conParent = new Connector(true)).size(unitSize, unitSize * 2); + table(Tex.whiteui, t -> { + float pad = (unitSize - 32f) / 2f - 4f; + t.margin(pad); + t.touchable(() -> Touchable.enabled); + t.setColor(Pal.gray); - row().table(Tex.buttonSelectTrans, t -> { - t.labelWrap(obj.typeName()).grow() - .style(Styles.outlineLabel) - .color(Pal.accent).align(Align.left).padLeft(6f) - .ellipsis(true).get().setAlignment(Align.left); + t.labelWrap(obj.typeName()) + .style(Styles.outlineLabel) + .left().grow().get() + .setAlignment(Align.left); + + t.row(); t.table(b -> { - b.right().defaults().size(32f).pad((unitSize - 32f) / 2f - 4f); + b.left().defaults().size(40f); + b.button(Icon.pencilSmall, () -> { BaseDialog dialog = new BaseDialog("@editor.objectives"); dialog.cont.pane(Styles.noBarPane, list -> list.top().table(e -> { @@ -406,8 +424,9 @@ public class MapObjectivesCanvas extends WidgetGroup{ dialog.show(); }); b.button(Icon.trashSmall, () -> removeTile(this)); - }).growY().fillX(); - }).grow().colspan(3); + }).left().grow(); + }).growX().height(unitSize * 2).get().addCaptureListener(mover = new Mover()); + add(conChildren = new Connector(false)).size(unitSize, unitSize * 2); setSize(getPrefWidth(), getPrefHeight()); pos(x, y); @@ -496,14 +515,15 @@ public class MapObjectivesCanvas extends WidgetGroup{ public Connector(boolean findParent){ super(new ButtonStyle(){{ - down = findParent ? Tex.buttonEdgeDown1 : Tex.buttonEdgeDown3; - up = findParent ? Tex.buttonEdge1 : Tex.buttonEdge3; - over = findParent ? Tex.buttonEdgeOver1 : Tex.buttonEdgeOver3; + down = findParent ? Tex.buttonSideLeftDown : Tex.buttonSideRightDown; + up = findParent ? Tex.buttonSideLeft : Tex.buttonSideRight; + over = findParent ? Tex.buttonSideLeftOver : Tex.buttonSideRightOver; }}); this.findParent = findParent; clearChildren(); + addCaptureListener(new InputListener(){ int conPointer = -1; @@ -552,6 +572,22 @@ public class MapObjectivesCanvas extends WidgetGroup{ tile() != other.tile(); } + @Override + public void draw(){ + super.draw(); + float cx = x + width / 2f; + float cy = y + height / 2f; + + // these are all magic numbers tweaked until they looked good in-game, don't mind them. + Lines.stroke(3f, Pal.accent); + if(findParent){ + Lines.line(cx, cy + 9f, cx + 9f, cy); + Lines.line(cx + 9f, cy, cx, cy - 9f); + }else{ + Lines.square(cx, cy, 9f, 45f); + } + } + public ObjectiveTile tile(){ return ObjectiveTile.this; }