赞 | 93 |
VIP | 0 |
好人卡 | 13 |
积分 | 80 |
经验 | 53314 |
最后登录 | 2024-8-13 |
在线时间 | 1183 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 7981
- 在线时间
- 1183 小时
- 注册时间
- 2007-7-29
- 帖子
- 2055
|
稍微弄了下,原装工程,不保证和其他脚本冲突,必须设定掉血状态的ID。
- #==============================================================================
- # 设置
- #------------------------------------------------------------------------------
- # 状态ID必须设置
- #==============================================================================
- module LimSkillInjure
- # 掉血状态ID
- StateId = 26
- end
- #==============================================================================
- # RPG::UsableItem
- #------------------------------------------------------------------------------
- # 为技能与物品添加掉血判定
- #==============================================================================
- class RPG::UsableItem
-
- #--------------------------------------------------------------------------
- # 是否导致掉血(会附加状态)
- #--------------------------------------------------------------------------
- def will_injure
- if @will_injure == nil
- @will_injure = false
- for i in [email protected]
- if @effects[i].code == 21 and @effects[i].data_id == LimSkillInjure::StateId
- @will_injure = true
- break
- end
- end
- end
- return @will_injure
- end
- end
- #==============================================================================
- # Game Battler
- #------------------------------------------------------------------------------
- # 重定义连续伤害
- #==============================================================================
- class Game_Battler
- #--------------------------------------------------------------------------
- # 默认伤害,记录掉血值
- #--------------------------------------------------------------------------
- alias rgss_make_damage_value make_damage_value
- def make_damage_value(user, item)
- rgss_make_damage_value(user, item)
- if (item.will_injure)
- @injure_damage = @result.hp_damage
- end
- end
- #--------------------------------------------------------------------------
- # 重定义连续伤害
- #--------------------------------------------------------------------------
- def regenerate_hp
- damage = -(mhp * hrg).to_i
- perform_map_damage_effect if $game_party.in_battle && damage > 0
- @result.hp_damage = [damage, max_slip_damage].min
- if (self.is_injure?)
- @result.hp_damage += (@injure_damage == nil) ? 0 : @injure_damage
- end
- self.hp -= @result.hp_damage
- end
- #--------------------------------------------------------------------------
- # 判断角色是否处在掉血状态
- #--------------------------------------------------------------------------
- def is_injure?
- return @states.include?(LimSkillInjure::StateId)
- end
- end
复制代码 |
评分
-
查看全部评分
|