| 
 
| 赞 | 93 |  
| VIP | 0 |  
| 好人卡 | 13 |  
| 积分 | 80 |  
| 经验 | 53314 |  
| 最后登录 | 2024-7-15 |  
| 在线时间 | 1183 小时 |  
 Lv4.逐梦者 
	梦石0 星屑7976 在线时间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
 | 
 评分
查看全部评分
 |