Project1
标题:
请问如何实现产生吸收伤害的护盾效果?
[打印本页]
作者:
FTER
时间:
2013-10-7 04:29
标题:
请问如何实现产生吸收伤害的护盾效果?
生命值低于40%的,自动产生护盾吸收20%生命最大值的伤害。
如何设定这样一个技能?
作者:
熊喵酱
时间:
2013-10-7 05:11
http://forums.rpgmakerweb.com/index.php?/topic/5380-mana-shield/
請自帶翻譯及代理
效果:
可以增加一種狀態 有此狀態時被攻擊的的傷害會記算吸收百分比(可設定)(會把傷害給MP)
然後盾可承受的傷害好像也可以自己設
低於40%什麼的需要自己修改
作者:
tan12345
时间:
2013-10-7 09:34
class Game_Battler < Game_BattlerBase
STATE_ID = 15 #魔法盾状态的id号
MP_RATE = 0.4 #魔法盾吸收伤害的比率0.4就是10点伤害hp6点mp4点
MP_DAMAGE_RATE = 2
VARIABLE_ID = 3 #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
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1