赞 | 31 |
VIP | 0 |
好人卡 | 0 |
积分 | 25 |
经验 | 315 |
最后登录 | 2024-9-26 |
在线时间 | 215 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 2512
- 在线时间
- 215 小时
- 注册时间
- 2017-9-27
- 帖子
- 613
|
复杂繁琐且不一定能用的土办法(不建议使用):首先,每个角色发动技能后(普攻、防御和技能实际都是技能,每个角色的普攻技能设置不一样的)公共事件开关打开X(X对应角色编号),每回合开始时各开关重置,强制战斗指令后加入条件分歧:当开关X(X对应角色编号)未打开时增加强制战斗指令角色一次额外行动次数。
好办法:用连招脚本或老鹰的回合结束后发动技能脚本。
- =begin
- #~ #==============================================================================
- #~ # ■ 装备/敌人战斗中回合结束时自动释放技能 by 老鹰
- #~ #------------------------------------------------------------------------------
- #~ # - 新增在战斗中回合结束时,装备携带者/敌人的自动释放敌人
- # (依旧会进行消耗,但不考虑是否足够)
- # - 在装备/敌人栏备注内填入下式(可用空格或逗号分隔内部各项)(可重复填入多行)
- # <Auto Skill: 技能id, 概率分子,概率分母, 条件>
- # 技能id :需要释放的技能的id号
- # 概率分子、概率分母(可选):释放的概率为 分子/分母,默认不填则为 1
- # 条件(可选):被eval后如果返回真,则可以释放,默认不填则为真
- # 注: 可用 s 代表 $game_switches, v 代表 $game_variables
- # - 举例:
- # 在1号武器的备注栏里填入 <Auto Skill: 1, 1,2>,1号角色装备
- # 作用:1号角色在每个回合结束时,有1/2的概率对随机目标使用1号技能
- # 在2号敌人的备注栏里填入 <Auto Skill: 5, 1,5, $game_variables[1] > 5>
- # 作用:当1号变量大于5,2号敌人在每个回合结束时,有1/5的概率对随机目标使用5号技能
- # - 实质:在战斗者回合结束时,处理装备备注中的指定技能的强制战斗行动
- #==============================================================================
- class Game_Battler < Game_BattlerBase
- #--------------------------------------------------------------------------
- # ● 获取需要提取自动技能的对象的数组
- #--------------------------------------------------------------------------
- def get_battler_auto_skill_notes_array
- return equips if actor?
- return [self] if enemy?
- return []
- end
- #--------------------------------------------------------------------------
- # ● 处理自动技能的释放
- #--------------------------------------------------------------------------
- def eagle_check_auto_skill
- array = get_battler_auto_skill_notes_array
- s = $game_switches
- v = $game_variables
- array.each do |a|
- next if a == nil
- a.note.split(/[\r\n]+/).each do |line|
- line =~ /<Auto Skill:[ ,]*(\d+)[ ,]*(\d*)[ ,]*(\d*)[ ,]*(.*)>/
- # $1 - 技能id $2$3 - 概率 $4 - eval
- next if $1 == nil
- next if $4 != "" && eval($4) == false
- p1 = $2 == "" ? 1 : $2.to_i
- p2 = $3 == "" ? 1 : $3.to_i
- next if rand > (p1 * 1.0 / p2)
- force_action($1.to_i, -1)
- BattleManager.force_action(self)
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 战斗行动结束时的处理
- #--------------------------------------------------------------------------
- alias eagle_battler_auto_skill_on_action_end on_action_end
- def on_action_end
- eagle_battler_auto_skill_on_action_end
- eagle_check_auto_skill
- end
- #--------------------------------------------------------------------------
- # ● 回合结束处理
- #--------------------------------------------------------------------------
- alias eagle_battler_auto_skill_on_turn_end on_turn_end
- def on_turn_end
- eagle_battler_auto_skill_on_turn_end
- eagle_check_auto_skill if OrderManager.top_unit.battler == self # 此处和轨迹行动条有问题
- # 实际测试时变成每个行动(回合)结束时都会触发 而非自己回合结束时触发
- # 可能原因:每一次一个人行动结束,所有人的回合结束处理都被调用?
- end
- end
- =end
复制代码- #==============================================================================
- #
- # ▼ Yanfly Engine Ace - Active Chain Skills v1.01
- # -- Last Updated: 2011.12.22
- # -- Level: Hard
- # -- Requires: n/a
- #
- #==============================================================================
-
- $imported = {} if $imported.nil?
- $imported["YEA-ActiveChainSkills"] = true
-
- #==============================================================================
- # ▼ Updates
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # 2011.12.22 - Better updating speed for window.
- # 2011.12.18 - Started Script and Finished.
- #
- #==============================================================================
- # ▼ Introduction
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # 這腳本實現了主動連技的可能性,當帶有連技屬性的技能發動時,畫面左下方會出現
- # 可以連甚麼技的訊息列表,透過簡單QTE,能立刻發動下一招連技。理論上,只要有足夠
- # 的資源(MP, TP) 和連技屬性的設定,是可以無限連技的。
- #==============================================================================
- # ▼ Instructions
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # To install this script, open up your script editor and copy/paste this script
- # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
- #
- # -----------------------------------------------------------------------------
- # 以下是要放進[技能][註]的東東
- # -----------------------------------------------------------------------------
- # <chain skill L: x>
- # <chain skill R: x>
- # <chain skill X: x>
- # <chain skill Y: x>
- # <chain skill Z: x>
- # 這個是給予可連技屬性的東東,X 是技能的編號, 013,102 之類的。放了進去就是代表
- # 此技能能連去編號XXX 的技能。當沒有設定時,如只設定了Skill X,Y,Z ,L和R 是不
- # 會在連技訊息列表中出現。而不夠資源如MP,TP 時,連技訊息列表中該技能就會黑掉。
- # <chain only>
- # 這個東東是令該技能在正常技能表中不能選擇,只能透過連技去發動。
- #==============================================================================
- # ▼ Compatibility
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
- # it will run with RPG Maker VX without adjusting.
- #
- # While this script doesn't interfere with Input Combo Skills, it will most
- # likely be unable to used in conjunction with Input Combo Skills. I will not
- # provide support for any errors that may occur from this, nor will I be
- # responsible for any damage doing this may cause your game.
- #
- #==============================================================================
-
- module YEA
- module ACTIVE_CHAIN
-
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # - Chain Skill Settings -
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # Adjust general settings here. These settings adjust the sound effect
- # played when an active skill is selected and what the minimum time window
- # is for an active chain skill.
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # 下面是連技成功時的音效,可改。
- ACTIVE_SKILL_SOUND = RPG::SE.new("Raise2", 80, 100)
-
- # 下面是設定連技訊息列表出現的時間長度,也就是QTE 的限時。
- MINIMUM_TIME = 60
-
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # - Chain Skill Text -
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # 這裡是設定連技訊息列表內容的地方,除了Title 外,都可用text codes.
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- CHAIN_TITLE = "追打技 "
- TITLE_SIZE = 25
- L_SKILL_ON = "\eC[17]击退\eC[0]: "
- L_SKILL_OFF = "\eC[7]击退: "
- L_SKILL_ACT = "\eC[17]击退: "
- R_SKILL_ON = "\eC[17]浮空\eC[0]: "
- R_SKILL_OFF = "\eC[7]浮空: "
- R_SKILL_ACT = "\eC[17]浮空: "
- X_SKILL_ON = "\eC[17]倒地\eC[0]: "
- X_SKILL_OFF = "\eC[7]倒地: "
- X_SKILL_ACT = "\eC[17]倒地: "
- Y_SKILL_ON = "\eC[17]恢复\eC[0]: "
- Y_SKILL_OFF = "\eC[7]恢复: "
- Y_SKILL_ACT = "\eC[17]恢复: "
- Z_SKILL_ON = "\eC[17]辅助\eC[0]: "
- Z_SKILL_OFF = "\eC[7]辅助: "
- Z_SKILL_ACT = "\eC[17]辅助: "
-
- end # ACTIVE_CHAIN
- end # YEA
-
- #==============================================================================
- # ▼ Editting anything past this point may potentially result in causing
- # computer damage, incontinence, explosion of user's head, coma, death, and/or
- # halitosis so edit at your own risk.
- #==============================================================================
-
- module YEA
- module REGEXP
- module SKILL
-
- CHAIN_ONLY = /<(?:CHAIN_ONLY|chain only)>/i
- CHAIN_SKILL = /<(?:CHAIN_SKILL|chain skill)[ ]([LRXYZ]):[ ](\d+)>/i
-
- end # SKILL
- end # REGEXP
- end # YEA
-
- #==============================================================================
- # ■ DataManager
- #==============================================================================
-
- module DataManager
-
- #--------------------------------------------------------------------------
- # alias method: load_database
- #--------------------------------------------------------------------------
- class <<self; alias load_database_acs load_database; end
- def self.load_database
- load_database_acs
- load_notetags_acs
- end
-
- #--------------------------------------------------------------------------
- # new method: load_notetags_acs
- #--------------------------------------------------------------------------
- def self.load_notetags_acs
- for skill in $data_skills
- next if skill.nil?
- skill.load_notetags_acs
- end
- end
-
- end # DataManager
-
- #==============================================================================
- # ■ RPG::Skill
- #==============================================================================
-
- class RPG::Skill < RPG::UsableItem
-
- #--------------------------------------------------------------------------
- # public instance variables
- #--------------------------------------------------------------------------
- attr_accessor :chain_only
- attr_accessor :chain_skill
-
- #--------------------------------------------------------------------------
- # common cache: load_notetags_acs
- #--------------------------------------------------------------------------
- def load_notetags_acs
- @chain_only = false
- @chain_skill = {}
- #---
- self.note.split(/[\r\n]+/).each { |line|
- case line
- #---
- when YEA::REGEXP::SKILL::CHAIN_ONLY
- @chain_only = true
- when YEA::REGEXP::SKILL::CHAIN_SKILL
- case $1.upcase
- when "L"; @chain_skill[:L] = $2.to_i
- when "R"; @chain_skill[:R] = $2.to_i
- when "X"; @chain_skill[:X] = $2.to_i
- when "Y"; @chain_skill[:Y] = $2.to_i
- when "Z"; @chain_skill[:Z] = $2.to_i
- else; next
- end
- #---
- end
- } # self.note.split
- #---
- end
-
- end # RPG::UsableItem
-
- #==============================================================================
- # ■ Game_Action
- #==============================================================================
-
- class Game_Action
-
- #--------------------------------------------------------------------------
- # new method: set_active_chain_skill
- #--------------------------------------------------------------------------
- def set_active_chain_skill(skill_id)
- set_skill(skill_id)
- @target_index = subject.current_action.target_index
- @active_chain_skill = true
- end
-
- #--------------------------------------------------------------------------
- # alias method: valid?
- #--------------------------------------------------------------------------
- alias game_action_valid_acs valid?
- def valid?
- subject.enable_active_chain(true) if @active_chain_skill
- result = game_action_valid_acs
- subject.enable_active_chain(false) if @active_chain_skill
- return result
- end
-
- end # Game_Action
-
- #==============================================================================
- # ■ Game_BattlerBase
- #==============================================================================
-
- class Game_BattlerBase
-
- #--------------------------------------------------------------------------
- # alias method: skill_conditions_met?
- #--------------------------------------------------------------------------
- alias game_battlerbase_skill_conditions_met_acs skill_conditions_met?
- def skill_conditions_met?(skill)
- return false if chain_skill_restriction?(skill)
- return game_battlerbase_skill_conditions_met_acs(skill)
- end
-
- #--------------------------------------------------------------------------
- # new method: chain_skill_restriction?
- #--------------------------------------------------------------------------
- def chain_skill_restriction?(skill)
- return false unless actor?
- return false unless $game_party.in_battle
- return false unless skill.chain_only
- return !@active_chain_enabled
- end
-
- #--------------------------------------------------------------------------
- # alias method: hp=
- #--------------------------------------------------------------------------
- alias game_battlerbase_hpequals_acs hp=
- def hp=(value)
- game_battlerbase_hpequals_acs(value)
- return unless SceneManager.scene_is?(Scene_Battle)
- return unless actor?
- return if value == 0
- SceneManager.scene.refresh_active_chain_skill_window(self)
- end
-
- #--------------------------------------------------------------------------
- # alias method: mp=
- #--------------------------------------------------------------------------
- alias game_battlerbase_mpequals_acs mp=
- def mp=(value)
- game_battlerbase_mpequals_acs(value)
- return unless SceneManager.scene_is?(Scene_Battle)
- return unless actor?
- return if value == 0
- SceneManager.scene.refresh_active_chain_skill_window(self)
- end
-
- #--------------------------------------------------------------------------
- # alias method: tp=
- #--------------------------------------------------------------------------
- alias game_battlerbase_tpequals_acs tp=
- def tp=(value)
- game_battlerbase_tpequals_acs(value)
- return unless SceneManager.scene_is?(Scene_Battle)
- return unless actor?
- return if value == 0
- SceneManager.scene.refresh_active_chain_skill_window(self)
- end
-
- end # Game_BattlerBase
-
- #==============================================================================
- # ■ Game_Battler
- #==============================================================================
-
- class Game_Battler < Game_BattlerBase
-
- #--------------------------------------------------------------------------
- # alias method: on_battle_start
- #--------------------------------------------------------------------------
- alias game_battler_on_battle_start_acs on_battle_start
- def on_battle_start
- game_battler_on_battle_start_acs
- @active_chain_enabled = false
- end
-
- #--------------------------------------------------------------------------
- # alias method: on_battle_end
- #--------------------------------------------------------------------------
- alias game_battler_on_battle_end_acs on_battle_end
- def on_battle_end
- game_battler_on_battle_end_acs
- @active_chain_enabled = false
- end
-
- #--------------------------------------------------------------------------
- # new method: enable_active_chain
- #--------------------------------------------------------------------------
- def enable_active_chain(active)
- return unless actor?
- @active_chain_enabled = active
- end
-
- #--------------------------------------------------------------------------
- # new method: add_active_skill_chain
- #--------------------------------------------------------------------------
- def add_active_skill_chain(skill_id)
- chain_skill = Game_Action.new(self)
- chain_skill.set_active_chain_skill(skill_id)
- @actions.insert(1, chain_skill)
- end
-
- end # Game_Battler
-
- #==============================================================================
- # ■ Window_ChainSkillList
- #==============================================================================
-
- class Window_ChainSkillList < Window_Base
-
- #--------------------------------------------------------------------------
- # initialize
- #--------------------------------------------------------------------------
- def initialize
- dw = [Graphics.width/2, 320].max
- super(-standard_padding, 0, dw, fitting_height(6))
- self.z = 200
- self.opacity = 0
- hide
- end
-
- #--------------------------------------------------------------------------
- # reveal
- #--------------------------------------------------------------------------
- def reveal(battler, skill)
- @battler = battler
- @skill = skill
- @chain_skills = []
- for key in skill.chain_skill
- next if key[1].nil?
- next if $data_skills[key[1]].nil?
- next unless @battler.skills.include?($data_skills[key[1]])
- @chain_skills.push($data_skills[key[1]])
- end
- return if @chain_skills == []
- self.y = Graphics.height - fitting_height(4)
- self.y -= fitting_height(@chain_skills.size + 1)
- show
- activate
- @enabled = true
- refresh
- end
-
- #--------------------------------------------------------------------------
- # button=
- #--------------------------------------------------------------------------
- def button=(button)
- @button = button
- @enabled = false
- refresh unless @button.nil?
- end
-
- #--------------------------------------------------------------------------
- # refresh_check
- #--------------------------------------------------------------------------
- def refresh_check(battler)
- return if @battler != battler
- refresh
- end
-
- #--------------------------------------------------------------------------
- # refresh
- #--------------------------------------------------------------------------
- def refresh
- @button = nil if @enabled
- contents.clear
- draw_background_colour
- draw_horz_line(0)
- draw_combo_title
- draw_chain_skills
- end
-
- #--------------------------------------------------------------------------
- # draw_background_colour
- #--------------------------------------------------------------------------
- def draw_background_colour
- dh = line_height * (@chain_skills.size + 1)
- rect = Rect.new(0, 0, contents.width, dh)
- back_colour1 = Color.new(0, 0, 0, 192)
- back_colour2 = Color.new(0, 0, 0, 0)
- contents.gradient_fill_rect(rect, back_colour1, back_colour2)
- end
-
- #--------------------------------------------------------------------------
- # draw_horz_line
- #--------------------------------------------------------------------------
- def draw_horz_line(dy)
- line_y = dy + line_height - 2
- line_colour = normal_color
- line_colour.alpha = 48
- contents.fill_rect(0, line_y, contents.width, 2, line_colour)
- end
-
- #--------------------------------------------------------------------------
- # draw_combo_title
- #--------------------------------------------------------------------------
- def draw_combo_title
- reset_font_settings
- text = YEA::ACTIVE_CHAIN::CHAIN_TITLE
- contents.font.size = YEA::ACTIVE_CHAIN::TITLE_SIZE
- contents.font.bold = true
- contents.font.italic = true
- draw_text(12, 0, contents.width - 12, line_height, text)
- reset_font_settings
- end
-
- #--------------------------------------------------------------------------
- # draw_chain_skills
- #--------------------------------------------------------------------------
- def draw_chain_skills
- button_array = [:L, :R, :X, :Y, :Z]
- dx = 24
- dy = line_height
- for button in button_array
- next if @skill.chain_skill[button].nil?
- chain_skill = $data_skills[@skill.chain_skill[button]]
- next unless @battler.skills.include?(chain_skill)
- text = text_setting(button, chain_skill)
- text += sprintf("\eI[%d]", chain_skill.icon_index)
- text += chain_skill.name
- draw_text_ex(dx, dy, text)
- dy += line_height
- end
- end
-
- #--------------------------------------------------------------------------
- # text_setting
- #--------------------------------------------------------------------------
- def text_setting(button, skill)
- active = button == @button
- text = ""
- case button
- when :L
- if @enabled && @battler.usable?(skill)
- text = YEA::ACTIVE_CHAIN::L_SKILL_ON
- elsif !@enabled && active
- text = YEA::ACTIVE_CHAIN::L_SKILL_ACT
- else
- text = YEA::ACTIVE_CHAIN::L_SKILL_OFF
- end
- when :R
- if @enabled && @battler.usable?(skill)
- text = YEA::ACTIVE_CHAIN::R_SKILL_ON
- elsif !@enabled && active
- text = YEA::ACTIVE_CHAIN::R_SKILL_ACT
- else
- text = YEA::ACTIVE_CHAIN::R_SKILL_OFF
- end
- when :X
- if @enabled && @battler.usable?(skill)
- text = YEA::ACTIVE_CHAIN::X_SKILL_ON
- elsif !@enabled && active
- text = YEA::ACTIVE_CHAIN::X_SKILL_ACT
- else
- text = YEA::ACTIVE_CHAIN::X_SKILL_OFF
- end
- when :Y
- if @enabled && @battler.usable?(skill)
- text = YEA::ACTIVE_CHAIN::Y_SKILL_ON
- elsif !@enabled && active
- text = YEA::ACTIVE_CHAIN::Y_SKILL_ACT
- else
- text = YEA::ACTIVE_CHAIN::Y_SKILL_OFF
- end
- when :Z
- if @enabled && @battler.usable?(skill)
- text = YEA::ACTIVE_CHAIN::Z_SKILL_ON
- elsif !@enabled && active
- text = YEA::ACTIVE_CHAIN::Z_SKILL_ACT
- else
- text = YEA::ACTIVE_CHAIN::Z_SKILL_OFF
- end
- end
- return text
- end
-
- end # Window_ChainSkillList
-
- #==============================================================================
- # ■ Scene_Battle
- #==============================================================================
-
- class Scene_Battle < Scene_Base
-
- #--------------------------------------------------------------------------
- # alias method: create_all_windows
- #--------------------------------------------------------------------------
- alias scene_battle_create_all_windows_acs create_all_windows
- def create_all_windows
- scene_battle_create_all_windows_acs
- create_chain_skill_window
- end
-
- #--------------------------------------------------------------------------
- # new method: create_chain_skill_window
- #--------------------------------------------------------------------------
- def create_chain_skill_window
- @active_chain_skill_window = Window_ChainSkillList.new
- @active_chain_skill_counter = 0
- end
-
- #--------------------------------------------------------------------------
- # alias method: use_item
- #--------------------------------------------------------------------------
- alias scene_battle_use_item_acs use_item
- def use_item
- @subject.enable_active_chain(true)
- item = @subject.current_action.item
- chain_skill_list_appear(true, item)
- start_active_skill_counter(item)
- scene_battle_use_item_acs
- wait_active_skill_counter
- chain_skill_list_appear(false, item)
- @subject.enable_active_chain(false)
- end
-
- #--------------------------------------------------------------------------
- # new method: chain_skill_list_appear
- #--------------------------------------------------------------------------
- def chain_skill_list_appear(visible, skill)
- return if @subject.nil?
- return unless @subject.actor?
- return unless skill.is_a?(RPG::Skill)
- @active_chain_skill = 0
- @current_chain_skill = skill
- @active_chain_skill_window.reveal(@subject, skill) if visible
- @active_chain_skill_window.hide unless visible
- end
-
- #--------------------------------------------------------------------------
- # new method: refresh_active_chain_skill_window
- #--------------------------------------------------------------------------
- def refresh_active_chain_skill_window(battler)
- return unless @active_chain_skill_window.visible
- @active_chain_skill_window.refresh_check(battler)
- end
-
- #--------------------------------------------------------------------------
- # new method: start_active_skill_counter
- #--------------------------------------------------------------------------
- def start_active_skill_counter(skill)
- return unless @active_chain_skill_window.visible
- @active_chain_skill_counter = YEA::ACTIVE_CHAIN::MINIMUM_TIME
- end
-
- #--------------------------------------------------------------------------
- # new method: wait_active_skill_counter
- #--------------------------------------------------------------------------
- def wait_active_skill_counter
- return unless @active_chain_skill_window.visible
- wait(@active_chain_skill_counter)
- end
-
- #--------------------------------------------------------------------------
- # new method: update_active_chain_skill_counter
- #--------------------------------------------------------------------------
- def update_active_chain_skill_counter
- return if @active_chain_skill_counter == 0
- @active_chain_skill_counter -= 1
- end
-
- #--------------------------------------------------------------------------
- # alias method: update_basic
- #--------------------------------------------------------------------------
- alias scene_battle_update_basic_acs update_basic
- def update_basic
- scene_battle_update_basic_acs
- update_active_chain_skill_counter
- update_active_chain_skill_select
- end
-
- #--------------------------------------------------------------------------
- # new method: update_active_chain_skill_select
- #--------------------------------------------------------------------------
- def update_active_chain_skill_select
- return unless @active_chain_skill_window.visible
- return if @active_chain_skill > 0
- if Input.press?(:L)
- check_active_chain_skill(:L)
- elsif Input.press?(:R)
- check_active_chain_skill(:R)
- elsif Input.press?(:X)
- check_active_chain_skill(:X)
- elsif Input.press?(:Y)
- check_active_chain_skill(:Y)
- elsif Input.press?(:Z)
- check_active_chain_skill(:Z)
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: check_active_chain_skill
- #--------------------------------------------------------------------------
- def check_active_chain_skill(button)
- skill_id = @current_chain_skill.chain_skill[button]
- return if skill_id.nil?
- return if $data_skills[skill_id].nil?
- chain_skill = $data_skills[skill_id]
- return unless @subject.usable?(chain_skill)
- return unless @subject.skills.include?(chain_skill)
- @active_chain_skill_counter = 12
- @active_chain_skill = skill_id
- @active_chain_skill_window.button = button
- YEA::ACTIVE_CHAIN::ACTIVE_SKILL_SOUND.play
- @subject.add_active_skill_chain(skill_id)
- end
-
- end # Scene_Battle
-
- #==============================================================================
- #
- # ▼ End of File
- #
- #==============================================================================
复制代码 |
|