class Game_Battler < Game_BattlerBase STATE_ID = 14 #魔法盾状态的id号 MP_RATE = 1.0 #魔法盾吸收伤害的比率0.4就是10点伤害hp6点mp4点 MP_DAMAGE_RATE = 1 #1MP抵消多少伤害 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
houyuxiaoyang 发表于 2022-7-30 10:21
转成表 stateId = {} statId["1"] = { "MP_RATE" => 1, "MP_DAMAGE_RATE " => 1, "VARIABLE_ID" => 0 } ...
houyuxiaoyang 发表于 2022-7-30 10:21
转成表 stateId = {} statId["1"] = { "MP_RATE" => 1, "MP_DAMAGE_RATE " => 1, "VARIABLE_ID" => 0 } ...
阿薩男爵 发表于 2022-7-31 07:03
现在大多数人都去用MV和MZ工具了,所以愿意回答你的人也不多,其实我也不懂,
但是你在下到一个脚本 ...
阿薩男爵 发表于 2022-7-31 07:03
现在大多数人都去用MV和MZ工具了,所以愿意回答你的人也不多,其实我也不懂,
但是你在下到一个脚本 ...
class Game_Battler < Game_BattlerBase @state_id = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率 14 => 1.0, 15 => 1.0, 16 => 1.0 } #STATE_ID = 14 #魔法盾状态的id号 #MP_RATE = 1.0 #魔法盾吸收伤害的比率0.4就是10点伤害hp6点mp4点 MP_DAMAGE_RATE = 1 #1MP抵消多少伤害 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) for state in @state_id.keys if item.damage.to_hp? and self.state?(state) mrate = MP_DAMAGE_RATE mrate += $game_variables[VARIABLE_ID] if $game_variables[VARIABLE_ID] for mpr in @state_id.values mp_value = [(value * mpr/mrate).to_i , self.mp].min end value -= mp_value * mrate self.mp -= mp_value end end @result.make_damage(value.to_i, item) end end
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase
STATE_ID = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase
STATE_ID = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase
STATE_ID = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase
state_id = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率
360截图20220801155906937.jpg (12.09 KB, 下载次数: 28)
就是这样了
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |