铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2432|回复: 0

[通用] 解決投擲暗器扣幾百多的生命值變為深紅色的問題(0.70 版)

[复制链接]
发表于 2011-9-20 15:53 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
本帖最后由 jerry8192 于 2011-10-15 10:35 编辑

就是傷害生命與受傷比例問題,如生命值 10000/10000,增加生命(取負值) = (暗器增加生命/a(數值取 1)-random(5)(隨機數不必管)-暗器能力(數值取 100)*2(如果數值改為 1))/暗器技巧因子(數值取 1),例:霹靂彈暗器傷害 100(負數) 減去暗器技巧 100 等於 -200!
受傷程度=增加生命/4
我做了實驗,丟兩次暗器,結果生命值 9800/10000(受傷程度:50)、9600/10000(受傷程度:100),的確囧到爆!0x3A654h(注:原版地址就減去 6600h):
89 D0 C1 FA 1F C1 E2 02 1B C2 C1 F8 07
mov     eax, edx
sar     edx, 1Fh
shl     edx, 2
sbb     eax, edx
sar     eax, 2     /4
sar eax, 2,因 sar 是向右偏移,那不就是 2^(-2)=1/4,改成 2^(-7)=1/128,難道就是沒辦法填 1/100,唯一的缺點就是分母,卻只能填指數值!
有訣竅!把它改成:
0x3A654h:
BE 64 00 00 00 89 D0 C1 FA 1F F7 FE 90
mov     esi, 64h  /100
mov     eax, edx
sar     edx, 1Fh
idiv    esi
nop
idiv 有符號除法,取 n 值,如 n=100,那不就是 1/100 喔!可以任意填整數值!是填在分母,OK!
受傷程度=增加生命/100(跟武功傷害受傷比例的值是一模一樣)
再一次的實驗,投擲暗器時,如暗器技巧分為 100、6600、6700,結果生命值 9900/10000(受傷程度:1)、3400/10000(受傷程度:66),3300/10000(受傷程度:67),終於改成功了!這樣就可以玩得痛快!




【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 11:26

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表