赞 | 3 |
VIP | 0 |
好人卡 | 0 |
积分 | 14 |
经验 | 0 |
最后登录 | 2023-1-26 |
在线时间 | 148 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1410
- 在线时间
- 148 小时
- 注册时间
- 2018-3-24
- 帖子
- 145
|
10星屑
本帖最后由 够爱 于 2018-3-30 22:33 编辑
class Game_Battler < Game_BattlerBase
STATE_ID = 116#魔法盾状态的id号
MP_RATE = 0.5#魔法盾吸收伤害的比率0.4就是10点伤害hp6点mp4点
MP_DAMAGE_RATE = 5 #MP伤害率
VARIABLE_ID = 0 #1点mp抵消(3号变量的值+2)点伤害,如果不需要变量功能,就把这个值设为0或负数
#--------------------------------------------------------------------------
# ● 计算伤害
#--------------------------------------------------------------------------
def make_damage_value(user, item)
value = item.damage.eval(user, self, $game_variables)
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)
if item.damage.to_hp? and self.state?(STATE_ID)
mrate = MP_DAMAGE_RATE
mrate += $game_variables[VARIABLE_ID] if $game_variables[VARIABLE_ID]
mp_value = [(value * MP_RATE/mrate).to_i , self.mp].min
value -= mp_value * mrate
self.mp -= mp_value
end
@result.make_damage(value.to_i, item)
end
end
|
最佳答案
查看完整内容
1.你把所有的设定都放在这里白色部分,然后一模一样的句子就不需要放了(我也不能百分百确定可以这样合并)
2.学伤害公式自己做,伤害类的东西能做的很多
学的话加Q:1286124843
|