因韩服计算器的计算模型有些不太好调整,加上个人精力有限,故而魔改版本决定只同步更新到希洛克版本之前的内容。如需计算希洛克相关内容,可选择使用纸飞机计算器 。
2020-04-14~2020-10-02,从开始魔改韩械汉化的韩服计算器至今已接近6个月,刚开始魔改时也没想到会坚持这么久,说实话自己也有点意外。这一路感谢各位的支持与反馈,就此别过,希望希洛克团本中能与各位偶遇(跨5的一只卡比召唤和菜鸡奶妈哈哈)
小广告:我最近开发的dnf蚊子腿小助手现已支持道聚城、心悦战场(任务与自动组队)、以及922蚊子腿中的大部分,欢迎大家下载使用
本计算器基于韩服dawnclass-黎明工作室 所写计算器v2.3.1、韩械 汉化并加入国服特色的一键史诗搭配计算器,在其上进行了一些性能优化、扩展功能、易用性改动及bugfix。
目前实现了搜索百变怪、升级工作服、跨界、多武器搭配等功能,并对启动和搜索性能做了一定优化,在操作易用性上加了一些调整。具体改动内容可见下文
https://github.com/dawnclass/DF_Calculator
https://blog.naver.com/PostView.nhn?blogId=dawnclass16&logNo=221931875095#
https://drive.google.com/file/d/1p8ZdzW_NzGKHHOtfPTuZSr1YgSEVtYCj/view
链接: https://fzls.lanzous.com/s/dnf-calc 提取码: fzls 链接: https://fzls.lanzous.com/b01begisj 提取码: fzls
- 同步100级史诗装备改版数据(之前一直懒的搞<_<快黑鸭了,还是弄一弄吧哈哈哈)
- 增加2020国庆称号
- 增加2021春节称号
- 新增2021春节宠物
- 跨界功能增加支持神话传送石,可通过配置开启允许跨界神话
- 因韩服计算器的计算模型有些不太好调整,加上个人精力有限,故而魔改版本决定只同步更新到希洛克版本之前的内容。如需计算希洛克及以后版本的相关内容,可选择使用我参与维护的另一款计算器:纸飞机计算器
- 小广告:我最近开发的dnf蚊子腿小助手现已支持你能见到的大部分dnf蚊子腿,欢迎大家下载使用0-0
- To Be Continued...
- 同步100级史诗装备改版数据(之前一直懒的搞<_<快黑鸭了,还是弄一弄吧哈哈哈)
- 跨界功能增加支持神话传送石,可通过配置开启允许跨界神话
- 增加2020国庆称号
- 增加2021春节称号
- 新增2021春节宠物
- 修复未安装gui库而导致的打包的配置工具无法运行的问题
- 增加奶系武器换装功能,并增加换装武器补正配置
- 修复奶系职业运行出错的问题
因韩服计算器的计算模型有些不太好调整,加上个人精力有限,故而魔改版本决定只同步更新到希洛克版本之前的内容。如需计算希洛克相关内容,可选择使用纸飞机计算器 。
- 换装的导出excel代码有点问题
- 增加支持本地配置文件config.toml.local功能,从而能够修改配置而不影响入库版本
- 最近新写了个【道聚城自动签到领奖助手】,有兴趣的朋友可以打开【作者其他软件.txt】查看源码和二进制地址,下载试用
- 将数据表中的公式改为最终值,避免后续使用代码修改数据表时公式不能解析而导致数据出错
- 更新默认模板配置
- 修复切单件时,判定是否可以切神话的逻辑有误的问题
- 默认包含手动切神话的方案
- 结果界面装备新增tips,方便查看名称
- 主界面增加tips
- 一键点亮全部、重置可配置是否包含神话、武器
- 重构ui布局逻辑,改为配置驱动,并支持嵌套打开多层次窗口,简化后续添加新装备的流程,可参考示例自行调整布局和层次结构
- 移除原有的套装内装备顺序配置,改用新版ui布局配置来实现
- 基于新版布局逻辑来重构获取装备和套装列表相关逻辑,如点击、检查装备和套装等
- 修正一个可能因时序导致重置装备时,神话装备仍在闪烁的问题
- 重构一键点亮、重置
- 增加配置是否在启动时打开特定嵌套区域
- 按照新本布局框架来重新布局装备
- 增加代码内的默认布局配置,从而在配置文件无相关配置时也能正常显示
- 新增黄字和爆伤词条相关词条、数据、逻辑、周边处理等
- 从韩服同步一些数据 1.1 深渊三件套的力智加成为1.031.02 = 1.0506 1.2 深渊神话上衣应该加一级太阳和勇气 1.3 修正传说装备数值 1.4 歧路鞋子的勇气力智加成应为1.041.02=1.0608
- 同步新的智慧产物、轮回、时空系列装备、超界板甲、普雷装备,并修正相关数据
- 添加新装备对应图标、套装图标等各种数据
- 根据新版ui框架新增新装备对应的ui配置
- 录入新装备的暗抗、移速等数据,并特殊处理新装备的一些条件触发属性
- 新增85ss智慧产物、85ss和95鸟背首饰特殊的装备、套装的图标、属性、特殊逻辑处理
- 默认装备加一个去重判断,为日后可以手动选择这类装备做准备
- 调整装备存盘的实现,从而有添加新装备的时候能自动加入到preset中
- 扩展可供存档的装备数目为1300
- 解决扣减技攻时算法有问题的bug
- 计算技攻时使用最终词条值
- 调整武器的判定方式,改为使用通用规则判定
- 优化一些异常情况时的提示
- 默认不启用负属性装备补正和换装槽位补正,从而能够默认对比满属性装备的强度对比。当选定对应装备后,再自行开启来看看与满属性的差异
- 增加是否启用负数的装备补正配置和是否启用换装槽位补正配置,前者用于方便一键将填写的装备补正属性干掉,来对比满属性装备的差异,而后者用于一键将换装槽位打造视为与太阳槽位一样
- 修改普雷武器的图标为夜语黑瞳武器自选礼盒的图标
- 暗抗移速低于满属性时在结果里提示一下
- 大幽魂、军神的检查配置默认关闭,有需求自行打开
- 修复3.13.0版本选择多个武器后取消选择武器时,gif功能会坏掉的问题
- 主界面新增已选武器界面
- 结果界面增加显示武器图标
- 从韩服最新版将各个武器的图标拉过来,并改名为配置表中的编码
- 深渊三件套会加一级太阳,之前的数据漏了
- 配置表读取失败时判断是否是因为使用记事本导致的
- 启动时增加检查新增的三个补正配置项
- 增加增量更新的支持
- 增加增量更新相关文件
- 发布流程增加制作增量包
- 增加应用增量包的脚本
- 增加增量更新的教程
- 发布脚本添加压缩流程
- 新增额外暗抗、额外移速
- 修正读档判断逻辑
- 更新『真的超级傻』提供的文档
- 暂时不确定韩服作者加的默认的额外1%技攻是啥。在没有弄清楚前暂时先注释掉了
- 调整大幽魂暗抗开关的判定范围,改为仅控制伤害相关词条的调整
- 军神移速开关仅影响三件套的力智词条,其余判定不影响
- 新增暗抗、移速相关faq
- 调整发布脚本,使发布的目录结构更清晰
-
由于跨进程队列的相关操作比内存中操作开销要大得多,因此调整结果传输方式
-
之前:直接将结果传到主进程,由主进程进行堆排序,主要时间开销花在从队列中取数据
-
调整:各个工作进程本地维护一个最小堆,在计算结果达到一定量之前,使用本地的堆进行预筛选。处理特定数目后,将本地堆的当前计算结果同步到主进程进行合并。根据特定规则在每次同步的时机动态调整这个批量大小,使得同步队列中等待处理的项尽可能维持在某个数目以下,使数据不堆积。
-
增加传输相关配置,可自行在config.toml中搜索[data_transfer]阅读相关说明
-
性能对比(以我的召唤存档为测试数据,全点亮装备时,在i7-7700K环境测试)
版本 描述 速度 耗时 计算速度 v3.10.0 工作进程直接将计算结果传输到主进程 中速 105.58s 2279/s v3.10.0 工作进程直接将计算结果传输到主进程 慢速 无,一分钟时计速 628/s v3.10.0 工作进程直接将计算结果传输到主进程 超慢速 无,一分钟时计速 875/s v3.11.0 工作进程本地预先排行,定量同步到主进程 中速 87.71s 2690/s v3.11.0 工作进程本地预先排行,定量同步到主进程 慢速 无,一分钟时计速 18250/s v3.11.0 工作进程本地预先排行,定量同步到主进程 超慢速 无,一分钟时计速 32079/s
- 新增『真的超级傻』贡献的【使用说明:从入门到入土.docx】
- 非调试版本默认只生成主进程的日志文件,仅在调试版本中在其他进程(如工作进程,SyncManager进程)中也生成日志文件
- 日志文件名中增加进程名信息,方便确认各个日志的归属进程
- 程序全局仅初始化单个multiprocessing.Manager实例
- 导出excel中增加移速与暗抗词条
- 根据『真的超级傻』的提示,神之意向默认加20点全属性抗性
- 根据『真的超级傻』的提示,填的13移速分别来自快捷栏装备的5%移速和技能【唤醒】的8%移速
- 将基本抗性中技能【唤醒】提供的11全属性抗性单独拿出来
- 输出职业新增暗抗词条和移速词条
- 大幽魂系列装备和套装、军神三件套各个词条效果增加检查暗抗和移速,达到对应条件才应用
- 自定义特色新增暗抗和移速词条
- 输出职业界面额外显示移速和暗抗
- 处理各个装备特殊生效的移速和暗抗 5.1 吞噬神话的额外50%三速加成 5.2 水果三件套或五件套,若同时拥有裤子12080和鞋子15080,则额外加成5%移速 5.3 坎坷命运的各个装备减的减速效果 5.4 大祭司神话对其他装备词条的增幅 5.5 呐喊神话手镯对二件套的加速效果额外增幅一倍
- 增加检查大幽魂和军神前置条件的开关,默认开启
- 将所有默认的宠物、称号添加这两个词条对应属性,默认自定义特色中增加新词条的示例
- 根据游戏中描述,将现有所有装备的暗抗词条和移速词条数据添加到data.xlsx中one表中
- 编辑框提示随主属性选择变换
- 切换无配置存档时清空界面
- 调整界面元素间距策略
- 修正一个武器名称错误
- 百分比属性添加 % 标识
- 增加配置是否考虑手动切装(指登记和身上不同神话)的方案,默认不考虑(因为实际用起来会比较麻烦)
- 更新默认召唤和奶妈的打造
- 修正奶妈基础智力
- 调整默认打桩系数
- 称号和宠物中,概率触发的词条均视为百分百触发(因为实战几乎必定触发)
- 默认大恍惚增幅强化数值改为0,改为推荐使用自定义特色来实现不同部位应用不同的增幅数值
- 新增晶体契约,修正光环技能为全部技能
- 支持不同武器适用不同的打造,具体使用方式参照默认配置中召唤的武器示例(可搜索火焰地狱找到对应区域)
- 调整ui布局
- 训练官、装扮徽章增加攻击力
- 增加一键增幅/强化所有装备的功能
- 武器类型增加按职业筛选功能
- 调整删除配置逻辑
- 修正辅助装备标签错误问题
- 调整保存时的提示语,告知需点击重载按钮方可生效
- 更新安装教程,增加打不开配置工具时的打包流程
- 新增由AJOIL提供的简易使用说明
- 天府星:增加新增存档的按钮,以及增加蓝色三攻徽章的支持
- 仅在python3.8之后的版本引入typing.Protocol,从而使用python3.8之前的版本也能正常运行
- 修复gui配置工具中各部位的徽章的四维附魔实际写为属强的bug(三攻暂未支持,后续@天府星将会添加)
- 将DbArl(天府星)为魔改计算器添加的gui配置工具整合到主界面的存档按钮下方的配置工具按钮,点击即可打开gui配置工具
- 调整发布脚本和打包脚本,将配置工具加入到对应流程中
- 将配置工具的仓库加入到子模块,方便日后同步更新
- 由于有人从主界面的github按钮来github捣乱,表示有被恶心到,决定移除该按钮。有意沟通代码相关问题的,欢迎使用【友好、平等、以代码和数据为讨论基础、非情绪发泄】的方式来github提issue沟通
- 日后再有主动来找事的,一律采用拉黑、删帖的方式来远远躲开,恕不奉陪。
- 切装取消【神话只切神话,ss只切ss】的限制
- 扩展奶系切装到任意件
- 增加换装槽位补正功能,详见自定义配置文件开头
- 增加配置剪枝过程中允许比当前最大值小的最大差值,从而将一些套装词条数较小的也加入搜索范围
- base_job_passive_lv15_taiyang原来默认的三级被动经colg网友确认是称号1级(lv15-20的太阳称号)和白金2级,所以可以干掉了,可以自行在自定义配置中添加(若祝福换装与太阳换装不一样,记得补正)
- 默认配置中,由于太阳额外一觉buff去掉了,需要修正初始智力和体精
- 添加奶系的六个辟邪玉词条所需的特色词条
- 由于输出系的辟邪玉的计算方式没搞懂,暂时不添加
- 增加祝福换装的力智、体精和等级补正词条,详见自定义配置文件开头的新增补正词条和奶妈示例中的用法
- 增加以存档为单位的装备补正方案,具体用法自行参照自定义配置文件开头的说明和奶妈示例的用法
- 面板估算系数改为可配置,并调整为487(其实不准)
- 奶妈奶萝的奶系面板增加输出总计的力智和三攻加成
- 618更新后奶系职业新增50面板
- 由于不同部位打造一件新的装备的成本大不相同,因此增加配置项,允许用户自行将特地部位排除在切装范围之外,如将带春节宝珠的头肩、鞋子部位排除
- 调整误修改的【是否在点击读取存档按钮时关闭结果窗口(若存在)】为true
- 奶妈站街预估面板适用太阳装的计算结果
- 更新召唤存档默认打造
- 增加搜索奶系切装功能(限单件,仅考虑祝福登记和身上穿的仅有一件不同的情况,且登记与身上穿的词条数一样的情况)
- 排行界面/导出excel增加奶系换装相关内容
- 增加控制是否启用奶系的切装(限单件)搜索方案的配置项
- 自定义特色增加黄字词条(攻击时额外增加X%的伤害增加量),如三国*义需要该词条
- 奶系站街面板调整为太阳的适用面板
- 更新安装教程和常见问题
- 增加非windows系统兼容
- 检查配置表错误未将错误打印出来
- 默认线程数调为2倍逻辑线程数,四倍的情况下极容易报BrokenPipe等错误= =
- 利用排行队列的已处理结果数目和用时,以及尚未处理的排行数据数目来预估剩余时间
- 打印日志增加排行速度信息,以及剩余预估时间
- ui增加新方案实现的剩余时间信息
- 解决原先获取结果队列的get操作可能卡住的问题
- 修正公告解析错误
- 计算过程中直接关闭程序会抛BrokenPipeError异常,这种时候直接return,不必弹窗
- work_queue.get()也可能抛异常,但是好像会消耗队列数目?还是加下保护吧
- 测试代码忘记删除了,导致计算必定抛异常
- 工作线程增加try except保护,同时增加初始化bugsnag以支持在worker中出错时能上报数据
- 默认最大线程数不超过32,避免出现3900X这种24核心的cpu默认96个导致崩溃。手动设置时不受该限制影响
- 排行增加定期刷日志,方便看进度
- 处理重构代码后并发排行逻辑没有实际应用而导致内存溢出的问题
- 并发排行进度日志均改为info级别,方便查看
- 修正在拥有【赤鬼的次元石】,但不拥有【青面修罗的面具】或【噙毒手套】的时候,set_counter.get("140")会返回None,从而导致异常的问题
- 奶系职业的智慧产物尚未加入,原作者最新版加入了部分,下次有空补一下,暂时遇到智慧产物的就跳过
-
使用multiprocessing模块实现多核多进程并发计算,最多可完全占用全部逻辑cpu核心
以我的召唤存档为对比数据的速度对比
版本 描述 线程/进程 耗时 v3.4.15 无多线程版本 单线程 59.40s v3.5.8 单核多线程版本 8线程 17.06s v3.6.0 多核多进程版本 32进程 3.00s -
对代码进行大范围重构,以接入多进程并发计算
-
并行排行
-
增加一些日志以对各个进程的运行状态有直观的认知
-
预计算一些数据来加快计算速度
-
调整默认线程数为四倍当前机器的逻辑线程数
- 增加更新公告功能
- 重写计算套装数目的代码
- 将若干代码移至单独的文件维护
- 处于多进程数据交互性能考虑,废弃中途停止计算功能,如果需要请通过重启程序来实现
- 出于性能考虑,最大存档数默认配置改为61
- 读取存档时,更新跨界列表
- 修正全点亮图标时,选择百变怪,预计总数目会增加的问题
- 展示结果时判断是否没有结果时,输出职业和奶系的处理应分开
- 处理通过bugsnag自动上报的一些异常
- 正确实现reset各个装备的逻辑,保证select_item的key始终为合法装备
- 奶的太阳百分比力智词条偏移值写错了
- 根据蓝奏云公告,近期原有链接在部分地区可能打不开,因此更换升级线路后的链接地址
- 更新安装教程,额外增加一些说明,避免一些不仔细看内容的人问来问去
- 男格斗三觉名称改为官方正式名称
- 调整标题名
- 某些异常改用Exception,避免遗漏一些未捕捉的异常信息 2. 调用notify_error后要么return,要么exit,需要停止对应代码执行流程
- 调整界面装备位置,使套装内顺序与游戏中一致,同时支持通过配置自行调整套装内装备顺序
- 修复一键点亮如果已经点亮的会被取消的问题
- 奶系额外被动等级改为可配置
- 更新文档
- 将首层目录的一些说明也复制到使用说明目录中,同时发布时复制一份各个提示文件到使用说明目录
- readme增加原作者github项目地址信息
- 蓝奏云试用两周多,可靠性还不错,readme中改为只保留一个更加方便记忆的链接
- 这两天在折腾群聊机器人<_<暂时没空对计算器做一些改动
- 增加一键全部点亮的功能
- 初始化默认设置武器为该职业可选择的首个武器
- ui字体、背景色改为可配置
- 计算装备收集数,过滤掉100传说、普雷首饰、普雷特殊装备
- 展示结果的时候增加判断是否没有结果,以避免刚开始计算还未得到任何结果前就点了停止,导致后续报错
- 修正读取配置表时没有正确打印出具体错误信息的问题
- 增加配置检查,当配置有问题时,提示相应错误信息,不允许启动
- 增加心悦光环:星空射手的词条:所有职业Lv20~30全部技能Lv+X(特性技能除外)以及用于换装buff时的效果
- 当套装中只缺某部位普通装备,但对应部位的该套装神话装备已拥有,则同样视为已收集齐该套装 2, 一件点亮套装功能增加支持智慧的产物
- 智慧的产物收集全和非全的情况下展示不同的图片(规则同其他套装一样)
- 教程中增加其他版本python的下载步骤与截图
- 魔改纯粹出于个人兴趣,如果觉得魔改的东西不符合你的喜好,大可不用,不必特地来阴阳怪气一句:做了xxxx就算个更新了嘛。这只是业余爱好, 你我之间也没有任何劳务关系,所以也没有理由对我想改什么来进行指责。
- 神话装备播放gif动画
- 增加播放gif的配置,可自行设置是否开启,以及播放帧率
- 限制全局直接运行的代码仅在ui主线程中执行,为后续多线程改进做准备
- 将原先各个套装、装备图标的拼接代码改用循环实现,使代码更清晰
- 武器选择列表将只会出现当前职业能够穿戴的武器
- 修正奶系五个百分比词条实际未生效的问题,在开始计算前需要正确赋值
- 修正奶系五个百分比词条在计算特色属性时采用了加算的bug,实际应为乘算
- 各个词条属性类型设为浮点数,避免小数被干掉
- 读取配置文件出错时,需要展示具体错误原因
- 结果界面增加版本号
- 增加手动安装运行环境的word教程
- 一键安装脚本默认python版本改为3.5.4,支持更多版本的windows
- 增加一键关联python脚本
- 一键安装脚本中pip设置源为国内镜像
- 一键安装脚本不缓存pip
- 增加问题反馈QQ群的图片,大家有任何使用上的问题,可加QQ群597213951进行反馈
- type hints 改用注释的方式,避免旧版本python无法编译
- 增加一个python35版本的打包脚本-。-
- requirements.txt中不设置指定版本,默认使用最新版本
- 增加兼容旧版1-50+1技能词条:extra_all_job_all_level_1_50_skill
- 拆分逻辑相关函数
- 拆分硬件信息相关函数
- 改写config,改用类实现,从而可以设置默认值,这样在新增配置时,即使使用旧版本的配置文件,也能兼容
- 增加日志等级配置
- 优化bugsnag上报时附带的上下文信息
- 使用threading模块实现单核多线程并发计算,最多可完全占用一个逻辑cpu核心,速度大概可以提升一倍
- 目前在开发使用multiprocessing来实现多核多进程并发,最可可完全占用所有逻辑cpu核心,预期速度可以大幅提升 2.1 目前的代码结构太过混乱,无法像threading模块一样无痛接入,目前使用multiprocessing创建工作进程时由于与ui主线程在同一线程调用, 会导致再弹出一个ui,不符合预期,此外很多脚本代码默认全局执行,没有限定在主线程中,导致目前不能直接接入 2.2 因此目前需要先进行一版代码重构,先将各个模块移到不同的文件中,同时限定其调用行为,部分代码,如logging、config、setting、ui等 仅限定在主线程中初始化一次
- 男鬼剑更新为三觉数据
- 之前版本的男格斗的数据就是三觉的数据了,在这里直接列出三觉的,不知道这个数据自己该怎么测。如果有玩男格斗的可以测出对应系数,欢迎在github、贴吧、colg、邮件联系我,更新男格斗二觉的系数(目前仍沿用三觉的数据)
- 将韩服男枪手三觉的数据同步过来,增加对应条目
- 更新其他职业的数据到2.4.9版本
ps:本人不知如何计算对应的系数(指这四个被动和六个主动技能在20s和60s下的系数),有会计算的并确认对应结果没啥没问题的欢迎联系我进行更新。
- 修复读取空行的问题
- 美化lvl表格式
- 装备表增加分隔栏,调整中文字体为微软雅黑
- 其他表格式美化
- 字体改为微软雅黑
- 全部窗口改为可配置为缩放
- 增加支持各存档使用不同的打桩系数,若未配置则使用默认的系数,详情请在config.toml中搜索20s_damage.save_name_configs
- 将版本、日志、bugsnag、通用报错框放到类库中,并分布到不同文件中,为进一步重构代码结构做准备
- 提取性能排查工具函数到单独的文件
- 将最小堆移到单独的文件
- 抽取ui组件
- 提取config/setting到单独的文件
- 将常量提取到单独的文件中
- TO BE CONTINUED...
- 改变debug.py为run_env.py,用于区分开发环境和发布环境,调整一些应用行为,如在开发环境默认不上报bugsnag,同时对calc不进行try except保护, 方便调试,发现问题
- 更新工具子模块版本号
- 更新ignore文件
- 更新依赖库版本
- 打印最终加成的特色词条时,跳过没有实际加成的特色词条
- 奶系职业增加一个排行标准:根据祝福适用面板数值
- 调整一些排行展示界面的代码
- 抽取分数需要与启用20s伤害配置对应
- 修正之前发布的debug.py中设为了true的问题,改为另增一个文件,在发布时覆盖,确保发布时未启用调试模式
- 修正快速模式时若某件套装只有一件神话装备,一件其他装备,此时这个其他装备会被当做散件干掉,不应该这样,修正一下
- 原有的一些使用1/2/3三个变量来表示列表的写法改为用列表改写,更加清楚
- 去除一些因不判断实际排行数目而使用的try except,使得出现异常问题更容易上报
- 修改一些变量名的名称,使其更加容易理解
- 可配置是否在点击读取存档按钮时将结果界面干掉
- 计算完所有特色加成时,在日志中打印出最终加成的总数
- 增加用于测试的测试集,方便做出大量改动时可以快速测试
- 将最大存档数改为config配置项
- 增加说明哪些配置需要重启生效,哪些重载后立即生效
- 增加打开github项目页面的按钮
- debug.py在仓库中默认设为调试模式,在发布时替换为非调试模式的脚本
- 根据bugsnag上报的一些异常,增加相应更加友好的提示,让用户可以知道该怎么改为正确的
- 增加bugsnag上报一些不在预期内的错误,方便即时排查问题
- 增加各个功能和配置方式的使用说明,并在主界面增加使用说明按钮(替换原有的选择速度提示按钮)
- 按照@qq273212324建议,将change_log_images改为中文,这样大家都会点进去看一看- -
- 增加一个自定义的更加方便阅读的蓝奏云分享链接
- 数据表对非0单元格设置特殊颜色,方便查看
- @Nirvana_Ch 铁匠鞋子,不加启示圣歌
- 百度网盘频繁抽风,可靠性极差,现决定改用蓝奏云。
- 增加一个fallback处理,当所有网盘链接都失效的时候,引导用户前往github发布页面下载新版本
- 检查更新时,从动态获取的多个网盘分享链接中随机挑选一个未被屏蔽的(若有)作为最终更新链接,增加可靠性<_<
- 应@王八老二 需求,在导出奶系职业的排行时,额外导出该组合的三个标准的得分,方便对比
- 增加一键安装python并打包的脚本,方便不能运行我打包的版本,但仍想使用本魔改版本的朋友自行本地打包运行
- 增加检查是否最新的网盘链接失效了,若是则弹窗提醒等待俺去更新网盘链接<_<,避免一脸懵逼-。-
- 之前版本的限制buff等级上限的实现有bug,若有多个不同的基础等级时,预先处理的等级会有问题,改为在实际计算时截断
- 原先奶系职业的普雷特殊和首饰实际为100传说装备的属性,统一调为普雷(太阳)
- 原先输出的职业的普雷装备均为太阳,增加标记
ps:处于时间因素,只将原装备改为普雷太阳,如果希望添加大地与天空,可自行添加139(大地首饰)、140(大地特殊)、141(天空首饰)、142(天空特殊), 并将image文件夹中137(太阳首饰)、138(太阳特殊)的6张装备图片复制两份,分别改为139/140/141/142,并在data.xlsx的one 和 buf sheet中分别添加这12件装备的属性 (三件套的属性直接赋值137/138的即可(改名为对应套装名)。思路很清晰,就是感觉没必要也没时间做这个- -谁需要的话就自己按照这个步骤加一下,预计半小时到一个小时左右能搞定。 此外还得在脚本中get_equips函数中在原来添加普雷装备的地方把这些也给加上
- 网盘链接炸了,修改readme中的网盘地址链接
- 调整自动更新时的网盘链接地址获取方式,改为从github主页实时获取,避免日后网盘链接再次炸掉
- 调整奶爸初始体精
- 将奶系职业的面板转换等级系数和唱歌倍率的系数改为可配置项
- 换版本提示额外增加自定义特色配置文件
- 发布脚本增加输入版本号的功能
- 增加两个换装用的词条,只增加祝福等级,不加其他的
- 护石配置的技攻没有按百分比来算,重新调整一下
- 奶的buff等级上限处理,否则当buff超过上限时,去对应数值时会抛异常
- 如果计算过程出现了未处理的异常,则写错误日志,并弹出错误框,显示对应traceback信息
- 解决因特色加成的额外技攻没有在计算时赋值到skiper中而导致该特色未生效的问题
- 配置文件和配置表支持动态加载
- 其他特色可以配置公共的特色,如冒险团和公会属性,这样就不用每个角色都重复配置一遍了
- 奶系职业的初始体精和智力改用config.toml进行配置
- 使用logging模块来进行日志输出,方便排查错误
- <_<增加恰饭图片哈哈哈哈哈哈
本版本的数据改动较大,如果要使用,建议按照下面的操作将自定义属性中相关数值清空,并在setting/account_other_bonus_attributes.yaml中 按照示例增加对应角色的实际国服特色属性。如果不填的话,这个版本会无法使用(完全不准,因为新版本默认数据表中没有附加的国服特色,自定义 属性中的国服特色相关配置也都移到对应配置表中了)
- 以本人的奶妈、召唤为示例,添加其他国服特色示例,并增加一些新的特色词条
- 移除加在武器上面的国服特色 2.1. 力智+500 2.2. 三攻+200 2.3. 攻击时,附加8%的伤害 2.4. 最终伤害+3% 2.5. 50级主动+3
- 干掉自定义属性中的一些属性(现已可通过自定义国服特色来实现) 3.1 奶量增幅的所有数值可以减为0了 3.2 属强提升中的技能属强、其他属强、勋章属强也可以干掉了 3.3. 初始属强改为19
- 调整奶妈的初始智力
- 解决奶的buflvl表读取偏移了的问题
- 处理奶的展示界面中一觉被动部分未汉化的问题
- 解决当奶系职业展示界面右侧五个搭配中有搭配没有百变怪时,切换到其他标准后,若该位置有百变怪,切回原标准后,这个位置的百变怪仍在那里的问题
- 尝试在结果界面中增加奶妈奶萝的站街面板(不一定准)
- 加上一个预估的伤害值(不一定准) 4.1 如果不想显示预估的打桩数据,可以通过配置取消 4.2 可自行配置分数与打桩的比例关系,从而更加适应自己的角色的打桩数据(目前暂时认为分数与打桩结果是线性相关的)
- 重构国服特色的实现方式,实现完全配置驱动。用户可以自行通过修改配置表来实现增减国服特色了。 1.1 将原先写死在脚本中的各个国服特色属性改为使用配置表来填写,具体可见setting目录下的各个配置表 1.1.1 setting/styles.yaml 称号的配置表,若需新增称号,可以自行按照现有示例和表头填写规则自行添加,下次启动时将自动出现在称号列表中 1.1.2 setting/creatures.yaml 宠物的配置表,若需新增宠物,可以自行按照现有示例和表头填写规则自行添加,下次启动时将自动出现在宠物列表中 1.1.3 setting/account_other_bonus_attributes.yaml 其余国服特色的配置表,配置方式与上面俩几乎一致,只是names的含义不再是特色的名称,而是存档的名字。 程序计算时,会从这里面尝试找到当前存档对应的特色列表,并加成到角色属性中。 可以参照现有注释,每个存档建立一个条目,然后在该条目的entries下按照各个特色,分别把对应词条加进去,如技能宝珠的1-50技能+1、力智+75这种可以用现有词条来表达 如果有不能表达的词条,建议在贴吧帖子中告知,我在后续添加支持即可。 1.2 程序侧将特色的各个词条抽象出来,供配置表自行配置。并将其映射为输出职业和奶系职业的各个属性,从而实现特色词条到角色属性的转换。 1.3 实际计算特色加成时,根据特色类别和选用的特色,去配置表中找到对应条目进行应用,若使用python直接运行,会在console中看到实际应用的词条和对应属性
- 在新版的国服特色架构下,奶系也可以享受到特色加成。
- 增加弓小弦、甜小鱼心悦宠物
- 展示概览时,按次数多的在前面,其次套装序号小的在前面的规则排列,保证顺序一致
- 调整show name 中的顺序,将为了优化神话部位搜索顺序而调整顺序的装备序列改回正常顺序再展示
- 增加更多国服特色配置的引导按钮
- 当用户取消更新时弹出提示如何关闭检查更新的方法
- 增加配置项 是否检查更新,默认启用,这样用户可以自行选择是否每次启动时检查更新
- 将奶系职业装备词条名称改为游戏内显示的词条名
- 增加奶系职业的下标说明
- 调整奶系职业计算过程的各种变量的名称,使其更加容易阅读
- 在sheet1中额外注释buflvl中各个行的含义
- 增加打印有哪些特色,生效什么词条,对应职业哪些属性
- 应韩械要求,将原作者的工作室和博客名放到标题上
- 心悦宠物忘记加到宠物列表中了,虽然实际逻辑分支已经加了= =
- 增加可通过配置来启用导出任意个排行结果到excel文件的功能 @撒打算多万 以及另一个找不到了网友建议的增加结果界面的数目(ui太麻烦了,就用这个替代吧) 新版本中增加了config.toml,其中增加了导出excel相关的配置,默认关闭,如果有需求,可以将enable的值设为true,调整导出名和导出数目,即可体验该功能
- 增加读取配置功能
- 调整查找版本号的正则,使其更健壮
- 阳剑技攻调为59.9=(1.30*1.23)-1
- 经多名贴吧网友反馈,歧路、不息、裁决者等装备属性异常高。经排查,由于之前保存自定义中调整装备属性时,装备的行号是写死的,导致调整装备顺序、 位置或新增装备时,可能对应保存地方与预期不一致。改为在启动时预先获取各个装备编码对应的行号,在需要特别定位某个装备时,通过装备编码来获取对应行号。
- 普雷魔法石与辅助装备的图标反了,@-最皮吧友
- 修复增加青沙棍后,之后的武器id都增1,但buf表中奶系的武器的id没有调整(仍为111040-111043),导致前三把武器实际数据后后三把,而最后一把则找不到对应数据 @Johnny丶Qian
- 拥有军神耳环,且不拥有军神辅助装备,需要减去10%力智加成 @本子导致羊尾
- 调整宠物技能10%增伤的实现,因为是直接乘算最终伤害的,又因为一般队友也有,所以一般能全程迟到,所以改为当做10%技攻
- 调整各个窗口的大小与位置 @Nirvana_Ch
- 对齐和优化自定义界面 @Nirvana_Ch
- 大恍惚增幅范围改为0-13 @Nirvana_Ch
- 调整存档数为100个,并调整额外存档数据的存盘区域以适应新的存档数目,同时增加对旧版存档数据的兼容处理
- 调整更改存档名的流程,直接在存档名文本框中修改,然后点击存档即可
- 在读档A后,切换其他存档B,然后误点存档并确认后用存档B把存档A给覆盖这种情况时,额外弹出一个确认框,提示,用户可以自行确定是否真想这么做
- 启动时增加检查更新功能,若有更新会提示是否更新,确认后会弹出网盘页面,并弹窗告知提取码
- 调整主窗口标题
- 特殊成套装备在不成套时减掉属性的处理加上注释
- 增加心悦宠物 @老贺最
- 经贴吧网友@王八老二 反馈,魔改后版本的神话装备图片没有原来那么闪,并给出了对比图,经排查发现作者在images目录中神话装备会有三个文件, 分别是以n.gif/n.png/f.png结尾,对应超闪耀,点亮、暗淡三种,实际上原版神话装备只用了1和3,但是优化加载图片时是改为文件夹中有多少个图片就按需加载, 由于前俩的key都是装备编码,而且超闪亮的是先加载的,所以会被普通闪给覆盖。目前已修复
- 经贴吧多名网友反馈,奶系职业无法使用也与黑瞳武器,经排查发现原版数据表中夜语黑瞳武器为111001,韩械魔改后为111014,而没在buf表中同步,已修复
- 经贴吧网友@阿飘 反馈,太极天帝剑(阳)攻速不对,应为-50%,实际写成了20%,同时修复了顺带发现的太极天帝剑技能攻击力不对的问题,应为53%(30+23),而不是60% 3.1 经贴吧网友@划圆为牢 反馈,天帝剑的技攻是乘算的,1.30*1.23=1.599 约等于60技攻的提升,改回去= =
- 百变怪不能转化为传说、普雷
- 多名网友反馈希望不要默认将普雷传说加入备选池,考虑到两种方案都有一定需求,增加配置项:是否默认将普雷传说装备加入备选池
- 经贴吧网友@~Smile 反馈,增加不优先神话的中速方案,选择该方案时,神话装备与普通装备具有相同的优先级
- 应多位贴吧网友要求,增加了2019升级版至尊年宠 '神迹·古国英豪莱恩', '神迹·太初之音薇泽达'
- 经贴吧网友建议,将宠物技能的3.3%期望伤害改为最终伤害,因为这个技能是直接最后加成上去的
- 为了方便日后改动,借助谷歌翻译和对照游戏内的装备数据,在上周汉化Data.xlsx中one sheet的基础上将全部表格汉化了
- 调整武器顺序,将顺序改为韩服作者原先的顺序,方便大家找武器
- 发现原版中的青沙棍在韩械增加普雷武器时被替换成普雷武器了,现已加回来
- 按照游戏中冒险团页面角色收藏簿的顺序重新排列职业,方便查找,并将奶妈、奶萝、奶爸改回原来的名字并放到对应位置(强迫症),将其他角色的名称调成与游戏中一致,如男女鬼剑,铁血统帅,并在读取存档时针对职业名称变化,增加兼容处理
- 加入百度网盘的地址,方便大家查找下载二进制
- 增加韩服4.27发布的最新版2.4.0源码与相关发布页面,并在readme文件中增加韩服原作者与韩械的链接
- 经贴吧网友@反正有大好时光 @Usingaa @丿俊哥丶,新版本中自定义功能出现问题,经排查定位到是因为多增加了一行列名含义后,保存自定义结构的代码中写死的坐标会找到错误的定位,已修复
- 经贴吧网友@罗衣 @git,奶系选择百变怪后计算有时候会卡住,经排查发现是因为写法与输出那边不太一样,导致相同的处理办法直接拷贝过来会有问题,已修复
- 发现新加的套装概览区域不会随查看详细信息和更改奶量标准变动,查了下,发现是做的时候太忙了,忘记了。。。已修复
- 新增脚本_export_excel_to_txt.py,用于将data.xlsx与preset.xlsx导出为文本格式,方便进行版本对比,避免误改动到数据文件
- 增加装备跨界功能,因计数部分太复杂,不再维护
- 增加选择多个武器的功能,因计数部分太复杂,不再维护
- 增加区域展示更加方便阅读的当前搭配,如天擎3水果2这种
- 结果栏中增加查看名称按钮,点击即可查看当前搭配的各部位装备名称,不用再看图认出装备了
- 增加当前用时,方便看花了多少时间了
- 在显示当前组合数的地方,在前面加上装备的收集进度
- 把结果界面的层级不设置最顶端,这样出结果后切换其他角色时不需要额外折腾
- 增加多选列表组件
- 增加与贝奇邂逅称号(因为我的奶妈在用这个<_<)
- 汉化data.xlsx
- Data.xlsx增加首行,表示各列的中文含义,同时冻结第一行与前两列,这样编辑具体数值时容易定位
-
根据b站网友@面粉馅包子 的反馈,之前版本的百变怪功能在特定装备级下,百变怪没有选择最合适的转换装备。 经排查发现,是因为作者根据搭配套装数目预估价值量的函数f=sum([floor(x * 0.7) for x in set_val.values()]) + god, 与其实际精确搭配的奶量伤害的函数g,不能满足在任意区间内都具有相同的函数单调性(递增或递减), 从而可能或出现对于某些搭配x1,x2,f(x1)<f(x2),而g(x1)>g(x2),在作者的原剪枝流程中,会导致x1搭配被视为无效搭配。
解决办法:
- (非常耗时)计算每个搭配的精确伤害奶量来找到在该伤害奶量算法下的精确解
- (实现难度高)找到更合适的价值评估函数,在满足与该伤害奶量算法相同增减性的同时,且计算代价小
- (自行选择精确度还是速度)仍使用当前算法,忍受为了计算速度而可能错过一些精确解的bug, 与此同时,增加超慢速选项,允许用户选择使用花费更多时间来得到更精确的解。 但是这种情况下,由于无法进行提前剪枝,需要计算所有组合,其时间复杂度将是O(n1n2...n10*n11), 其中ni为部位i的可选装备数目,在各部位都有一定数目的情况下,用时将难以想象
出于个人精力有限,目前暂时选择方案3,在速度选项再增加一个超慢速方案,当选择该方案时,所有剪枝与预判都会停用,对比装备的唯一标准 就是作者实际计算伤害奶量的算法结果
排查过程截图详见网盘或贴吧帖子
-
经韩械反馈,属强多出来了80点,应该是之前他在data.xlsx中补正的数值我这边重新计算了一遍- -,暂时先在国服特色的函数中减去一定数值,保证两边属强计算结果一样
-
经贴吧网友@飞花逐月反馈,在五个散件防具、两首饰、两特殊这种类似的情况下,原版只会给出唯一的史诗组成的搭配,而略过了实际战力更高的传说普雷搭配。 为了计算结果更精确,永远将100传说防具、普雷首饰、普雷特殊加入备选方案
-
经贴吧网友@萌萌的汉堡包反馈,在特定组合下选择百变怪计算奶量时程序会无法计算,提示时间很长,经排查,是之前遇到过的一个bug,只是修复了输出职业的那边,奶这边没有改。 具体原因:目前select是默认初始化时将tg{1101-3336}[0,1]范围的key对应的值都设为0,而百变怪会根据select的值为0来筛选出未选择的集合, 因此在获取装备属性切片时,如果因为这件装备时间不存在,导致切片为None而空指针访问程序无法正常执行。这种情况,直接判断空指针返回就可以了
- 经韩械反馈,原先版本已经实现了至尊宠物所带来的5%最终伤害,一级1-50级技能+1,只不过实现方式是在Data.xlsx中所有武器的这两个属性中分别加了相应值, 因此,3.2.7版本的最终伤害会高5%,1-50级技能等级会多出1点来 根据他的建议,目前从Data.xlsx中移除了这两个加成,并在那边的另一个1-50级技能+1(暂不明确来源)加到国服特色的代码中
- 经贴吧吧友@给QQ一巴掌 提示,发现在调整国服特色数值实现的过程中,把原有的初始属强给漏了,这里给补回来
- 增加支持更多春节宠物、称号和国庆称号,并尽可能将每个词条都考虑进来
- 修复夜语黑瞳武器55技攻变成55速度的问题
- 修复update_count和update_count2在tkinter.mainloop启动前就调用tkinter相关组件而导致计算倒计时的功能挂掉的bug
- 增加每个词条的枚举,而不是使用magic number来访问- -
- 汉化data中的部分装备名称
- 百变怪的备选集合中排除升级得到的工作服、智慧产物
- 新增可配置最多升级n件工作服的功能
- 目前select是默认初始化时将tg{1101-3336}[0,1]范围的key对应的值都设为0,而百变怪会根据select的值为0来筛选出未选择的集合,因此在这里如果为None,将其过滤掉,避免程序不运行 3.1 bug来源:@我就水亿贴 贴吧网友的反馈
- ui细节调整
- 增加推荐使用步骤及免责声明
- 增加一件发布脚本
- 增加加入升级工作服功能后,剪枝时的精确计数,后因性能问题回滚
- 修复奶系职业切换排序标准时右侧搭配不刷新的问题
- 输出结果界面额外汉化
- 输出界面排版优化
- 将保存结果的结构体由列表改为最小堆(存储O(n),排行O(1)),原先的排行消耗太大(存储O(n*logn),排行O(n^2)),尤其是在点亮全部装备的时候尤为显著
- 修复状态栏中剪枝时未计入后续组合中的百变怪的组合而导致算的增加的无效组合数低于实际剪枝数目
- 修复下方统计总数时因将神话装备算入百变怪备选集合而导致总数与上方计得数字不一致的问题
- 添加无提前剪枝和最宽泛上限的剪枝方案 3.1 测试数据无提前剪枝用时123s 3.2 测试数据最宽泛上限剪枝用时9s 3.2.1 每个剩余装备按1点增益计算,若目前序列尚无神话,且后续序列存在神话,则额外加一点 3.2 测试数据任意现有装备下新增若干个装备剪枝用时8.99s 3.2.2 当前已有装备不受限制,预先计算任意新增k个装备所能得到的最大增益,若目前序列尚无神话,且后续序列存在神话,则额外加一点
由于下周或者下下周,基本上大部分人的百变怪都做出来了,那时候大家可能会烦恼如何使用计算器来看这个百变怪该选啥,为了不至于一个个去尝试,因此增加了下述功能
- 将itertools.product改为自行实现,方便在中间过程进行剪枝
- 增加百变怪功能,当选择拥有百变怪选项时,计算搭配时会将百变怪考虑进来
- 存档读档功能增加支持选择速度、武器、职业选择、输出时间、称号选择、宠物选择、冷却补正等信息,无需每次读档后再手动设定后才能进行计算,现在读档后可以直接点计算
- 启动时自动读取首个存档,无需再自己去点一次读档才能去进行其余操作
- 性能优化: 3.1. 调整读取装备图片的流程,通过遍历文件夹来实现加载所需的图片,而不是穷举所有可能,最后导致启动时要卡顿两秒,根据测试,目前读取图片共使用0:00:01.780298秒, 总共尝试加载6749个, 有效的加载为351个 3.2. 国内环境无法访问他那个更新版本的google网盘地址,所以直接移除相关代码
- 干掉了在总组合数目超过5亿种时不允许玩家运行的限制,同时将遍历组合的流程由先生产所有改为使用生成器去遍历,使得在组合数非常大时内存也不会溢出,经测试即时点亮所有图标,新版本也能够正常计算
- 增加计算预计剩余时间的功能,在计算栏中将初始化右侧已显示的当前总组合数移除,改为预计剩余计算时间,这样可以更容易知道进度
- 初始状态设为停止状态,在成功开始计算时设为计算状态,结束计算时和按停止时设为停止状态
- 保证职业列表按照excel表中的行顺序排列
- 未选择职业或武器直接点计算时弹出错误框,使得更加易用