#============================================================================== # ■ アクターIDによる戦闘行動の強制 # @version 0.12 10/08/22 # @author さば缶 #------------------------------------------------------------------------------ #  アクターIDで戦闘行動を強制させるスクリプトです # 敵の行動を強制させる場合も、アクターIDで攻撃対象を設定することができます。 # # ■使い方(味方を操作編) #  イベントコマンドによるスクリプトで、 # skill_forcing("アクターID", "スキルID", "ターゲット", "スキルの使用条件無視") # と記述します。 # # ○ターゲット # -2・・・ラストターゲット # -1・・・ランダム # 1以上・・・スキルの対象が敵の場合はインデックス # スキルの対象が味方の場合はアクターID、存在しなければランダム # # ○スキルの使用条件無視 # true,もしくは設定なし・・・スキルの使用条件を無視して強制発動 # false・・・スキルを使える状態でない、スキルを覚えていないなどの時に # スキルを発動しない # KGC SOftwareさんのスキルCP制にも対応。 # スキルを設定していない場合も発動しない。 # # ■例 # skill_forcing(1, 33, -2, false) # skill_forcing(2, 33, 1) # など。 # # # ■使い方(敵を操作編) #  イベントコマンドによるスクリプトで、 # enemy_skill_forcing("エネミーインデックス", "スキルID", "ターゲット", "スキルの使用条件無視") # と記述します。 # # ○エネミーインデックス # 1以上の整数。敵グループ内における敵の番号です。 # (イベントコマンドの"戦闘行動を強制"で指定する番号と同じ) # # ○ターゲット # -2・・・ラストターゲット # -1・・・ランダム # 1以上・・・スキルの対象が敵の場合はアクターID、存在しなければランダム # スキルの対象が味方の場合はエネミーインデックス # # ○スキルの使用条件無視 # true,もしくは設定なし・・・スキルの使用条件を無視して強制発動 # false・・・スキルを使える状態でない時(MPが足りない、沈黙中など)にスキルを発動しない # #============================================================================== $imported = {} if $imported == nil $imported["SabaSkillForcing"] = true class Game_Interpreter def skill_forcing(actor_id, skill_id, target, force = true) actor = $game_actors[actor_id] actor.action.clear actor_index = $game_party.members.index(actor) return if actor_index == nil skill = $data_skills[skill_id] unless force return unless actor.skill_can_use?(skill) if $imported["SkillCPSystem"] == true return unless battle_skill_set?(actor_id, skill_id) end end index = @index @params = [] if target > 0 if skill.for_friend? actor = $game_actors[target] target = $game_party.members.index(actor) target = -1 if target == nil else target -= 1 end end @params[0] = 1 # 味方 @params[1] = actor_index @params[2] = 1 # スキル @params[3] = skill_id @params[4] = target command_339 @index = index end def enemy_skill_forcing(enemy_index, skill_id, target, force = true) skill = $data_skills[skill_id] enemy = $game_troop.members[enemy_index - 1] enemy.action.clear unless force return unless enemy.skill_can_use?(skill) end index = @index @params = [] if target > 0 if skill.for_opponent? actor = $game_actors[target] target = $game_party.members.index(actor) target = -1 if target == nil else target -= 1 end end @params[0] = 0 # 敵 @params[1] = enemy_index - 1 @params[2] = 1 # スキル @params[3] = skill_id @params[4] = target command_339 @index = index end end