124楼更新假情报系策略行动价值中的加权值算法:
计算策略闪避
策略闪避=(智力×等级÷100+智力)÷130
如果部队是军乐队/运输队/妖术师
策略闪避=(智力×等级÷100+智力)÷130×2
计算策略命中
策略命中是一个随机整数,该值大于等于0,小于(智力×等级÷100+智力)
计算策略成功
如果攻击方策略命中大于防御方策略闪避,则策略成功,反之策略失败。
为什么会除以130呢?
因为假情报和牵制策略计算成功率时使用同一个函数,其中策略闪避的除数作为参数传入。
其中牵制系的除数为4,假情报系为2,而计算假情报加权值的模拟行为呢?
这个参数变成了82H,其中80H表示模拟,剩下的02H作为除数。
但是,这个函数忘记把02H分离出来了,仍然使用82H作为除数。
十六进制的82H就是十进制的130。
这就导致了计算命中率虚高,从而导致加权值虚高。
seg002:C615 mov bx, [bp+arg_0]
seg002:C618 mov dl, [bp+arg_4]
seg002:C61B mov al, [bx+2]
seg002:C61E mov bl, 130
seg002:C620 call sub_363BC ; 判断假情报/牵制策略是否成功
seg002:C620 ; 0=失败,1=成功
[ 本帖最后由 阿尔法孝直 于 2026-2-6 03:51 编辑 ]