#=========================================================================== # ◆ A1 Scripts ◆ # サイドビューバトルアクション設定(RGSS3) # # バージョン : 1.10 (2012/01/17) # 作者 : A1 # URL     : http://a1tktk.web.fc2.com/ #--------------------------------------------------------------------------- # 機能: # ・パトラッシュ・・・僕はもう疲れたよ・・・ #--------------------------------------------------------------------------- # 更新履歴   :2012/01/16 Ver1.00 リリース #    :2012/01/17 Ver1.10 防御待機追加 #--------------------------------------------------------------------------- # 設置場所 # フェイスステータスウィンドウ以下 # 個別バトルステータスウィンドウ以下 # バトルアクション以下 # (リザルトウィンドウ以下) # (ダメージポップアップ以下) # (Audioフェードイン以下) # # 必要スクリプト # フェイスステータスウィンドウスクリプト # 個別バトルステータスウィンドウスクリプト # バトルアクションスクリプト #--------------------------------------------------------------------------- # 使い方 # ■ サイドビューアクション設定 に設定します # # 個別バトルステータスウィンドウのフォントサイズは # 個別バトルステータスウィンドウスクリプトののフォントサイズ依存になりました # # 二刀流の攻撃力補正値は撤廃になりました # 設定する際は「装備拡張」スクリプトが必要になります #--------------------------------------------------------------------------- # 注意 # このスクリプトは「個別バトルステータスウィンドウ」のFACEモードを無効化します # FACEモード時での動作は保証できませんので、FACEモードは false で使用してください #============================================================================== $imported ||= {} if $imported["A1_PersonalBattleStatus"] && $imported["A1_FaceStatusWindow"] && $imported["A1_BattleAction"] $imported["A1_SideViewBattleConfig"] = true old_common_script("サイドビューバトル", "4.20") if common_version < 4.20 #============================================================================== # ■ サイドビューアクション設定 #============================================================================== module A1_System::SideViewActionConfig #-------------------------------------------------------------------------- # 戦闘画面突入時の位置 #-------------------------------------------------------------------------- INTT_POS = [ [758, 152], [774, 208], [790, 264], [806, 320], [822, 376] ] #-------------------------------------------------------------------------- # 戦闘中の定位置 #-------------------------------------------------------------------------- STANDARD_POS = [ [472, 250], [488, 304], [504, 364], [520, 418], [536, 476] ] #-------------------------------------------------------------------------- # 個別バトルステータスウィンドウの位置 #-------------------------------------------------------------------------- WINDOW_POS = [ [488, 181], [504, 237], [520, 293], [536, 349], [552, 405] ] #-------------------------------------------------------------------------- # 敵のy座標補正値(+方向で画面下方に補正) #-------------------------------------------------------------------------- TROOP_COMP_Y = 96 #-------------------------------------------------------------------------- # 二刀流時のTP増加量補正値(倍率) #-------------------------------------------------------------------------- TSS_TP_RATE = 0.5 #-------------------------------------------------------------------------- # 各アクションのメソッドシンボル # それぞれのアクションは、Game_Battler クラスのメソッドが呼ばれます # この項目にメソッドを追加することで、アクションを追加できます(上級者向け) # # アクションを呼ぶ時は メソッドキー[引数1,引数2・・・] と記述し # メソッドは シンボル(params) で、params に引数が配列として渡されます #-------------------------------------------------------------------------- ACTION_SYMBOL = { #-------------------------------------------------------------------------- # 移動[params, ジャンプ]:移動アクションです # params 定位置[duration, wait] 定位置に戻ります # 前進[duration, wait] 1歩前に移動します # 後退[duration, wait] 1歩後に移動します # 対象[duration, wait] 対象まで移動します # 敵中心[duration, wait] 敵の中心まで移動します(アクター限定) # 相対[x, y, duration, wait] x y で指定した相対座標まで移動します # 絶対[x, y, duration, wait] x y で指定した絶対座標まで移動します # # duration:移動にかける時間(フレーム数) # wait 移動完了までウェイト 省略すると待ちません # # ジャンプ 移動をジャンプで行います # duration の値が大きいほど高くジャンプします #-------------------------------------------------------------------------- "移動" => :move_pos, #-------------------------------------------------------------------------- # 直立[params] 歩行アニメーションの有無を設定するアクションです # # params 予約 アクション終了後に直立します # 解除 歩行アニメーションを再開します # # params を省略し 直立 とすると、即座に直立します #-------------------------------------------------------------------------- "直立" => :set_pattern_fix, #-------------------------------------------------------------------------- # 武器[action] 武器アクションを実行します # 詳しくは「武器アクション」参照 #-------------------------------------------------------------------------- "武器" => :weapon_action, #-------------------------------------------------------------------------- # 実行[skip] スキル/アイテムを実行します # # skip 実行終了を待たずに次のアクションに進みます # skip を省略し 実行 とすると、スキル実行終了まで待ちます #-------------------------------------------------------------------------- "実行" => :proc_use_item, #-------------------------------------------------------------------------- # アニメ[id,skip] アニメーションを表示します # # id 表示するアニメーションIDを指定します # skip アニメーションの終了を待ちません 省略可 #-------------------------------------------------------------------------- "アニメ" => :proc_animation, #-------------------------------------------------------------------------- # 向き[direction, pattern] # キャラクターの向きを設定します(アクター専用) # # direction 上 下 左 右 で設定します # pattern 0 〜 2 の値でパターンを設定します 省略可 #-------------------------------------------------------------------------- "向き" => :change_direction, #-------------------------------------------------------------------------- # キャラ[params] キャラクターアクションを実行します # 詳しくはキャラクターアクションを参照のこと #-------------------------------------------------------------------------- "キャラ" => :character_action, #-------------------------------------------------------------------------- # 状態[params] ステートアクションを実行します # 詳しくはステートアクションを参照のこと #-------------------------------------------------------------------------- "状態" => :state_action, #-------------------------------------------------------------------------- # 派生[action] アクションを派生させます # # action 記述したアクション名のアクションに派生し、戻ってきます # # 派生[スキル[id]] # 派生[アイテム[id]] # # 指定した id のスキル/アイテムに派生し、派生先で終了します #-------------------------------------------------------------------------- "派生" => :next_action, #-------------------------------------------------------------------------- # 条件[condition, not] 条件を判断し、false の場合次のアクションを飛ばします # # condition 二刀流 二刀流で両手に武器を持っている場合 true を返します # スキル使用可[id] id のスキルが使用可の場合 true を返します # アイテム使用可[id] id のアイテムが使用可の場合 true を返します # 対象生存 攻撃対象のいずれかが生存している場合 true を返します # # not 条件を反転させ、true の場合に次のアクションを飛ばします 省略可 # # その他の条件は、アクション「条件」の追加項目 参照のこと #-------------------------------------------------------------------------- "条件" => :next_condition, #-------------------------------------------------------------------------- # G変更[c_info, direction, pattern, pattern_fix] # キャラクターのグラフィックを変更します(アクター専用) # # c_info データベース「アクター」のメモ欄に設定したグラフィックを指定します # <サブ1 Actor4_ex, 7> と設定した場合 サブ1 を指定します # <サブ3 Actor4_ex2, 7> と設定した場合 サブ3 を指定します # データベースの設定は、名前の重複がなければ複数可 # # direction 向きを 上 下 左 右 で指定します # # pattern 0 〜 2 の値でパターンを設定します 省略可 # # pattern_fix 固定 とするとパターンを固定します #-------------------------------------------------------------------------- "G変更" => :change_graphic, #-------------------------------------------------------------------------- # コラプス[許可] コラプスエフェクトを許可します #-------------------------------------------------------------------------- "コラプス" => :set_collapse, #-------------------------------------------------------------------------- # 繰り返し[num] num の回数だけ次のアクションを繰り返します #-------------------------------------------------------------------------- "繰り返し" => :repeat_action, #-------------------------------------------------------------------------- # ピクチャ[action] ピクチャの操作を行います # 詳しくはピクチャ操作を参照のこと #-------------------------------------------------------------------------- "ピクチャ" => :picture_action, #-------------------------------------------------------------------------- # 同時[action, member] 複数キャラクターを同時に行動させます # # action 行動させるアクションを指定します # member Index[no,no,...] 指定したIndexのメンバーを同時に行動させます # 名前[name,name,...] 指定した名前のメンバーを同時に行動させます(アクター専用) # # member を省略すると全員が同時に行動します #-------------------------------------------------------------------------- "同時" => :parallel_action, #-------------------------------------------------------------------------- # 中断 アクションを中断します # # 派生アクション中(スキル/アイテム指定除く)は 派生アクションを中断して # 親アクションに戻ります # # 親アクション中に中断すると、定位置に戻ります #-------------------------------------------------------------------------- "中断" => :break_action, #-------------------------------------------------------------------------- # ダメージ ダメージを与えます #-------------------------------------------------------------------------- "ダメージ" => :proc_damage, #-------------------------------------------------------------------------- # Audio オーディオを操作します # # Audio[BGM[name, volume, pitch], 停止] # Audio[BGS[name, volume, pitch], 停止] # Audio[ME[name, volume, pitch], 停止] # Audio[SE[name, volume, pitch], 停止] # # 各種Audioの演奏/停止を行います # 停止 を省略すると 演奏します # # Audio[BGM[フェードアウト, duration]] # Audio[BGS[フェードアウト, duration]] # # BGMやBGSを duration の時間をかけてフェードアウトします # duration は ミリ秒 単位で設定します # # Audio[BGM[フェードイン, volume, duration]] # Audio[BGS[フェードイン, volume, duration]] # # BGMやBGSを duration の時間をかけて volume までフェードインします # duration は ミリ秒 単位で設定します # # フェードイン機能は「Audioフェードイン」スクリプトが必要です #-------------------------------------------------------------------------- "Audio" => :audio_action, "使用武器" => :use_weapon_pos, } #-------------------------------------------------------------------------- # アクション内容 #-------------------------------------------------------------------------- ACTION_LIST = { #-------------------------------------------------------------------------- # プリセットアクション # ※ 内容の変更はOK、項目名を変更するとエラー発生 #-------------------------------------------------------------------------- "戦闘開始の登場" => ["状態","条件[自身生存]","移動[定位置[30],ジャンプ]"], "コマンド選択開始" => ["状態","移動[前進[10]]","直立[予約]","ピクチャ[表示[@name立ち絵]]","ピクチャ[移動[立ち絵移動]]"], "コマンド選択終了" => ["ピクチャ[消去[1]]","状態","移動[定位置[10]]","状態[待機]","直立[解除]"], "勝利アクション" => ["同時[勝利アクション実行]"], "勝利アクション実行" => ["状態[通常]","キャラ[高速回転l]","移動[{高ジャンプ}]", "キャラ[左を向く]", 5, "移動[{高速画面外}]"], "初期位置にジャンプ" => ["移動[初期位置[30],ジャンプ]"], "逃げる" => ["同時[逃げる実行]"], "逃げる実行" => ["条件[自身生存]","向き[右]","移動[{逃げる画面外}]"], "逃げる失敗" => ["同時[逃げる失敗戻り]"], "逃げる失敗戻り" => ["条件[自身生存]","向き[左]","移動[{帰還}]"], "回避アクション" => ["移動[{小J始}]","移動[{小J終}]","移動[{回避戻り}]"], "敵回避アクション" => ["移動[{敵小J始}]","移動[{敵小J終}]","派生[帰還]"], "ダメージアクション" => ["移動[{ダメージ}]","移動[{帰還}]"], "状態変化アクション" => ["状態"], "帰還" => ["条件[自身生存]","移動[{帰還}]","状態"], "カウンターダメージ" => ["移動[{ダメージ}]","移動[{対象w}]"], "回復アクション" => ["状態","移動[{帰還}]"], "身代わり動作" => ["移動[身代わり[10w]]"], "身代わられ動作" => ["移動[後退[10]]"], "身代わりダメージ" => ["移動[{ダメージ}]","移動[{ダメージ戻り}]",10,"同時[同時帰還]"], "身代わり回避" => ["移動[{小J始}]","移動[{小J終}]","移動[{回避戻り}]",10,"同時[同時帰還]"], "同時帰還" => ["移動[{帰還}]"], "通常攻撃" => ["移動[{対象w}]","直立","派生[武器振り実行]","条件[二刀流]","派生[二刀流攻撃]","派生[行動終了]"], "武器振り実行" => ["武器[振り]","実行"], "二刀流攻撃" => ["条件[対象生存, not]","中断","武器[振り]","使用武器[左]","実行"], "防御" => ["実行"], "汎用スキル使用" => ["移動[前進[{10w}]]","武器[掲げ]","アニメ[{詠唱}]",15,"武器[振り]","実行","派生[行動終了]"], "汎用アイテム使用" => ["移動[前進[{10w}]]","武器[振り]","実行","派生[行動終了]"], "行動終了" => ["コラプス[許可]","派生[帰還]"], #-------------------------------------------------------------------------- # スキルアクション # # データベース「スキル」「アイテム」「武器」のメモ欄に # と記述すると # 以下で設定するアクションを実行します # # また「バトルアクション」スクリプトで設定したアクションも有効です # その場合、アクション「実行」時にバトルアクションのアクションを実行します # # アクションを設定していないスキルは # データベース「スキル」の「攻撃属性」が「通常攻撃」なら 通常攻撃 を # 「通常攻撃」以外なら 汎用スキル使用 を実行します # # アクションを設定していないアイテムは 汎用アイテム使用 を実行します # # スキル「防御」(スキルID 2) は 防御 を実行します # # データベース「エネミー」のメモ欄に # <エネミー武器 id> と記述すると # エネミーの通常攻撃のアニメーションが指定した id の武器アニメーションになります # # 数字のみのアクションは 数字分のフレームウェイトします #-------------------------------------------------------------------------- "桜花夢幻刃" => ["移動[敵中心[{10w}]]","直立","武器[振り]","実行","派生[行動終了]"], "トリプルショット" => ["移動[前進[{10w}]]","武器[振り]","実行","派生[スキル[109]]","派生[行動終了]"], "サウザンドアロー" => ["移動[前進[{10w}]]","武器[振り]","実行","派生[行動終了]"], "三回攻撃" => ["移動[{対象w}]","直立","繰り返し[3]","派生[武器振り実行]","派生[行動終了]"], "弓発射" => ["移動[前進[{10w}]]",10,"アニメ[{弓発射}]",20,"実行","派生[行動終了]"], } #-------------------------------------------------------------------------- # 汎用アクションパラメータ # # {} で囲まれた部分は汎用アクションパラメータで設定した項目に置き換わります # 汎用アクションパラメータで{}を使うことも可能です # # 移動[{帰還}] としたアクションは # 移動[定位置[{10w}]] と記述するのと同じで、{10w}も汎用アクションパラメータなので # 移動[定位置[10,wait]] が最終的なアクションになります #-------------------------------------------------------------------------- ACTION_PARAMS = { "ダメージ" => "相対[32, 0, 5, wait]", "ダメージ戻り" => "相対[-32, 0, 5, wait]", "回避戻り" => "相対[-64, 0,10, wait]", "対象w" => "対象[{10w}]", "詠唱" => "44,自身,skip", "弓発射" => "111,自身,skip", "帰還" => "定位置[{10w}]", "10w" => "10,wait", "5w" => "5,wait", "高ジャンプ" => "相対[0, 0, 30, wait],ジャンプ", "小J始" => "相対[32, -32, 5, wait]", "小J終" => "相対[32, 32, 5, wait]", "敵小J始" => "相対[-32, -32, 5, wait]", "敵小J終" => "相対[-32, 32, 5, wait]", "高速画面外" => "絶対[-64, @screen_y, 20]", "逃げる画面外" => "絶対[Graphics.width + 64, @screen_y, 10, wait]", "4方向高速回転" => ["向き[左]", 2, "向き[上]", 2, "向き[右]", 2, "向き[下]", 2], } #-------------------------------------------------------------------------- # アクション「条件」の追加項目(上級者向け) # # 条件[設定例] とした 設定例 の部分をハッシュのキーに # スクリプト で記述したスクリプトを用いて条件を追加します # # スクリプトの実行は Game_Battler クラスで行います #-------------------------------------------------------------------------- CONDITION_LIST = { "設定例" => "@name == \"エリック\"" } #-------------------------------------------------------------------------- # ピクチャ操作 # # 基本的にイベントコマンド「ピクチャの表示」「ピクチャの移動」・・・等に準拠します # # ピクチャ名を「バトラー」にすると # データベース「アクター」のメモ欄に <バトラー picture_name> とした # ピクチャを表示します # # 「表示」「移動」「回転」「色調」全てこの項目で設定します #-------------------------------------------------------------------------- PICTURE_PARAMS = { # 番号, ピクチャ名, 原点, x, y, 横拡大, 縦拡大, 不透明度, 合成方法 "エリック立ち絵" => [1, "バトラー", "左上", -300, 0, 50, 50, 255, 0], "アーネスト立ち絵" => [1, "バトラー", "左上", -300, 0, 50, 50, 255, 0], "ブレンダ立ち絵" => [1, "バトラー", "左上", -300, 0, 50, 50, 255, 0], "アリス立ち絵" => [1, "バトラー", "左上", -300, 0, 50, 50, 255, 0], "イザベル立ち絵" => [1, "バトラー", "左上", -300, 0, 50, 50, 255, 0], # 番号, 原点, x, y, 横拡大, 縦拡大, 不透明度, 合成方法, 時間 "立ち絵移動" => [1, "左上", 0, 0, 50, 50, 255, 0, 10], } #-------------------------------------------------------------------------- # アクション対象のステート # # アクション対象のステートです # 追加する場合、以下のステートアクションも設定すること #-------------------------------------------------------------------------- STATE_LIST = ["戦闘不能","毒"] #-------------------------------------------------------------------------- # ステートアクション # # アクション対象のステートにかかった時や # 待機時に実行するキャラクターアクションです # # 通常 :コマンド未入力時の状態です # 通常待機:「攻撃」「防御」「アイテム」時の待機状態です # 魔法待機:スキルタイプ「魔法」時の待機状態です # 特技待機:スキルタイプ「特技」時の待機状態です # # 「○○待機」とすることでスキルタイプに対応した待機状態になります # # 戦闘不能:ステート「戦闘不能」時の待機状態です # 毒 :ステート「毒」時の待機状態です # # 中断 を true にすると、アクション「状態」の後のアクションを中断します # 吹き出しを 1 以上にすると該当する吹き出しが表示されます #-------------------------------------------------------------------------- STATE_ACTIONS = { # キャラクターアクション,中断, 吹き出し "通常" => ["通常時", false, 0], "通常待機" => ["左を向く", false, 0], "魔法待機" => ["左を向く", false, 0], "特技待機" => ["左を向く", false, 0], "防御待機" => ["防御待機", false, 0], "戦闘不能" => ["戦闘不能", true, 0], "毒" => ["左を向く", false, 7], } #-------------------------------------------------------------------------- # 武器アクション # # 武器(アイコン)に対してピクチャアクションを実行します # キャラクターアクションを設定していると、キャラクターアクションを実行します #-------------------------------------------------------------------------- WEAPN_ACTION = { # ピクチャアクション, キャラクターアクション "振り" => ["振り"], "掲げ" => ["掲げ"], } #-------------------------------------------------------------------------- # キャラクターアクション # # アクションには「汎用アクションパラメータ」を設定することが可能です # ループを true にすると、一連のアクション終了後に最初にループします # # ループすると、他のキャラクターアクションで上書きしない限り # ループを続けます # # ピクチャアクションを指定すると、ピクチャアクションを実行します #-------------------------------------------------------------------------- CHARACTER_ACTION = { # アクション, ループ, ピクチャアクション "高速回転l" => ["{4方向高速回転}", true], "左を向く" => [["向き[左]"], false], "防御待機" => [["向き[左]","直立[予約]"], false], "通常時" => [["向き[左]","直立[解除]"], false, "通常"], "戦闘不能" => [["向き[上]","直立"], false, "戦闘不能"], } #-------------------------------------------------------------------------- # ピクチャアクション # # 始 から 終 まで 時間 フレームかけて変化させていきます # 「回転」に限り、終 には 始 から見た回転角度を指定します # -720 としたら、始 の角度から時計回りに720度(2回転)回転します # # 「色調」は配列で [red, green, blue, gray] を指定します # gray は省略可 # # 消去 を true にすると、時間 フレーム後に消えます #-------------------------------------------------------------------------- PICTURE_ACTION = { # 始[x, y, 回転, x拡大, y拡大, 色調, 透明], 終[ x, y, 回転, x拡大, y拡大, 色調, 透明], 時間, 消去 "振り" => [[ 0,-32, -90, 100, 100, nil, 255], [-10, 0, 180, 100, 100, nil, 255], 10, false], "掲げ" => [[ 0,-32, -45, 100, 100, nil, 255], [ 0,-32, 0, 100, 100, nil, 255], 10, false], "戦闘不能" => [[ 0, 0, -90, 100, 100, nil, 255], [ 0, 0, 0, 100, 100, nil, 255], 1, false], "通常" => [[ 0, 0, 0, 100, 100, nil, 255], [ 0, 0, 0, 100, 100, nil, 255], 1, false], } end end