#==============================================================================
# 「必要防具タイプ」(ACE) ver1.00 by奈々
#
# ◇使用規約
# 使用される場合はスクリプト作成者として「奈々」を明記して下さい。
# このスクリプトを改変したり、改変したものを配布するなどは自由ですが
# その場合も元のスクリプトの作成者として名前は載せて下さい。
#
#------------------------------------------------------------------------------
#
# スキルのメモ欄に<必要防具タイプ n>と書くことで
# 必要武器と同じようにn番の防具タイプの防具を装備していないと
# 使えないスキルを作成できます。
#
# 武器タイプと一緒に設定した場合、どちらか1つでも装備していれば使えます。
# (武器タイプを2つ設定した場合と同じ仕様です)
#
#==============================================================================
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
# アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors)
# の内部で使用され、Game_Party クラス($game_party)からも参照されます。
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● スキルの必要武器と防具を装備しているか(再定義)
#--------------------------------------------------------------------------
def skill_wtype_ok?(skill)
wtype_id1 = skill.required_wtype_id1
wtype_id2 = skill.required_wtype_id2
atype_id = skill.required_atype_id
return true if wtype_id1 == 0 && wtype_id2 == 0 && atype_id == 0
return true if wtype_id1 > 0 && wtype_equipped?(wtype_id1)
return true if wtype_id2 > 0 && wtype_equipped?(wtype_id2)
return true if atype_id > 0 && atype_equipped?(atype_id)
return false
end
#--------------------------------------------------------------------------
# ● 特定のタイプの防具を装備しているか(新規メソッド)
#--------------------------------------------------------------------------
def atype_equipped?(atype_id)
armors.any? {|armors| armors.atype_id == atype_id }
end
end
class RPG::Skill < RPG::UsableItem
#--------------------------------------------------------------------------
# ☆ 必要防具タイプの定義(追加定義)
#--------------------------------------------------------------------------
def required_atype_id
@note.scan(/<必要防具タイプ\s?(\d+)>/)
return $1.to_i if $1
return 0
end
end