#===========================================================================
# ◆ 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