赞 | 4 |
VIP | 0 |
好人卡 | 0 |
积分 | 23 |
经验 | 2892 |
最后登录 | 2024-7-10 |
在线时间 | 275 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2333
- 在线时间
- 275 小时
- 注册时间
- 2017-7-25
- 帖子
- 163
|
- # 战斗开始前附加状态或者HP到达一定比率时附加状态
- #--------------------------------------------------------------------------
- # ● 战斗开始前附加状态
- #--------------------------------------------------------------------------
- # 用法是在角色|职业|装备|敌人的备注栏
- # 备注<被动状态:状态ID> 例如<被动状态:18> 那么就会在战斗开始前
- # 会为该角色附加18号状态,战斗结束时移除这个状态。同时装备2个以
- # 上的有被动状态的装备亦可叠加,都会附加上对应的状态。
- #--------------------------------------------------------------------------
- # ● HP到达一定比率时附加状态
- #--------------------------------------------------------------------------
- # 用法是在角色|职业|装备|敌人的备注栏
- # 设定34行处设定HP比率并备注<危机:状态ID>可在设定的HP比率下附加状态
- # 例:比率0.2 <危机:19> 就会在该角色HP低于20%的情况下附加19号状态
- # 并于战斗结束时移除这个状态。
- # 设定的状态请勾选战斗结束时解除
- # <危机1:19>是HP低于50% <危机2:19>是25% <危机3:19> 是10%
- #如果想低于特定HP自行设定,hp_rate改成mp_rate可以设置成MP低于某比例
- 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.2 #设定触发状态的生命比率
- self.feature_objects.each {|obj|
- self.add_state($1.to_i) if obj.note =~ /<危机:\s*(\d+)>/}
- else
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机:\s*(\d+)>/}
- end
- if hp_rate <= 0.5 #设定触发状态的生命比率
- self.feature_objects.each {|obj|
- self.add_state($1.to_i) if obj.note =~ /<危机1:\s*(\d+)>/}
- else
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机1:\s*(\d+)>/}
- end
- if hp_rate <= 0.25 #设定触发状态的生命比率
- self.feature_objects.each {|obj|
- self.add_state($1.to_i) if obj.note =~ /<危机2:\s*(\d+)>/}
- else
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机2:\s*(\d+)>/}
- end
- if hp_rate <= 0.01 #设定触发状态的生命比率
- self.feature_objects.each {|obj|
- self.add_state($1.to_i) if obj.note =~ /<危机3:\s*(\d+)>/}
- else
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机3:\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 =~ /<危机:\s*(\d+)>/}
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机1:\s*(\d+)>/}
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机2:\s*(\d+)>/}
- self.feature_objects.each {|obj|
- self.remove_state($1.to_i) if obj.note =~ /<危机3:\s*(\d+)>/}
- end
- end
复制代码
有一个这样的脚本,需要什么效果照着设置就行了 |
评分
-
查看全部评分
|