Adapt interface to display notch of mac laptops (#8666)

* Adapt interface to display notch of mac laptops

* `macNotchHeight` as a separate variable, and description for mac notch setting
This commit is contained in:
Alex Gusev
2023-06-04 12:43:07 -04:00
committed by GitHub
parent 97a603204b
commit 32c146cdf1
39 changed files with 365 additions and 281 deletions
+84 -82
View File
@@ -15,16 +15,16 @@ link.wiki.description = Mindustry 官方 Wiki
link.suggestions.description = 提出新特性的建议
link.bug.description = 发现了 Bug ?在这里报告
linkopen = 这个服务器向您发送了一条链接,你确定想要打开它吗?\n\n[sky]{0}
linkfail = 打开链接失败!\n网址已复制到您的剪贴板。
linkfail = 打开链接失败!\n网址已复制到您的剪贴板。
screenshot = 屏幕截图已保存到 {0}
screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
gameover = 游戏结束
gameover.disconnect = 断开连接
gameover.pvp = [accent] {0}[]队获胜!
gameover.waiting = [accent]正在更换下一张地图…
highscore = [accent]新纪录!
copied = 已复制
indev.notready = 这部分玩法还未开发完成。
indev.notready = 这部分玩法还未开发完成。
load.sound = 音乐加载中
load.map = 地图加载中
@@ -38,7 +38,7 @@ be.update = 发现游戏最新BE版本:
be.update.confirm = 现在下载并重启游戏?
be.updating = 更新中…
be.ignore = 忽略
be.noupdates = 未发现更新。
be.noupdates = 未发现更新。
be.check = 检测更新
mods.browser = 模组浏览器
@@ -59,7 +59,7 @@ schematic.add = 保存蓝图…
schematics = 蓝图
schematic.search = Search schematics...
schematic.replace = 存在同名蓝图,是否覆盖?
schematic.exists = 存在同名蓝图。
schematic.exists = 存在同名蓝图。
schematic.import = 导入蓝图…
schematic.exportfile = 导出文件
schematic.importfile = 从文件导入
@@ -68,11 +68,11 @@ schematic.copy = 复制到剪贴板
schematic.copy.import = 从剪贴板导入
schematic.shareworkshop = 在创意工坊上分享
schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻转蓝图
schematic.saved = 蓝图已保存。
schematic.saved = 蓝图已保存。
schematic.delete.confirm = 确定删除蓝图?
schematic.edit = Edit Schematic
schematic.info = {0}x{1}{2} 个建筑
schematic.disabled = [scarlet]蓝图已禁用![]\n您不能在此[accent]地图[]或[accent]服务器[]上使用蓝图。
schematic.disabled = [scarlet]蓝图已禁用![]\n您不能在此[accent]地图[]或[accent]服务器[]上使用蓝图。
schematic.tags = 标签:
schematic.edittags = 编辑标签
schematic.addtag = 添加新标签
@@ -81,7 +81,7 @@ schematic.icontag = 图标标签
schematic.renametag = 重命名标签
schematic.tagged = {0} tagged
schematic.tagdelconfirm = 确定要完全删除这个标签吗?
schematic.tagexists = 此标签已经存在。
schematic.tagexists = 此标签已经存在。
stats = 统计资料
stats.wave = 防守波数
@@ -164,27 +164,27 @@ mod.circulardependencies.details = This mod has dependencies that depends on eac
mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}.
mod.requiresversion = Requires game version: [red]{0}
mod.errors = 读取内容时发生错误。
mod.noerrorplay = [scarlet]您的模组发生了错误。 []禁用相关模组或修复错误后才能进入游戏。
mod.nowdisabled = [scarlet]“{0}”模组缺少依赖的其他模组:[accent]{1}\n[lightgray]需要先下载上述模组。 \n此模组现在将被自动禁用。
mod.errors = 读取内容时发生错误。
mod.noerrorplay = [scarlet]您的模组发生了错误。 []禁用相关模组或修复错误后才能进入游戏。
mod.nowdisabled = [scarlet]“{0}”模组缺少依赖的其他模组:[accent]{1}\n[lightgray]需要先下载上述模组。 \n此模组现在将被自动禁用。
mod.enable = 启用
mod.requiresrestart = 游戏将退出以应用模组修改。
mod.requiresrestart = 游戏将退出以应用模组修改。
mod.reloadrequired = [scarlet]需要重启
mod.import = 导入模组
mod.import.file = 导入文件
mod.import.github = 从 GitHub 导入模组
mod.jarwarn = [scarlet]JAR模组存在天然的危险性。 []\n请确保此模组来源安全可靠!
mod.item.remove = 这个物品是[accent]'{0}'[]模组的一部分。 卸载该模组即可删除此物品。
mod.remove.confirm = 此模组将被删除。
mod.item.remove = 这个物品是[accent]'{0}'[]模组的一部分。 卸载该模组即可删除此物品。
mod.remove.confirm = 此模组将被删除。
mod.author = [lightgray]作者:[]{0}
mod.missing = 此存档包含您最近更新或者尚未安装的模组,加载可能会导致存档损坏。 确定要加载吗?\n[lightgray]模组:\n{0}
mod.preview.missing = 在创意工坊中发布此模组前,您必须添加一张预览图片。 \n请将名为[accent]preview.png[]的图片放入模组文件夹,然后重试。
mod.folder.missing = 只有文件夹形式的模组能在创意工坊上发布。 \n要将模组转换为文件夹,只需将其文件解压缩到文件夹中并删除压缩包,然后重新启动游戏或重新加载模组。
mod.scripts.disable = 您的设备不支持含有脚本的模组,必须禁用相关模组才能进入游戏。
mod.preview.missing = 在创意工坊中发布此模组前,您必须添加一张预览图片。 \n请将名为[accent]preview.png[]的图片放入模组文件夹,然后重试。
mod.folder.missing = 只有文件夹形式的模组能在创意工坊上发布。 \n要将模组转换为文件夹,只需将其文件解压缩到文件夹中并删除压缩包,然后重新启动游戏或重新加载模组。
mod.scripts.disable = 您的设备不支持含有脚本的模组,必须禁用相关模组才能进入游戏。
about.button = 关于
name = 名字:
noname = 先取一个[accent]玩家名称[]。
noname = 先取一个[accent]玩家名称[]。
search = 搜索:
planetmap = 行星地图
launchcore = 发射核心
@@ -205,32 +205,32 @@ research.load = 加载
research.discard = 丢弃
research.list = [lightgray]研究:
research = 研究
researched = [lightgray]{0}己研究。
researched = [lightgray]{0}己研究。
research.progress = {0}%完成度
players = {0}名玩家在线
players.single = {0}名玩家在线
players.search = 搜索
players.notfound = [gray]没有找到玩家。
players.notfound = [gray]没有找到玩家。
server.closing = [accent]关闭服务器…
server.kicked.kick = 您被踢出了服务器。
server.kicked.whitelist = 您不在服务器的白名单中。
server.kicked.serverClose = 服务器已关闭。
server.kicked.vote = 您被投票踢出了服务器。
server.kicked.clientOutdated = 客户端版本过低,请更新您的游戏。
server.kicked.serverOutdated = 服务器版本过低,请联系服务器管理员升级服务器。
server.kicked.banned = 您在这个服务器上被封禁了。
server.kicked.typeMismatch = 此服务器与您的不稳定测试版不兼容。
server.kicked.playerLimit = 服务器已满,请等待一个空位。
server.kicked.kick = 您被踢出了服务器。
server.kicked.whitelist = 您不在服务器的白名单中。
server.kicked.serverClose = 服务器已关闭。
server.kicked.vote = 您被投票踢出了服务器。
server.kicked.clientOutdated = 客户端版本过低,请更新您的游戏。
server.kicked.serverOutdated = 服务器版本过低,请联系服务器管理员升级服务器。
server.kicked.banned = 您在这个服务器上被封禁了。
server.kicked.typeMismatch = 此服务器与您的不稳定测试版不兼容。
server.kicked.playerLimit = 服务器已满,请等待一个空位。
server.kicked.recentKick = 您最近被踢出过服务器。 \n请稍后重新连接!
server.kicked.nameInUse = 服务器中有人与您重名了。
server.kicked.nameEmpty = 玩家名称无效。
server.kicked.idInUse = 您已经连接了这个服务器!不允许重复连接。
server.kicked.customClient = 这个服务器不支持自行编译的客户端。 请下载官方版本。
server.kicked.nameInUse = 服务器中有人与您重名了。
server.kicked.nameEmpty = 玩家名称无效。
server.kicked.idInUse = 您已经连接了这个服务器!不允许重复连接。
server.kicked.customClient = 这个服务器不支持自行编译的客户端。 请下载官方版本。
server.kicked.gameover = 游戏结束!
server.kicked.serverRestarting = 服务器正在重启。
server.kicked.serverRestarting = 服务器正在重启。
server.versions = 客户端版本:[accent]{0}[]\n服务器版本:[accent]{1}[]
host.info = [accent]创建[]按钮会在[scarlet]6567 []端口启动一个服务器。 []\n同一个[lightgray]Wi-Fi或局域网[]下的玩家,在服务器列表中都应该能看到您的服务器。 \n\n如果您想让别人从任何地方通过IP地址连接,需要设定[accent]端口转发[]。 \n\n[lightgray]注意:如果某人无法连接到您的局域网游戏,请确保在防火墙里设置了允许Mindustry访问本地网络。 注意公有网络有时可能不允许服务器发现。
join.info = 您可以输入[accent]服务器的IP地址[],也可以寻找[accent]局域网[]或[accent]全局[]中的服务器来连接。 \n支持局域网或广域网的多人游戏。 \n\n[lightgray]如果您想通过IP地址连接某个服务器,需要向服务器建立者询问他的IP地址。 可以在服务器所在的设备上百度“IP地址”来获取。
host.info = [accent]创建[]按钮会在[scarlet]6567 []端口启动一个服务器。 []\n同一个[lightgray]Wi-Fi或局域网[]下的玩家,在服务器列表中都应该能看到您的服务器。 \n\n如果您想让别人从任何地方通过IP地址连接,需要设定[accent]端口转发[]。 \n\n[lightgray]注意:如果某人无法连接到您的局域网游戏,请确保在防火墙里设置了允许Mindustry访问本地网络。 注意公有网络有时可能不允许服务器发现。
join.info = 您可以输入[accent]服务器的IP地址[],也可以寻找[accent]局域网[]或[accent]全局[]中的服务器来连接。 \n支持局域网或广域网的多人游戏。 \n\n[lightgray]如果您想通过IP地址连接某个服务器,需要向服务器建立者询问他的IP地址。 可以在服务器所在的设备上百度“IP地址”来获取。
hostserver = 创建多人游戏
invitefriends = 邀请好友
hostserver.mobile = 创建多人游戏
@@ -241,14 +241,14 @@ hosts.discovering = 正在搜索局域网服务器
hosts.discovering.any = 正在搜索服务器
server.refreshing = 正在刷新服务器
hosts.none = [lightgray]未发现局域网服务器!
host.invalid = [scarlet]无法连接服务器。
host.invalid = [scarlet]无法连接服务器。
servers.local = 本地服务器
servers.local.steam = 公开游戏与本地服务器
servers.remote = 远程服务器
servers.global = 社区服务器
servers.disclaimer = 社区服务器[accent]并非[]由开发者拥有或管理。 \n\n其中可能有其他玩家制作的,不适合所有年龄段的内容。
servers.disclaimer = 社区服务器[accent]并非[]由开发者拥有或管理。 \n\n其中可能有其他玩家制作的,不适合所有年龄段的内容。
servers.showhidden = 显示隐藏的服务器
server.shown = 显示
server.hidden = 隐藏
@@ -262,7 +262,7 @@ trace.mobile = 移动客户端:[accent]{0}
trace.modclient = 自定义客户端:[accent]{0}
trace.times.joined = 进入服务器次数: [accent]{0}
trace.times.kicked = 踢出服务器次数: [accent]{0}
invalidid = 无效的客户端ID!提交一个错误报告。
invalidid = 无效的客户端ID!提交一个错误报告。
server.bans = 黑名单
server.bans.none = 没有被封禁的玩家!
server.admins = 管理员
@@ -283,18 +283,18 @@ confirmunadmin = 确定收回玩家“{0}[white]”的管理员权限?
joingame.title = 加入游戏
joingame.ip = 地址:
disconnect = 已断开连接
disconnect.error = 连接错误。
disconnect.closed = 连接关闭。
disconnect.timeout = 连接超时。
disconnect.error = 连接错误。
disconnect.closed = 连接关闭。
disconnect.timeout = 连接超时。
disconnect.data = 地图加载失败!
cantconnect = 无法加入游戏([accent]{0}[])。
cantconnect = 无法加入游戏([accent]{0}[])。
connecting = [accent]连接中…
reconnecting = [accent]重新连接中…
connecting.data = [accent]地图加载中…
server.port = 端口:
server.addressinuse = 地址已被占用!
server.invalidport = 无效的端口!
server.error = [scarlet]创建服务器错误。
server.error = [scarlet]创建服务器错误。
save.new = 新存档
save.overwrite = 确定要覆盖这个存档吗?
save.nocampaign = Individual save files from the campaign cannot be imported.
@@ -311,7 +311,7 @@ save.import = 导入存档
save.newslot = 存档名称:
save.rename = 重命名
save.rename.text = 新名称:
selectslot = 选择一个存档。
selectslot = 选择一个存档。
slot = [accent]存档位{0}
editmessage = 编辑消息
save.corrupted = 存档损坏或无效!
@@ -347,14 +347,14 @@ back = 返回
max = 最大值
objective = 任务目标
crash.export = 导出崩溃日志
crash.none = 未找到崩溃日志。
crash.exported = 崩溃日志已导出。
crash.none = 未找到崩溃日志。
crash.exported = 崩溃日志已导出。
data.export = 导出数据
data.import = 导入数据
data.openfolder = 打开数据文件夹
data.exported = 数据已导出。
data.invalid = 游戏数据无效。
data.import.confirm = 导入外部游戏数据将覆盖本地[scarlet]全部[]的游戏数据。 \n[accent]此操作无法撤销![]\n\n数据导入后将自动退出游戏。
data.exported = 数据已导出。
data.invalid = 游戏数据无效。
data.import.confirm = 导入外部游戏数据将覆盖本地[scarlet]全部[]的游戏数据。 \n[accent]此操作无法撤销![]\n\n数据导入后将自动退出游戏。
quit.confirm = 确定退出?
loading = [accent]加载中…
downloading = [accent]下载中…
@@ -378,8 +378,8 @@ wave.enemies = [lightgray]剩余 {0} 个敌人
wave.enemycores = [accent]{0}[lightgray] 敌方核心
wave.enemycore = [accent]{0}[lightgray] 敌方核心
wave.enemy = [lightgray]剩余 {0} 个敌人
wave.guardianwarn = Boss 将在[accent]{0}[]波后到来。
wave.guardianwarn.one = Boss 将在[accent]{0}[]波后到来。
wave.guardianwarn = Boss 将在[accent]{0}[]波后到来。
wave.guardianwarn.one = Boss 将在[accent]{0}[]波后到来。
loadimage = 加载图片
saveimage = 保存图片
unknown = 未知
@@ -387,19 +387,19 @@ custom = 自定义
builtin = 内置
map.delete.confirm = 您确定要删除这张地图吗?这个操作无法撤销!
map.random = [accent]随机地图
map.nospawn = 这个地图缺少己方核心!请在地图编辑器中添加一个[#{0}]{1}[]队的核心。
map.nospawn.pvp = 这个地图缺少对方核心!请在地图编辑器中添加一个[scarlet]除黄队以外[]的核心。
map.nospawn.attack = 这个地图缺少敌方核心!请在地图编辑器中添加一个[#{0}]{1}[]队的核心。
map.invalid = 地图载入错误:地图文件可能已经损坏。
map.nospawn = 这个地图缺少己方核心!请在地图编辑器中添加一个[#{0}]{1}[]队的核心。
map.nospawn.pvp = 这个地图缺少对方核心!请在地图编辑器中添加一个[scarlet]除黄队以外[]的核心。
map.nospawn.attack = 这个地图缺少敌方核心!请在地图编辑器中添加一个[#{0}]{1}[]队的核心。
map.invalid = 地图载入错误:地图文件可能已经损坏。
workshop.update = 更新内容
workshop.error = 获取创意工坊详细信息时出错:{0}
map.publish.confirm = 确定上传此地图?\n\n[lightgray]确定您同意Steam创意工坊的最终用户许可协议,否则您的地图将无法展示!
workshop.menu = 选择要对此项目进行的操作。
workshop.menu = 选择要对此项目进行的操作。
workshop.info = 项目信息
changelog = 更新日志(可选):
updatedesc = 覆盖标题和描述
eula = Steam最终用户许可协议
missing = 此项目已被删除或转移。 \n[lightgray]链接已在创意工坊中被删除。
missing = 此项目已被删除或转移。 \n[lightgray]链接已在创意工坊中被删除。
publishing = [accent]正在发布…
publish.confirm = 确定发布?\n\n[lightgray]请确认您同意创意工坊的最终用户许可协议,否则您的项目无法展示!
publish.error = 发布项目时出错:{0}
@@ -416,7 +416,7 @@ editor.oregen.info = 矿脉的生成:
editor.mapinfo = 地图信息
editor.author = 作者:
editor.description = 描述:
editor.nodescription = 地图需要至少4个字符的描述才能发布。
editor.nodescription = 地图需要至少4个字符的描述才能发布。
editor.waves = 波次
editor.rules = 规则
editor.generation = 生成
@@ -455,9 +455,9 @@ waves.edit = 编辑…
waves.random = Random
waves.copy = 复制到剪贴板
waves.load = 从剪贴板读取
waves.invalid = 剪贴板中的波次信息无效。
waves.copied = 波次信息已复制。
waves.none = 没有定义敌人波次。 \n注意,这将自动替换为默认的波次列表。
waves.invalid = 剪贴板中的波次信息无效。
waves.copied = 波次信息已复制。
waves.none = 没有定义敌人波次。 \n注意,这将自动替换为默认的波次列表。
waves.sort = 排序方式
waves.sort.reverse = 反向排序
waves.sort.begin = 出场顺序
@@ -481,12 +481,12 @@ editor.name = 名称:
editor.spawn = 生成单位
editor.removeunit = 移除单位
editor.teams = 队伍
editor.errorload = 读取文件出错。
editor.errorsave = 保存文件出错。
editor.errorimage = 这是一幅图片,而不是地图。
editor.errorlegacy = 此地图太旧了,旧的地图格式已不再支持。
editor.errornot = 这不是地图文件。
editor.errorheader = 此地图文件无效或已损坏。
editor.errorload = 读取文件出错。
editor.errorsave = 保存文件出错。
editor.errorimage = 这是一幅图片,而不是地图。
editor.errorlegacy = 此地图太旧了,旧的地图格式已不再支持。
editor.errornot = 这不是地图文件。
editor.errorheader = 此地图文件无效或已损坏。
editor.errorname = 地图没有定义名称。 加载的可能是存档文件?
editor.update = 更新
editor.randomize = 重新生成
@@ -599,7 +599,7 @@ ping = 延迟:{0}毫秒
tps = TPS: {0}
memory = 内存:{0}MB
memory2 = 内存:\n {0}MB +\n {1}MB
language.restart = 重启游戏后语言设置才能生效。
language.restart = 重启游戏后语言设置才能生效。
settings = 设置
tutorial = 教程
tutorial.retake = 重玩教程
@@ -607,7 +607,7 @@ editor = 地图编辑器
mapeditor = 地图编辑器
abandon = 放弃
abandon.text = 这个区块及其资源将会落入敌手。
abandon.text = 这个区块及其资源将会落入敌手。
locked = 锁定
complete = [lightgray]解锁条件:
requirement.wave = 在{1}坚持到第{0}波
@@ -618,8 +618,8 @@ requirement.capture = 占领{0}
requirement.onplanet = 控制区块{0}
requirement.onsector = 着陆区块:{0}
launch.text = 发射
research.multiplayer = 只有服务器创建者能研究科技。
map.multiplayer = 只有服务器创建者能查看区块。
research.multiplayer = 只有服务器创建者能研究科技。
map.multiplayer = 只有服务器创建者能查看区块。
uncover = 已解锁
configure = 设定装运的物资
@@ -664,7 +664,7 @@ objective.nuclearlaunch = [accent]⚠ 侦测到核打击:[lightgray]{0}
announce.nuclearstrike = [red]⚠ 核打击接近中 ⚠\n[lightgray]立刻建造备用核心
loadout = 装运
resources = 资源
resources = 资源
resources.max = 最大
bannedblocks = 禁用建筑
objectives = 任务目标
@@ -849,7 +849,7 @@ settings.sound = 声音
settings.graphics = 图形
settings.cleardata = 清除游戏数据…
settings.clear.confirm = 确定清除此数据?\n此操作无法撤销!
settings.clearall.confirm = [scarlet]警告![]\n这将清除所有数据,包括存档、 地图、 解锁进度和按键绑定。\n按“确定”后,游戏将删除所有数据并自动退出。
settings.clearall.confirm = [scarlet]警告![]\n这将清除所有数据,包括存档、 地图、 解锁进度和按键绑定。\n按“确定”后,游戏将删除所有数据并自动退出。
settings.clearsaves.confirm = 确定清除所有存档?
settings.clearsaves = 清除存档
settings.clearresearch = 清除研究进度
@@ -1114,6 +1114,8 @@ setting.bridgeopacity.name = 桥梁不透明度
setting.playerchat.name = 显示玩家聊天气泡
setting.showweather.name = 显示天气效果
setting.hidedisplays.name = 不显示逻辑绘图
setting.macnotch.name = 立陶宛語
setting.macnotch.description = 需要重新启动
steam.friendsonly = Friends Only
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
public.beta = 请注意,测试版的游戏不能公开可见。
@@ -2186,9 +2188,9 @@ unit.beta.description = 保护次代核心,可建造建筑。
unit.gamma.description = 保护终代核心,可建造建筑。
unit.retusa.description = 向敌人发射追踪鱼雷,并修复己方单位。
unit.oxynoe.description = 向敌人发射火焰束,并修复己方建筑。 搭载一台单点防御炮塔,能够防御来袭的子弹。
unit.cyerce.description = 向敌人发射追踪集束导弹,并修复己方单位。
unit.aegires.description = 产生能量场,使范围内的敌方建筑与单位受到电击,对己方则进行修复。
unit.navanax.description = 发射大型电磁爆弹,对敌方电网造成显著破坏并修复己方建筑。 搭载4台自动激光炮台,能熔化靠近的敌人。
unit.cyerce.description = 向敌人发射追踪集束导弹,并修复己方单位。
unit.aegires.description = 产生能量场,使范围内的敌方建筑与单位受到电击,对己方则进行修复。
unit.navanax.description = 发射大型电磁爆弹,对敌方电网造成显著破坏并修复己方建筑。 搭载4台自动激光炮台,能熔化靠近的敌人。
#埃里克尔
unit.stell.description = 向敌人发射普通子弹。
@@ -2196,11 +2198,11 @@ unit.locus.description = 向敌人交替发射子弹。
unit.precept.description = 向敌人发射穿透性集束子弹。
unit.vanquish.description = 向敌人发射大型穿透性分裂子弹。
unit.conquer.description = 向敌人发射大量大型穿透性子弹。
unit.merui.description = 向地面敌人发射远程火炮。 可以跨越大多数地形。
unit.cleroi.description = 向敌人发射双发炮弹。 搭载一台单点防御炮塔,能够防御来袭的子弹。 可以跨越大多数地形。
unit.anthicus.description = 向敌人发射远程追踪导弹。 可以跨越大多数地形。
unit.tecta.description = 向敌人发射等离子追踪导弹。 用它前方的护盾保护自己。 可以跨越大多数地形。
unit.collaris.description = 向敌人发射远程分裂火炮。 可以跨越大多数地形。
unit.merui.description = 向地面敌人发射远程火炮。 可以跨越大多数地形。
unit.cleroi.description = 向敌人发射双发炮弹。 搭载一台单点防御炮塔,能够防御来袭的子弹。 可以跨越大多数地形。
unit.anthicus.description = 向敌人发射远程追踪导弹。 可以跨越大多数地形。
unit.tecta.description = 向敌人发射等离子追踪导弹。 用它前方的护盾保护自己。 可以跨越大多数地形。
unit.collaris.description = 向敌人发射远程分裂火炮。 可以跨越大多数地形。
unit.elude.description = 向敌人发射螺旋状追踪子弹。 可以在液体上悬浮。
unit.avert.description = 向敌人发射螺旋状扭曲子弹。
unit.obviate.description = 向敌人发射螺旋状闪电球。