#============================================================================== # ■ RGSS3 アクター逃走禁止特徴 Ver1.01 by 星潟 #------------------------------------------------------------------------------ # アクター側の逃げるコマンドを禁止する特徴を追加します。 # この特徴を持つアクターがいる場合、逃走できなくなります。 #============================================================================== # 特徴を持つ項目のメモ欄に設定します。 #============================================================================== # <逃走禁止> # # パーティ全体が逃走できなくなります。 #============================================================================== module EscapeSeal #逃走禁止設定用キーワード Word = "逃走禁止" #逃走禁止判定範囲の設定。 #falseの場合は戦闘メンバーのみ。 #trueの場合は非戦闘メンバーにこの特徴を持つアクターがいても禁止。 RangeType = false end class << BattleManager #-------------------------------------------------------------------------- # 逃走許可の取得 #-------------------------------------------------------------------------- alias can_escape_by_state? can_escape? def can_escape? can_escape_by_state? && !$game_party.escape_seal_feature end end class Game_Party < Game_Unit #-------------------------------------------------------------------------- # 逃走禁止特徴持ちがいるか? #-------------------------------------------------------------------------- def escape_seal_feature a = EscapeSeal::RangeType ? $game_party.all_members : $game_party.members a.any? {|m| m.escape_seal_feature} end end class Game_BattlerBase #-------------------------------------------------------------------------- # 逃走禁止特徴 #-------------------------------------------------------------------------- def escape_seal_feature feature_objects.any? {|f| f.escape_seal_feature} end end class RPG::BaseItem #-------------------------------------------------------------------------- # 逃走禁止特徴 #-------------------------------------------------------------------------- def escape_seal_feature (@escape_seal_feature ||= /<#{EscapeSeal::Word}>/ =~ note ? 1 : 0) == 1 end end