「满堂花醉」—— 关于荷兰贸易bug事件始末
unciv吧
全部回复
仅看楼主
level 8
✨满堂花醉三千客✨
楼主
这里先感谢华公公
@香na蕉
与季风大
@浅月绫
对游戏贸易代码的质疑与探索
2025年05月11日 02点05分
1
level 8
✨满堂花醉三千客✨
楼主
事件如下: pve群有水友在游玩 Lz的模组[BNW from CN]时,发现无需任何筹码即可交易到ai荷兰的唯一奢侈(什么西欧活雷锋)
2025年05月11日 02点05分
2
level 8
✨满堂花醉三千客✨
楼主
这里我们参照一下华公公贸易帖当中的解释, Ai对奢侈的价值评定是>=2直接判断250金;=1(即为唯一奢侈)才判断有没有笑脸减免并按照[600-笑脸减免*350]的计算价格进行评定,则荷兰的唯一奢侈应当价值425金。从理论推断来说是没有问题的,哪怕笑脸减免是100%[600-1*350=250]也不可能是0元购,那么问题出在了哪里?
2025年05月11日 02点05分
3
level 8
✨满堂花醉三千客✨
楼主
随后,Lz又开了一局原版荷兰进行测试,结果令人难以置信,荷兰的唯一奢侈只需要75金(有时最低74金也可购得),理论425金的荷兰唯一奢侈现在仅仅价值75金。于是季风大对于贸易公式提出质疑,并给出了另一种解释,即制作组将代码写反了(不过事实比这更离谱),误导了ai的判定那么[250-0.5*350=75]就正好能够解释。但是对照游戏内的[TradeEvaluation],这个公式似乎又不能让人信服
2025年05月11日 03点05分
4
level 8
✨满堂花醉三千客✨
楼主
最终,Lz登上DC多方考证后,得出如下结论,制作组在编写贸易代码时,将笑脸减免50%写成了+50%,所以实际计算价格是[600-1.5*350=75]
再回到一开始的0元购问题上,按照这个式子售罄奢侈保留百分百笑脸的荷兰唯一奢侈实际价格为[600-2*350=-100],所以西欧活雷锋甚至还会倒贴100块钱给你
总之这是一场由制作组纰漏引起的乌龙,大概下个版本就会修复了。不过由这个事件足以看出pve的凋敝了
华公公名言含金量还在上升
2025年05月11日 03点05分
5
1