查看: 1726|回复: 0

[已经过期] 请帮一下忙,把va的脚本改成xp的。谢谢了!

[复制链接]
梦石
0
星屑
60
在线时间
95 小时
注册时间
2014-10-26
回帖
55
发表于 2015-7-8 23:22:18 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby"]class RPG::Skill < RPG::UsableItem
  def cool_time
    @note.each_line{|line|
    case line
    when /\<(?:冷却时间)[ ]*(\d+)\>/
      return $1.to_i
    end
    }
    return 0
  end
end
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  管理角色的类。
#   本类在 Game_Actors 类 ($game_actors) 的内部使用。
#   具体使用请查看 Game_Party 类 ($game_party) 。
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  alias skill_cool_time_initialize initialize
  def initialize
    skill_cool_time_initialize
    @skill_cool_time=[]
  end
  #--------------------------------------------------------------------------
  # ● 应用技能/物品的效果
  #--------------------------------------------------------------------------
  alias skill_cool_time_item_apply item_apply
  def item_apply(user, item)
    skill_cool_time_item_apply(user,item)
    if item.is_a?(RPG::Skill)
      user.set_cool_time(item)
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置技能冷却时间
  #--------------------------------------------------------------------------
  def set_cool_time(skill)
    if skill.cool_time
      @skill_cool_time[skill.id] = skill.cool_time
    end
  end
  #--------------------------------------------------------------------------
  # ● 回合结束处理
  #--------------------------------------------------------------------------
  alias skill_cool_time_on_turn_end on_turn_end
  def on_turn_end
    skill_cool_time_on_turn_end
    @skill_cool_time.each_index{|index|
    @skill_cool_time[index] -= 1 if @skill_cool_time[index] and @skill_cool_time[index] > 0
    }
  end
  #--------------------------------------------------------------------------
  # ● 技能是否正在冷却
  #--------------------------------------------------------------------------
  def skill_cooling?(skill)
    @skill_cool_time[skill.id] and @skill_cool_time[skill.id] != 0
  end
  #--------------------------------------------------------------------------
  # ● 获取冷却回合
  #--------------------------------------------------------------------------
  def skill_cool_turn(skill)
    @skill_cool_time[skill.id] ? @skill_cool_time[skill.id] : 0
  end
  #--------------------------------------------------------------------------
  # ● 检查技能的使用条件
  #--------------------------------------------------------------------------
  alias skill_cool_time_skill_conditions_met? skill_conditions_met?
  def skill_conditions_met?(skill)
    skill_cool_time_skill_conditions_met?(skill) && !skill_cooling?(skill)
  end
  #--------------------------------------------------------------------------
  # ● 战斗结束处理
  #--------------------------------------------------------------------------
  alias skill_cool_time_on_battle_end on_battle_end
  def on_battle_end
    skill_cool_time_on_battle_end
    @skill_cool_time.clear
  end
end
#==============================================================================
# ■ Window_SkillList
#------------------------------------------------------------------------------
#  技能画面中,显示技能的窗口。
#==============================================================================

class Window_SkillList < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 绘制项目
  #--------------------------------------------------------------------------
  alias skill_cool_time_draw_item draw_item
  def draw_item(index)
    skill = @data[index]
    if skill
      if @actor.skill_cooling?(skill)
        rect = item_rect(index)
        w = (skill.cool_time - @actor.skill_cool_turn(skill)).to_f / skill.cool_time
        draw_gauge(rect.x,rect.y,rect.width,w,text_color(5),text_color(13))
      end
    end
    skill_cool_time_draw_item(index)
  end
end
[/pre]
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部