# 随便写的,没有详细测试过。用法是在角色|职业|装备|敌人的备注栏 # 备注<被动状态:状态ID> 例如<被动状态:18> 那么就会在战斗开始前 # 会为该角色附加18号状态,战斗结束时移除这个状态。同时装备2个以 # 上的有被动状态的装备亦可叠加,都会附加上对应的状态。 class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 战斗开始处理 #-------------------------------------------------------------------------- alias state_battle_start on_battle_start def on_battle_start state_battle_start self.feature_objects.each {|obj| self.add_state($1.to_i) if obj.note =~ /<被动状态:\s*(\d+)>/} if hp_rate <= 0.99 #自行设定的HP比率 self.feature_objects.each {|obj| self.add_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} else self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} end end #-------------------------------------------------------------------------- # ● 战斗结束时的处理 #-------------------------------------------------------------------------- alias state_on_battle_end on_battle_end def on_battle_end state_on_battle_end self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<被动状态:\s*(\d+)>/} self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} end end
# 随便写的,没有详细测试过。用法是在角色|职业|装备|敌人的备注栏 # 备注<被动状态:状态ID> 例如<被动状态:18> 那么就会在战斗开始前 # 会为该角色附加18号状态,战斗结束时移除这个状态。同时装备2个以 # 上的有被动状态的装备亦可叠加,都会附加上对应的状态。 class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 战斗开始处理 #-------------------------------------------------------------------------- alias state_battle_start on_battle_start def on_battle_start state_battle_start self.feature_objects.each {|obj| self.add_state($1.to_i) if obj.note =~ /<被动状态:\s*(\d+)>/} end #-------------------------------------------------------------------------- # ● 重新整理 #-------------------------------------------------------------------------- def refresh state_resist_set.each {|state_id| erase_state(state_id) } @hp = [[@hp, mhp].min, 0].max @mp = [[@mp, mmp].min, 0].max if hp_rate <= 0.99 #HP小于该比率 附加上状态 self.feature_objects.each {|obj| self.add_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} else self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} end @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id) end #-------------------------------------------------------------------------- # ● 战斗结束时的处理 #-------------------------------------------------------------------------- alias state_on_battle_end on_battle_end def on_battle_end state_on_battle_end self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<被动状态:\s*(\d+)>/} end end
# 战斗开始前附加状态并于HP到达一定比率时附加状态 #-------------------------------------------------------------------------- # ● 战斗开始前附加状态 #-------------------------------------------------------------------------- # 用法是在角色|职业|装备|敌人的备注栏 # 备注<被动状态:状态ID> 例如<被动状态:18> 那么就会在战斗开始前 # 会为该角色附加18号状态,战斗结束时移除这个状态。同时装备2个以 # 上的有被动状态的装备亦可叠加,都会附加上对应的状态。 #-------------------------------------------------------------------------- # ● HP到达一定比率时附加状态 #-------------------------------------------------------------------------- # 用法是在角色|职业|装备|敌人的备注栏 # 设定34行处设定HP比率并备注<danger:状态ID>可在设定的HP比率下附加状态 # 例:比率0.5 <danger:19> 就会在该角色HP低于50%的情况下附加19号状态 # 并于战斗结束时移除这个状态。 # 设定的状态请勾选战斗结束时解除 class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 战斗开始处理 #-------------------------------------------------------------------------- alias state_battle_start on_battle_start def on_battle_start state_battle_start self.feature_objects.each {|obj| self.add_state($1.to_i) if obj.note =~ /<被动状态:\s*(\d+)>/} end #-------------------------------------------------------------------------- # ● 重新整理 #-------------------------------------------------------------------------- def refresh state_resist_set.each {|state_id| erase_state(state_id) } @hp = [[@hp, mhp].min, 0].max @mp = [[@mp, mmp].min, 0].max if hp_rate <= 0.99 #设定触发状态的生命比率 self.feature_objects.each {|obj| self.add_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} else self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} end @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id) end #-------------------------------------------------------------------------- # ● 战斗结束时的处理 #-------------------------------------------------------------------------- alias state_on_battle_end on_battle_end def on_battle_end state_on_battle_end self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<被动状态:\s*(\d+)>/} self.feature_objects.each {|obj| self.remove_state($1.to_i) if obj.note =~ /<danger:\s*(\d+)>/} end end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |