#-------------------------------------------------------------------------- # ●ゾンビステートスクリプト #  +回復魔法、アイテムが効かなくなるステート # # Ver1.02 # 回復+ゾンビステート解除のスキルは回復するように修正。 # # ゾンビステートにかかったバトラーは、 # 回復効果によりダメージを受けるようになります。 # また、回復効果なしステートにかかると、 # 回復スキルやアイテムの効果が現れなくなります。 # # それぞれ、ステートIDを指定してtrueを返すことで効果が現れます。 # # 名前の衝突による競合を避けるために、新しく定義したメソッドには # 接頭語として er_ をつけています。 # # 再定義はありません。 #-------------------------------------------------------------------------- module RPG class State #ゾンビステート。ステートIDを指定して、trueを返してください。 def er_zombie_state? case @id when 28 return true end return false end #回復効果なしステート。ステートIDを指定して、trueを返してください。 def er_no_heal_state? case @id when 30 return true end return false end end end class Game_Battler alias base_make_obj_damage_value make_obj_damage_value def make_obj_damage_value(user, obj) base_make_obj_damage_value(user, obj) #スキルの基本ダメージ量が負の場合に、ゾンビダメージ判定 if obj.base_damage < 0 for state in self.states next if obj.minus_state_set.include?(state.id) @hp_damage = @hp_damage.abs if state.er_zombie_state? @hp_damage = 0 if state.er_no_heal_state? end end end #-------------------------------------------------------------------------- # ● アイテムによる HP 回復量計算 # ゾンビステートによる回復でのダメージ効果をスキルのみに限定したい場合、 # キリトリここから〜ここまでの間をコメントアウトするか、除去してください。 #-------------------キリトリ▼ここから------------------------------------- alias base_calc_hp_recovery calc_hp_recovery def calc_hp_recovery(user, item) result = base_calc_hp_recovery(user, item) result = - result.abs if self.states.find{|a|a.er_zombie_state?} != nil result = 0 if self.states.find{|a|a.er_no_heal_state?} != nil return result end #-------------------キリトリ▲ここまで------------------------------------- end