# ☆ 無効化障壁の判定(追加定義)
#--------------------------------------------------------------------------
def invalidate_wall
read = battler_add_ability(11)
return false if read == 0
return read
end
# 11は無効化障壁
value = all_list.max
when 6
value = Array.new
for list in 0..all_list.size - 1
if list % 2 == 0
if all_list[list] && all_list[list + 1]
value[all_list[list]] = 0 unless value[all_list[list]]
value[all_list[list]] = [value[all_list[list]],all_list[list + 1]].max
end
end
end
# ☆ 無効化障壁の適用
#--------------------------------------------------------------------------
def apply_invalidate_wall(damage, item)
return damage unless self.invalidate_wall
return damage if item.damage.recover?
return damage if damage <= 0
return damage if damage > self.invalidate_wall
@result.invalidate = true
return 0
end
#無効化障壁
read_arr = Array.new
while cheak_note do
value = 0
cheak_note.match(/<無効化障壁\s?(\d+)\s?>/)
value = $1.to_i if $1
read_arr.push(value)
cheak_note = $'
end
battler_add = read_arr.max
作者: 300英雄 时间: 2017-6-26 15:49
用伤害公式的话超级简单,但是脚本有点难说明,
防具是吧:if self.armors.include?($data_armors[107]) 受击者装备107时
if value <= self.hp * 0.1
value = 0
end
end
说明一下:受击者装备了107号防具时,受到伤害小于等于最大血量10%,伤害为0,否则此防具效果无效(自己说的,否则无视护盾效果) 还有一点,记得打上伤害公式脚本
我上面那段打在脚本很空白的地区,脚本我给你空格区域特别大。插入value = apply_guard(value)下 @result.make_damage(value.to_i, item)上面
下面是脚本
class Game_Battler < Game_BattlerBase
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)