Project1
标题:
[已解決]这个儲存釋放伤害脚本是不是有BUG?
[打印本页]
作者:
chanszeman1018
时间:
2020-6-18 14:47
提示:
作者被禁止或删除 内容自动屏蔽
作者:
srwjrevenger
时间:
2020-6-19 13:38
不知道你工程和设定等等的相关细节,所以我只是猜一下
1.797号技能会兩倍释放最后兩回合储存了的受到的伤害
①初次使用,a.stored_dmg是0
②没有设置好状态,a.stored_dmg是0
③a角色一直没有受伤,a.stored_dmg是0
然后你又用了最低伤害脚本
所以伤害只会返回1
也有可能是你使用的最低伤害脚本导致伤害只会返回1
2.你的公式涉及的参数有点多
但是却没有考虑过 被除数小于除数等于0 这种情况
稍微调整部分公式以及参数的数值后看看吧
举例
命中类型是必中时,
到 value += 10 为止的结果小于250
没有
value *= user.atk if item.physical?
value *= user.mat if item.magical?
的加成后
value /= 250 的结果容易等于0,没有去小数点时实际上是0到1之间,包含0不包含1
之后的
value += 2 的结果就容易等于2了,没有去小数点时实际上是2到3之间,包含2不包含3
作者:
chanszeman1018
时间:
2020-6-19 15:52
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Cupidk爱呗茶
时间:
2020-6-20 01:59
本帖最后由 Cupidk爱呗茶 于 2020-6-20 02:25 编辑
粗略看了一下 感觉问题出在
def stored_dmg
0 unless can_store_damage?
val = @stored_dmg
@stored_dmg = 0 #执行完一次该方法后储存伤害清零
remove_storedmg_state # 清除状态时还会在判断一次伤害清零
val
end
复制代码
然后主楼贴出的第二个脚本def make_damage_value(user, item) 第16行中在判断技能ID在获取伤害之前 就已经执行过一次公式方法了导致这个伤害被清零
解决思路大概就是 直接吧797号技能的伤害判定放到方法最前端执行 来试试看行不行
#--------------------------------------------------------------------------
# ● 計算傷害
#--------------------------------------------------------------------------
def make_damage_value(user, item)
if item.is_a?(RPG::Skill) and item.id == 797
value = item.damage.eval(user, self, $game_variables)
return @result.make_damage(value.to_i, item)
end
value = 2
if user.is_a?(Game_Actor)
value *= user.level
else
value *= 5
end
value += 10
value *= user.atk if item.physical?
value *= user.mat if item.magical?
value *= item.damage.eval(user, self, $game_variables)
value /= 250
value /= self.def if item.physical?
value /= self.mdf if item.magical?
value += 2
value *= item_element_rate(user, item)
value *= pdr if item.physical?
value *= mdr if item.magical?
value *= rec if item.damage.recover?
value = apply_critical(value) if @result.critical
value = apply_variance(value, item.damage.variance)
value = apply_guard(value)
@result.make_damage(value.to_i, item)
end
复制代码
作者:
chanszeman1018
时间:
2020-6-20 03:01
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1