新变化
每个版本的简短说明,按发布先后排列。完整列表在 更新日志里,那也正是应用更新时给你看的同一份文字。
2.18.0:设置市场
新增:设置市场。可以把某个角色正在使用的配置加上名称和说明分享出去,面向某个职业或所有人,也可以使用别人分享的配置。支持按人气、评分、时间或使用次数排序,按职业筛选,并可搜索。
每个条目在保存前都会在服务器上检查。只接受形状像本应用所写设置的键,值必须是真假、数字、短名称或它们的列表,其他一律拒绝,并说明是哪个字段、为什么。
通知 webhook、Telegram 令牌、代理地址、玩家名单和公会名称都会被移除,绝不随之传播。它们属于某个人的身份或某台机器,发布者会被明确告知哪些内容被剔除。
每个账号一票,可更改,再次点击同一个箭头即可撤回。每个条目都带有发布日期和它来自的应用版本。
应用一个条目时写在默认值之上,而不是覆盖角色已有的设置,因此条目只代表它明确列出的内容。
任何条目都可以带理由举报,并在不破坏投票和作者历史的前提下下架。
2.17.7:第二只手,以及会互相替换的安装包
修复:刺客从来不会装备第二把武器。在内部,任何武器都指向主手,而刺客是唯一在第二只手上拿武器的职业,因此那只手从未被考虑过:那里不会装备任何东西,也不会为它购买,卖出逻辑还把针对它的每一次升级当成垃圾卖掉。反馈是 60 级角色仍拿着 1 级的初始武器。
现在两只手分别比较,较弱的一只获得升级。盾牌在这只手上会被直接拒绝,因为戴上它等于用这个职业的第二把武器换取格挡几率。
修复:应用预设可能重置所有角色的设置。界面写入的版本标记比机器人落后五次迁移,于是预设告诉它设置很旧,它就重新执行了这些迁移:世界boss升级重新开启、优先远征、宝石替换开启、宠物顺序被改写、成就引擎关闭。应用到所有角色时,每个账号会同时中招。
点击预设或已保存的配置现在只是打开它。应用是单独的按钮,应用到所有角色会先询问并说明代价,之后还可以撤销:每个角色都会拿回原本的设置。
修复:装备分析对九个混合职业什么都不推荐。它把物品的职业需求直接与角色职业比较,而这只可能对战士、法师和斥候成立。
新增:Server Start 可以把图鉴推到你选定的百分比,为此最多花费设定数量的蘑菇,并在达成时在活动日志里写一行,方便你手动继续使用渴望。
新增:每个扫描到的玩家旁边的星标可以把他加入优先攻击列表,用来手动farm缺失的物品。
修复:覆盖旧版本安装可能留下两份。安装包有 .exe 和 .msi 两种,彼此互不知情,因此在 .exe 安装之上再装 .msi,就会在“应用和功能”里出现两个条目、磁盘上留下两份程序。现在无论用哪一个,都会先移除另一个再安装。
修复:“删除应用数据”几乎什么都没删。被删掉的只是 webview 缓存,而保存所有设置、日志、图鉴缓存和统计文件的文件夹仍然留着,在发现问题的机器上是 650 MB。现在两者都会删除,连同开机启动项和旧版本留下的快捷方式。
2.17.4:把开局摊在眼前看
开服。 头几天决定了一个角色余下的路,而真正划算的顺序,并不是模块默认运行的那个 顺序。开服会把开局分成几个阶段来打:先公会,然后是竞技场,直到能买下剪贴簿,接着是 剪贴簿本身,再接着是地下城,最后才是全部。某个阶段会压住不属于它的模块,而页面会把 每一个被压住的模块都点名说出来,于是「我的机器人为什么不做任务」在屏幕上就有了答 案。
剪贴簿排在最前面,理由值得知道:它的填充百分比本身,就是游戏在一切事情上给你的经验 加成。它每涨一点,之后每一个任务都更值钱,所以早点把它填起来,胜过早点去跑任务。
一条实时流。 当前目标和它的胜率、这一战实际能收到的物品(用游戏自己的美术画出 来)、接下来八个目标按战斗模块权衡的次序排列、排在它们后面等着的地下城,以及收益到 账时的即时呈现。这条队列就是机器人据以行动的那份名单,而不是另一份意见,所以这个面 板不会和机器人实际在做的事跑偏。
极速模式。 一个开关。它为下一场战斗付一个蘑菇,而不是等免费那次,于是簿子按你花 钱的速度填。它只在竞技场和剪贴簿两个阶段起作用,开局结束后自行停下,默认关闭,并且 有每日上限,而你的蘑菇储备在它之上依然生效。
剪贴簿爬虫一直在服务器的错误那一端干活。 它从名人堂第 0 页开始,也就是榜单的最 顶端,于是一个 15 级角色把每一个请求都花在了六百多级的玩家身上:爬了十分钟,缓存了 701 名玩家,其中打得过的有 2 个。现在它从你自己的名次开始。它也不再为已经拿到的信息 付钱了,因为名人堂的每一页都带着每个玩家的等级,而爬虫却在核对之前把 51 个名字全查 了一遍。同样的预算,换来你真打得了的对手。
匿名模式有三处漏网,全都在人们求助时会拍照的那些位置:每条活动记录前面的角色 名、设置同步横幅里关联的角色,以及日志中指令载荷内部的玩家名。这三处现在都做了遮 蔽。
冒险欲望显示的上限是错的。 每喝一杯啤酒,当天的最大值就提高 20,所以一个喝了十 一杯的角色其实有 320 分钟,而总览还在印「0/100」。
出于安全考虑,广告模块不再构建,也不再随版本发布。 代码留在一个功能开关后面,仍 然会被编译和测试,但任何已发布的构建里都不包含它。
2.17:把地狱电梯做对
地狱电梯有三处彼此独立的毛病,凑在一起的结果是:它什么都没 做,却也没报出任何错误。
它从来没有加入过活动。 只要没有本次进度的数据到来,它的状态就读作「不可用」,其 中也包括活动正在进行、只是角色还没加入的情况。而能产生那份数据的唯一动作恰恰就是加 入,于是它在等一件只有它自己能促成的事。开着、活动在进行、什么都没发生,也没有任何 东西说明原因。
每一次买零食都被拒。 商店的位次是从 1 开始数的,而发出去的是从 0 开始数的,于是 应用说的是第二件,服务器查的是第一件,回一句「零食类型不符」。一天之内:302 次被拒 的购买,零场战斗。
一个被拒的步骤就终结了整个周期。 购买跑在战斗之前,而且把拒绝当成致命错误,于是 商店说个不,就等于完全不往上爬了。领奖励、报名团本和采买,现在都改成尽力而为。
2.17 的其他改动
- 活动标签页里的地狱电梯页面,活动进行期间会自己出现:爬升进度、在售的零食连同 它打算买的那份、每张钥匙卡值多少,公会团本的层数、本层的怪物、最近几场战斗,以及 一行说明接下来会发生什么。
- 地狱电梯自己的设置,摆在世界 Boss 和传说地下城旁边,而不是埋在「其他」里。
- 它先只靠钥匙卡往上爬,等开始输了才买零食。 一份零食撑两层,所以在底层就买,等 于把卡花在了空手也能赢的层上。第一次落败,才是零食开始回本的地方。
- 又加了八种语言,全部完整:捷克语、波兰语、俄语、中文、日语、意大利语、法语和 西班牙语,加上原有的德语和英语。中文和日语还得到了它们需要的排版处理,因为在这两 种文字里,小于十一像素的字根本读不清。
- 一块可以连线的白板。 画出周期,把一个方块拖到另一个上面以插入次序,点一条线把 它剪断。白板可以命名、保存、导出、导入和撤销,并且跟着设置同步一起走。
- 按住一件物品就能看到它会替换掉什么,旁边并排显示身上那件,差值用颜色标出。
- 面向 ARM64 Linux 的无界面构建,适合树莓派或类似的板子。
- 数字和日期跟着你选的语言走,而不是跟着操作系统。一个在英文系统上选了 Deutsch 的德国人,读到的仍然是 1,234,567。
- 报名公会团本现在默认关闭。 以开启状态发布时,它在每个账号上、每一次都被拒绝。 参见地狱电梯。
2.16:一把锁,以及一个「不是那个构建」的构建
登录之后不久,应用有可能卡死。 状态轮询为了从账号会话里读两个字符串,又取了一把 读锁,而引擎在它整段网络请求期间都以写模式握着那把锁。任何落在周期中段的轮询都得等 完整个周期,排在它后面的轮询则堆成一列。
现在发出去的构建,就是被测试过的那个构建。 有一项可选功能是直接从发布流程送到用 户手上的,既没过 lint 也没过测试,因为它在每一道检查里都被编译排除了。现在检查会在 两种配置下都跑一遍。
2.14:时间表与保存的配置档
可以把机器人限制在特定的星期和小时。 在这些时间窗之外,它什么都不发。它不是安静 待机,而是停下。参见设置。
一个配置档库。 把你正在跑的设置存成一个名字,一键就能回到它。每个配置档都从设置 本身来描述自己,而不是靠一段只写过一次、一重存就过时的说明文字。
啤酒的相关开关搬到了蘑菇支出。 每杯啤酒都要一个蘑菇,而它们当时放在「酒馆与任 务」下面,于是「什么可以花我的蘑菇」这份清单悄悄漏掉了其中三项。
2.13:地下城次序,以及读起来像游戏里的数字
自己决定地下城被打的顺序。 默认关闭,因为机器人仍然会挑最有把握赢的目标,对几乎 所有人来说这才是对的。参见 地下城、高塔与要塞。
每一份有序列表都能拖动,也可以用箭头微调。
大数字按游戏显示的方式缩写。 木头、石头和灵魂读起来都一样。
一次被拒的尝试,不再整整退避一小时。 对一件下一分钟可能就重新成立的事来说,一小 时是错误的单位。
2.12:账号,以及一个可以自动化的命令行
已经登录过的账号不再从界面上消失,而它们的机器人还在后台照跑。
命令行版本加了非交互模式,会吐出一个 JSON 对象:角色列表、某个角色的完整状态、 战斗模块做出的判断。参见 CLI 参考。
2.11:匿名模式
顶栏的一个开关会隐藏应用里的每一个名字:你的角色、你的账号、对手、公会及其成 员、战斗历史、活动流和日志,于是一张截图可以原样分享出去。
名字是被替换成一个固定的替身,而不是抹掉,所以你仍然分得出那个赢了你两次的玩家是不 是同一个人。这个替身用的随机盐值在你自己的机器上生成,从不离开这台机器。参见 总览界面。
高塔告诉服务器的是它已经打通的那一层,而不是正要进入的那层,于是每次进攻都被拒 绝,共用的每日战斗白白花掉。
2.10:竞技场和剪贴簿合成一个模块
竞技场对战和剪贴簿收集合并成了一个模块。 从前是两个,规则也有两份,而这两份在 「胜率下限能不能否决一场免费战斗」这件事上彼此矛盾。
竞技场界面会把判断摊出来:每个来源各贡献了几个候选、每个值多少、哪个胜出,以及 在冷却期间它接下来会打谁。参见竞技场。
下载体积小了三分之一,从 364 MB 降到 238 MB,而看上去分毫不差。