薄凉看客 梦石0 星屑50 在线时间1269 小时 注册时间2010-6-20 回帖1223 发消息
您需要 登录 才可以下载或查看,没有账号?注册会员
# -------------------------------------------- # ·秘奥义· 写轮眼(复制敌特技的特技) # -------------------------------------------- # 增加一个变量 记录 最近一次敌人使用的 特技 class Game_Enemy < Game_Battler attr_accessor :skill end # 增加一个变量 记录 最近一次同伴使用的 特技 class Game_Actor < Game_Battler attr_accessor :skill end #============================================================================== # ■ Scene_Battle (分割定义 4) #------------------------------------------------------------------------------ # 处理战斗画面的类。 #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● 生成特技行动结果 #-------------------------------------------------------------------------- def make_skill_action_result # 获取特技 @skill = $data_skills[@active_battler.current_action.skill_id] # ------------------------------------ # 设置id # ------------------------------------ 写轮眼 = 100 # 写轮眼特技id 敌方使用 = true # 敌人可以使用? 重复复制 = true # 就是复制一次技能后 “目标” skill 不清除 可以反复复制该技能 if @skill.id == 写轮眼 # 特技判断 set_target_battlers(@skill.scope) # 取得“复制”目标 if !@target_battlers[0].skill.nil? # 判断目标最近是否使用过技能 @active_battler.sp -= @skill.sp_cost # 扣除使用写轮眼消耗的sp @skill = @target_battlers[0].skill # “技能替代” @target_battlers = [] # 清空目标数组 set_target_battlers(@skill.scope) # 设置新的效果范围 if 重复复制 == false @target_battlers[0].skill = nil # 目标“技能清除” end @active_battler.sp -= @skill.sp_cost # 扣除sp(mp) @status_window.refresh # 刷新状态窗口 @help_window.set_text(@skill.name, 1) # 刷新帮助窗口 @animation1_id = @skill.animation1_id # 设置发动方动画 @animation2_id = @skill.animation2_id # 设置对象方动画 @common_event_id = @skill.common_event_id # 设置公共事件 for target in @target_battlers # 循环目标 target.skill_effect(@active_battler, @skill) # 特技效果 end return end end # 如果不是强制行动 unless @active_battler.current_action.forcing # 因为 SP 耗尽而无法使用的情况下 unless @active_battler.skill_can_use?(@skill.id) # 清除强制行动对像的战斗者 $game_temp.forcing_battler = nil # 移至步骤 1 @phase4_step = 1 return end end # 消耗 SP @active_battler.sp -= @skill.sp_cost # 刷新状态窗口 @status_window.refresh # 在帮助窗口显示特技名 @help_window.set_text(@skill.name, 1) # 设置动画 ID @animation1_id = @skill.animation1_id @animation2_id = @skill.animation2_id # 设置公共事件 ID @common_event_id = @skill.common_event_id # 设置对像侧战斗者 set_target_battlers(@skill.scope) # 应用特技效果 for target in @target_battlers target.skill_effect(@active_battler, @skill) end # ------------------------------------ # 记录 施放的特技与施放特技的战斗者 # ------------------------------------ return if 敌方使用 == false and @active_battler.is_a? Game_Enemy @active_battler.skill = @skill end end
使用道具 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.