RPG探検隊様のサイドビュースクリプトにおける身代わり挙動について

sub
記事: 1
登録日時: 2018年11月05日(月) 04:33

RPG探検隊様のサイドビュースクリプトにおける身代わり挙動について

投稿記事by sub » 2018年11月05日(月) 04:53

お世話になっております。
当方ではRPG探検隊様のサイドビューバトルスクリプトを導入させて頂いているのですが、「身代わり」特徴を入れた際に意図しない挙動が現れる事についてご質問させて頂きたく存じます。

この身代わり特徴を有するキャラクターは、デフォルトでは瀕死(HPが25%以下)になったキャラクターへの攻撃を自動でかばうと思うのですが、困っている点は以下の2点です。

1.エネミーが混乱・魅了などエネミー側を攻撃する状況である場合、瀕死のエネミーへの攻撃をかばってしまう事がある
具体的には、エネミーA・B・Cが居るとしますと、A・Bが混乱・魅了状態にあり、かつAが瀕死の場合、BからAへの攻撃をかばってしまうという問題です。AがA自身を攻撃する場合も同様に生じます。

2.身代わり特徴を有するキャラクターが混乱・魅了状態である場合、瀕死状態の敵への攻撃をかばってしまう事がある
具体的には、身代わり特徴を有するアクターAが混乱・魅了状態にあり、かつエネミーAが瀕死の場合、エネミーAへの攻撃をかばってしまう事があるという問題です。

他のスクリプトとの競合等も疑いましたが、確認したところサイドビュースクリプト単体でも出現してしまう事があるようです。勿論、当方の設定ミスの可能性が大きいのですが。
素晴らしいスクリプトですのでなんとか活用できればと考えております。対処法をご存知の方がいらっしゃいましたら、ご助力頂ければ幸いです。宜しくお願い申し上げます。

u-kun
記事: 5
登録日時: 2018年4月11日(水) 01:40

Re: RPG探検隊様のサイドビュースクリプトにおける身代わり挙動について

投稿記事by u-kun » 2019年1月03日(木) 15:26

あけましておめでとうございます。
身代わりの判定を以下のように修正すれば一応は解決すると思います。

コード: 全て選択

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ★ 身代わり条件チェック【再定義】
  #--------------------------------------------------------------------------
  def check_substitute(target, item)
    return false if @substitute == nil
    target.hp < target.mhp / 4 && (!item || !item.certain?) && @substitute.actor? == target.actor?
  end
end

ただ、check_substituteはサイドビュースクリプトで変更されていない処理なので、サイドビュースクリプトの影響で身代わりの挙動がおかしくなっている根本的な原因は残ったままかもしれません。
対処療法みたいなものと思っていただければ。

“VX / Ace:質問” へ戻る