# 在状态备注中写<反伤 0.1>则拥有该状态时,反弹所受伤害的10%给使用者。
class RPG::State
def reflect?
self.reflect > 0.0
end
def reflect
tag = "(?:反伤|reflect)"
int = "[ :=]*"
cap = "([0-9.]+)"
m = self.note.match(/<#{tag}#{int}#{cap}>/)
m ? m[1].to_f : 0.0
end
end
class Game_Battler
#--------------------------------------------------------------------------
# ● [别名修改]伤害效果
#--------------------------------------------------------------------------
alias execute_damage_for_reflect execute_damage
def execute_damage(user)
execute_damage_for_reflect(user)
if self.states.any?{|s| s.reflect?}
rt = self.states.map{|s| s.reflect}.max
if @hp_damage > 0
user.hp -= (@hp_damage * rt).to_i
end
end
end
end
# 在状态备注中写<反伤 0.1>则拥有该状态时,反弹所受伤害的10%给使用者。
class RPG::State
def reflect?
self.reflect > 0.0
end
def reflect
tag = "(?:反伤|reflect)"
int = "[ :=]*"
cap = "([0-9.]+)"
m = self.note.match(/<#{tag}#{int}#{cap}>/)
m ? m[1].to_f : 0.0
end
end
class Game_Battler
#--------------------------------------------------------------------------
# ● [别名修改]伤害效果
#--------------------------------------------------------------------------
alias execute_damage_for_reflect execute_damage
def execute_damage(user)
execute_damage_for_reflect(user)
if self.states.any?{|s| s.reflect?}
rt = self.states.map{|s| s.reflect}.max
if @hp_damage > 0
user.hp -= (@hp_damage * rt).to_i
end
end
end
end