class RPG::Enemy < RPG::BaseItem
def unselectable?
self.note.include?("対象不可")
end
end
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● 選択不可エネミー判定
#--------------------------------------------------------------------------
def unselectable?
enemy.unselectable?
end
end
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :unselectable_enemys # 選択不可指定エネミー判定
#--------------------------------------------------------------------------
# ● セットアップ
#--------------------------------------------------------------------------
alias unselectable_enemy_setup setup
def setup(troop_id)
unselectable_enemy_setup(troop_id)
@unselectable_enemys = []
members.each{|enemy| @unselectable_enemys << enemy.unselectable?}
end
#--------------------------------------------------------------------------
# ● 指定インデックスをターゲットにできるか
#--------------------------------------------------------------------------
def target_selectable?(index)
!@unselectable_enemys[index]
end
#--------------------------------------------------------------------------
# ● 選択不可エネミーを選択可能にする
#--------------------------------------------------------------------------
def selectable_enemy(index = -1)
if index == -1
@unselectable_enemys.map!{false}
else
@unselectable_enemys[index] = false
end
end
#--------------------------------------------------------------------------
# ● 生存しているメンバーの配列取得
#--------------------------------------------------------------------------
def alive_members
if @unselectable_enemys.any?
result = members.select{|member| member.alive? && !member.unselectable?}
if result.size.zero?
selectable_enemy
super
else
result
end
else
super
end
end
end
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 選択不可エネミーを選択可能にする
#--------------------------------------------------------------------------
def selectable_enemy(index = -1)
$game_troop.selectable_enemy(index)
end
end
[/pre]