- UID
- 296861
- 阅读权限
- 255
- 注册时间
- 2017-6-12
- 最后登录
- 2021-5-28
- 在线时间
- 910 小时
- 性别
- 男
教皇
- 耕战
- 3333
- 鹰币
- 17670
- 天龙币
- 0
- 回帖
- 1200

|
本帖最后由 newtonerdai 于 2020-1-2 14:19 编辑
这是前几个月在殊途群上,cxt、夜游神、爱莉琰和本new的讨论结果。鉴于较多新入坑UP1.5/WK的朋友还不知道这个小知识,我就冒昧代他们俩发布以重提一下。
?概要:
UP语句修改攻击力/护甲时(以下简称修改攻防),有“设置、加、减、乘”四种修改模式,但实际有直接应用价值的只有“加、乘”两种(*若使用下文爱莉琰的公式,则还可以正常使用“减”)。而且需要注意,单句的变动值不能>255。“乘”模式下还需要注意倍率是0.01而非1。
?差异对比:
UP语句 | 字面解读/误解 | 实际效果 | up-effect 1,0,448,9,1034,1 | 设置 P1 单位448 攻击#4 为 10 | 设置 P1 单位448 攻击No.1(#25) 为 10 | up-effect 1,4,448,9,1034,1 | 增加 P1 单位448 攻击#4 以 +10 | (同字面效果) | up-effect 1,4,448,9,1524,1 | 增加 P1 单位448 攻击#4 以 +500 | 增加 P1 单位448 攻击#5 以 +244 | up-effect 1,4,448,9,1014,1 | (误)增加 P1 单位448 攻击#4 以 -10 | 增加 P1 单位448 攻击#3 以 +246 | *up-effect 1,4,448,9,66806,1 | 增加 P1 单位448 攻击#260 以 +246 | 增加 P1 单位448 攻击#4 以 -10 | up-effect 1,5,448,9,1027,1 | 倍乘 P1 单位448 攻击#4 以 3 | 倍乘 P1 单位448 攻击#4 以 3% |
?差异解释:
- 第①行:设置模式下修改的不是既定的类型,而是AGE里该单位攻击类型列表里序号为0的类型。看下图可以知道,单位448攻击列表序号为0的类型是#25,所以实际修改与字面效果的#4有出入。这应该是UP作者遗留的一个BUG。
- 第③行:由于这里倒数第二位(1524)的解算算法是:
【[1524/256]得到类型,(1524 mod 256)得到变动值】
(注:前者是求商后向下取整,后者是求余数) 得到的结果是“类型#5,变动值244”,而非字面解读得到的“攻击#4,变动值+500”。
- 第④行:与③同理看,算法如下:
【[1014/256]得到类型,(1014 mod 256)得到变动值】 得到的结果是“类型#3,变动值246”,而非字面解读得到的“攻击#4,变动值-10”。
- *第⑤行:这里需要应用爱莉琰的减法公式:“256*类型+65536+256-减少值”。其算法如下:
【[66806/256]得到类型,(66806 mod 256)得到变动值】
【发现类型#260>255,则再取260-256得到最终类型,同时将变动值(+246)减256得到最终变动值】 得到的结果是“类型#4,变动值-10”,而非首次解算解读得到的“攻击#260,变动值+246”。
- 第⑥行:倍乘攻击力(/护甲)时,最后一位的“1”实际作用是“2”(即“百分比模式”)。这应该也是遗留的BUG。
?总结:
- 需要设定攻防属性时,最保险的方法是“先倍乘0,再增加到想要的值” 。
- 攻防属性无法直接做减法。因为做减法时会作用于上一个类型了 。
【爱莉琰补充:减法可以通过这个公式来实现:256*类型+65536+256-减少值。比如上表中,攻击#4减10应使用:256*4+65536+256-10=66806】 - 攻防属性一次修改无法>255点,一次修改256点时会作用于下一个类型了 。
- 做乘法时,需要拆解因数。 比如,若要把攻击力乘3,应该“先乘200%,再乘150%”(不直接乘300%是因为最大255的限制)。
|
|