Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken 2022-07-17 10:27:31 -04:00
commit 1e7219f7d1
8 changed files with 306 additions and 265 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

View File

@ -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 = <Any>
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 = 寻路移动至敌人出生点

View File

@ -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;
}